天天看點

通過ssh建立點對點的隧道,實作兩個子網通信

檢視ssh幫助文檔是發現有個-w的參數,說明如下:

可以建立“point-to-point”的隧道,類似于pptp的作用

假設現在有北京和上網兩個組網,内外網IP如下:

通過ssh建立點對點的隧道,實作兩個子網通信

 準備工作:

服務端需要開啟隧道參數(上圖中的上海節點)

登入北京的機器操作:

 TCPKeepAlive ServerAliveInterval 兩個參數是為了保持連接配接,防止網絡抖動是ssh隧道斷掉

-f表示背景運作

-w 10:10 表示兩邊用于隧道通信的網卡名字為 tun10 ,如果0:0,那兩邊網卡就是tun0

注意:不要混淆了Linux下面名為tunl0的預設Tunnel界面,請用 ip addr show 指令檢查。

執行完成這一步之後連邊會同時增加一個tun10名的網卡

此時隧道已經建立,但是兩邊暫時還不能通信,需要制定兩邊網卡的ip和啟動網卡

執行完成上面指令之後 兩邊已經可以互相ping通了,

如果需要兩個子網通信需要指定路由和利用iptables做snat

例如上海通路北京:

 執行完成後在上海的子網 已經可以和北京的子網内其他機器通信了

如果需要北京子網也通路上海子網的話

根據上面修改即可;

ssh 隧道還有個有點就是隻需要服務端有公網IP就行,用戶端不需要有公網IP,隻要可以通路服務端的公網IP即可

繼續閱讀