树莓派的内网穿透

家里的宽带没有公网IP,从外面没有办法SSH到树莓派上。如果有公网IP的话,现在一般的路由器都支持端口转发功能,在路由器的管理界面添加一条转发规则即可。

不过有一天,我突然想到了SSH的端口转发功能,其实很简单的一条命令:

简单解释一下,-N表示了不要执行任何命令,-f表示在后台执行,-R 8022:localhost:22表示remote-host.com上将会监听8022端口,并将所有的流量转发到localhost:22端口上来。就是这么简单。

当然了,前提是你要有一台有公网IP的主机,这个就自己想办法搞定吧,比如阿里云什么的。

但是,这个办法有个缺点,树莓派重启了就失效了,可以参考[这个][autosshd],在树莓派上略加修改就能用了,把autosshd脚本放到/etc/init.d下,再执行

autosshd加到自启动项里去。其实这个脚本就是利用了autossh这个工具。

不过我对上面的那个脚本做了些修改,供大家参考:

做了几点改进:

  1. 修改了一下在树莓派上可以跑,但是很多地方还有待改进
  2. 修改了ssh的启动参数,添加了-Cq,可以man ssh自己看
  3. 添加了-o ServerAliveInterval=30 -o ServerAliveCountMax=5,可以自动检测SSH连接可用性

至此

2014年12月15日 | 归档于 Raspberry Pi
  1. bbiao
    2015年12月24日 17:52 | #1

    好久没有来写日志了。

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">