文档章节

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

UMU
 UMU
发布于 2014/07/27 00:45
字数 695
阅读 9341
收藏 7

  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 之类的设备也能快乐地穿透到内网了。

© 著作权归作者所有

UMU

UMU

粉丝 119
博文 112
码字总数 44043
作品 0
厦门
程序员
私信 提问
加载中

评论(2)

UMU
UMU 博主

引用来自“情缘0o0”的评论

学习了,不过另外一种方法更简单,而且操作起来方便傻瓜,关键字:n2n

谢谢告知
情缘0o0
情缘0o0
学习了,不过另外一种方法更简单,而且操作起来方便傻瓜,关键字:n2n
跟 UMU 一起玩 OpenWRT(入门篇8):网络摄像机

  买了一个微软 LifeCam HD-3000,已经过了视频聊天的年纪,插到 DIR-505 玩一下吧。   安装过程出奇简单: opkg updateopkg install kmod-video-uvc   如果安装失败,看看是不是固件应...

UMU
2014/07/14
1K
0
跟 UMU 一起玩 OpenWRT(入门篇1):硬件选型和刷机

看了《跟hoowa学做智能路由》系列,http://www.leiphone.com/diy-a-smart-router.html,也想写点自己的经验,大家可以先看 hoowa 童鞋的,他已经写得很好了,UMU 的不同观点是硬件的选择而已...

UMU
2014/05/24
10K
4
跟 UMU 一起玩 OpenWRT(高级篇1):编译不死 U-Boot

UMU 2010 年初就玩 OpenWRT/DD-WRT 了,蛋似编译东西还是初学者,本文纯属蛋疼的过程,欢迎批评教育,谢谢…… 首先到 https://github.com/pepe2k/u-bootmod 看明白作者的说明。这里简单说一...

UMU
2014/05/21
8.4K
1
跟 UMU 一起玩 OpenWRT(入门篇9):远程监听

  在《跟 UMU 一起玩 OpenWRT(入门篇8):网络摄像机》介绍的 mjpg_streamer 并不能传输声音,所以有了本文,主要参考:http://forum.anywlan.com/thread-282658-1-1.html,硬件还是选用微...

UMU
2014/07/21
2.4K
0
跟 UMU 一起玩 OpenWRT(高级篇2):不拆机刷不死 U-Boot

在上一篇《编译 D-Link DIR-505 的不死 U-Boot》介绍了如何编译不死 U-Boot,但是不死 U-Boot 的作者只介绍了用 TTL 线刷方法,UMU 可不想拆机,毕竟拆机感觉并不好…… 第一个思路是刷上 DD...

UMU
2014/05/23
8.7K
3

没有更多内容

加载失败,请刷新页面

加载更多

使用CSS自定义属性构建骨架屏

写在前面 几天前看到薄荷前端团队分享的《前端骨架屏方案小结》,突然回想起一年前看到的max bock写的《Building Skeleton Screens with CSS Custom Properties》,翻译整理写下出此文,分享...

前端老手
昨天
9
0
Docker常用命令小记

除了基本的<font color="blue">docker pull</font>、<font color="blue">docker image</font>、<font color="blue">docker ps</font>,还有一些命令及参数也很重要,在此记录下来避免遗忘。 ......

程序员欣宸
昨天
9
0
MAT使用-jvm内存溢出问题分析定位

1.MAT简介: MAT 全称 Eclipse Memory Analysis Tools 是一个分析 Java堆数据的专业工具,可以计算出内存中对象的实例数量、占用空间大小、引用关系等,看看是谁阻止了垃圾收集器的回收工作,...

xiaomin0322
昨天
5
0
内网和外网之间的通信(端口映射原理)

首先解释一下“内网”与“外网”的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的...

Jack088
昨天
6
0
3.深入jvm内核-原理、诊断与优化-4. GC算法和种类

一、GC算法和种类 GC的概念 GC算法 引用计数法 标记清除 标记压缩 复制算法 可触及性 Stop-The-World GC的对象是堆空间和永久区 引用计数法 老牌垃圾回收算法 通过引用计算来回收垃圾 使用者...

hexiaoming123
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部