2018年6月7日 星期四

4G連線裝置的遠端管理

最近碰到一個情況是需要在特定地點放置網路設備,上面建置的服務需要連外,但又無法連接有線網路,看起來比較簡單而且立即可用的方案就是租用4G網路。

上網的問題解決了,但是又冒出其他問題。因為IPv4的IP可用數量不足的關係,4G網路大多是採用Carrier-grade NAT的技術去解決IP不足的問題,但這也代表著無法在遠端主動連入這個4G連網裝置進行管理。

為了解決遠端管理的問題,我最後想到使用SSH Tunnel,讓這些裝置主動開啟逆向SSH Tunnel連線到我的主控端伺服器,那我就可以從主控端伺服器連入這些設備進行管理。

不過之後發現SSH Tunnel建立一段時間之後就會沒有回應,看起來應該是4G不穩定,連線已經中斷,但是主控端的ssh server沒有把連線關閉。因此我在ssh server加上keep alive的設置,每30秒會發送封包給client進行檢查,如果連續三次都無回應就會關閉連線。設置此設定後連線都正常。