您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關OpenWRT如何穿透內網,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
UMU 把路由器放在公司,然后在家里想登陸它,這時候就有一個問題了:如何穿越到公司內網呢?答案就是:撥個 VPN 到公司去……然后本文就完了!
哈,開個玩笑,當然是要說沒有 VPN 用的情況了!
真正的答案是:搞個 SSH 反向連接,然后用 autossh 保護起來。您需要準備一臺有固定外網 IP 的服務器,UMU 使用的是某某云主機(避免廣告嫌疑就不說了,呵,廣告位招租),如果不想出錢購買,可以用家庭 ADSL + 動態域名代替,效果可能差一些,但基本可用。
為了更清晰地說明,列一下各個角色:
1、控制端:UMU 的筆記本,不管在什么網絡,都要求能夠連接到放在公司的路由器;
2、中轉服務器:一臺某某云主機,固定 IP,用 cloud_ip 表示;
3、被控端:放在公司的路由器,內網 IP,用 internal_ip 表示。
基本原理:讓被控端主動連接中轉服務器,然后控制端連接中轉服務器,就可以間接連接被控端了。
被控端安裝、設置,主要參考:http://wiki.openwrt.org/doc/howto/autossh
opkg update opkg install autossh dropbearkey -t rsa -f /etc/dropbear/id_rsa dropbearkey -y -f /etc/dropbear/id_rsa | grep ssh-rsa
把上面最后一行命令的輸出復制下,注意只有一行,待會兒要上傳到中轉服務器。或者也可以把最后一條命令改為打印到文件,再用 WinSCP 下載到本地。
dropbearkey -y -f /etc/dropbear/id_rsa | grep ssh-rsa > /tmp/pubkey
查看一下 autossh 配置:
uci get autossh.@autossh[0].ssh
如果沒有問題,就把中轉服務器的信息設置上去:
uci set autossh.@autossh[0].ssh='-i /etc/dropbear/id_rsa -f -N -T -R 2222:localhost:22 <user>@<cloud_ip>' uci commit
接下來登錄到中轉服務器(Linux Server,如果是 OpenWRT,要把以下的 ~/.ssh/authorized_keys 換成 /etc/dropbear/authorized_keys ),把公鑰(/tmp/pubkey)上傳:
echo "key 內容" >> ~/.ssh/authorized_keys # 或者 #cat pubkey >> ~/.ssh/authorized_keys chmod 0700 ~/.ssh/ chmod 0600 ~/.ssh/authorized_keys vi /etc/ssh/sshd_config # 改為允許證書登錄 service sshd restart
/etc/ssh/sshd_config 需要打開的有:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
GatewayPorts yes
到路由器上測試:
ssh -i /etc/dropbear/id_rsa -f -N -T -R 2222:localhost:22 <user>@<cloud_ip>
如果成功則大功告成,以后只需要 ssh 到中轉服務器的 2222 端口就等于連接到路由器了。最后配合本地端口轉發,可以連接很多內網機器了。如下圖:
再加一臺路由器,用于做本地端口轉發,就可以讓 Surface、iPad 之類的設備也能快樂地穿透到內網了。
關于“OpenWRT如何穿透內網”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。