跟 UMU 一起玩 OpenWRT(入门篇10):穿透内网

UMU 把路由器放在公司,然后在家里想登陆它,这时候就有一个问题:如何穿越到公司内网呢?本文给出的一种解决方案:SSH 反向连接。涉及的软件是 autossh。

您需要准备一台有固定外网 IP 的服务器,UMU 使用的是某某云主机(避免广告嫌疑就不说了,呵,广告位招租),如果不想出钱购买,可以用家庭 ADSL + 动态域名代替,效果可能差一些,但基本可用。

为了更清晰地说明,列一下各个角色:

  1. 控制端:UMU 的笔记本,不管在什么网络,都要求能够连接到放在公司的路由器;

  2. 中转服务器:一台某某云主机,固定 IP,用 cloud_ip 表示;

  3. 被控端:放在公司的路由器,内网 IP,用 internal_ip 表示。

基本原理:让被控端主动连接中转服务器,然后控制端连接中转服务器,就可以间接连接被控端了。

被控端安装、设置,主要参考:http://wiki.openwrt.org/doc/howto/autossh

1
2
3
4
opkg update
opkg install autossh
dropbearkey -t rsa -f /etc/dropbear/id_rsa
dropbearkey -y -f /etc/dropbear/id_rsa | grep ssh-rsa

把上面最后一行命令的输出复制下,注意只有一行,待会儿要上传到中转服务器。或者也可以把最后一条命令改为打印到文件,再用 WinSCP 下载到本地。

1
dropbearkey -y -f /etc/dropbear/id_rsa | grep ssh-rsa > /tmp/pubkey

查看一下 autossh 配置:

1
uci get autossh.@autossh[0].ssh

如果没有问题,就把中转服务器的信息设置上去:

1
2
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)上传:

1
2
3
4
5
6
7
8
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 需要打开的有:

1
2
3
4
5
6
7
RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

GatewayPorts yes

到路由器上测试:

1
ssh -i /etc/dropbear/id_rsa -f -N -T -R 2222:localhost:22 <user>@<cloud_ip>

如果成功则大功告成,以后只需要 ssh 到中转服务器的 2222 端口就等于连接到路由器了。最后配合本地端口转发,可以连接很多内网机器了。如下图:

Putty

再加一台路由器,用于做本地端口转发,就可以让 Surface、iPad 之类的设备也能快乐地穿透到内网了。

公司组织旅游,是到女同事A的家乡一带,所以她说可以带我们自助游,住宿也可以自己安排,稣想是两男一女应该不会被误会,咳咳,稣可不能接受那啥…而且他们俩比较熟,但都不是单身,稣是打酱油的,他们都可以,稣也就同意了。

刚到就天黑了,直接去住宿,尼玛…是一个大房里有小房间,看起来是民宅,所以比较便宜,男同事B习惯早睡,居然直接倒头便睡…稣撸撸手机,熬一下睡,结果听见A大叫有鬼啊!然后吓跑逃出…

稣和B都起来了,表示鬼你妹啊,玩我们?B说无聊,继续睡了!好淡定,哈哈!

然后稣,见A好久都不回来,电话也不通,开始担心,就去大厅找工作人员帮忙,工作人员说可能两个女生出去逛街了吧!然后稣一惊,什么两个女生…一看住房登记才知道我们是两男两女入住,还有一个女同事C…吓屎了,稣給她打电话,铃声从床底传来,啊…原来她被A杀了,然后立刻变鬼来报复A,嗯,好合理的剧情,反正不是稣干的,稣就安心地睡了。第二天醒来,才知道,只是一个梦…

如意云使用经验

优点

玩了好多个路由器,有传统,有所谓智能,还是比较赞赏如意云,相反的,之前已经吐槽过小米和圾路由。下面就来说说如意云的好处吧!

  1. 生态完善,支持的移动设备多,连 WP8/8.1 都支持了,UMU 主要手机是 Lumia 822,这个很满足,还有 PC 客户端,方便 PC 和移动设备之间同步数据。插件齐全,虽然很多插件没具体玩过,但至少看数量是不输圾路由的。

  2. 很好滴继承 OpenWRT 的开放性,天生 root 了,或者专业点说,SSH 服务没关闭,直接连,省去很多烦恼,用小米或圾路由,老是怕一升级就要重新 root,好讨厌的感觉……还可以刷 PandoraBox:http://downloads.openwrt.org.cn/PandoraBox/RY-1/

  3. 性价比不错,RY-01 才 81 元,从配置、功能、稳定性来比,差不多价位的传统路由完全不必考虑了。虽说运行内存和外壳材料方面不如圾 1S,但 USB 接口带来不少扩展性是圾 1S 没有的,而且 1S 要 109 元。

  4. 观其高配版 RY-02 配置也不落人后,后劲十足。

    这不是广告:要买的话,千万不要去迅雷商城,那边是 99 元,苏宁还是 81 元。

槽点

  1. 很丑……一股廉价感,还真是对得起价格;

  2. 如意云的 WiFi 密码不能用,.#&等特殊字符,好撒币的做法……

  3. WiFi 信号不如极路由 1S,虽然差距不大,但 UMU 还是通过实测数据挖掘出这个真相。