背景:

需要调试一段代码,服务器在内网,程序员在外网,防火墙的设置是不允许外网用户访问这台服务器的。不过内网中有一台笔记本可以使用,通过QQ远程协助调试太慢了。

解决方法:

在内网的笔记本中使用putty连接到一台外网的linux服务器做中转,程序员通过这台linux服务器来访问内网中的服务器。

需要的资源:

内外网中的电脑安装putty,在外网需要一台linux服务器并开设一个账号。

操作方法:

1.在内网的笔记本上安装putty,登录外网的linux服务器,打开putty的“修改设置”-》“连接”-》“ssh”-》“通道”。在“增加新的映射端口”下的“源端口”中填写“8080”,“目的地”中填写“192.168.1.100:80”。下面一行选择“远程”,然后点击“增加”。192.168.1.100为内网服务器的IP。这样就把内网中192.168.1.100的80端口映射到了外网服务器的8080端口上。如果还需要映射其它端口可以做相同的操作。

2.在外网的程序员的电脑上安装putty,登录外网的linux服务器,打开putty的“修改设置”-》“连接”-》“ssh”-》“通道”。在“增加新的映射端口”下的“源端口”中填写“1080”,“目的地”留空。下面一行选择“动态”,然后点击“增加”。这样就把内网中外网的1080端口做成了一个代理服务器。在浏览器上增加“外网的linux服务器IP:1080”的代理服务器,通过http://127.0.0.1:8080就可以访问内网服务器的80端口了。也可以直接在外网的linux服务器上通过127.0.0.1:8080来访问。

前提条件:

修改外网的linux服务器SSH配置文件

vim /etc/ssh/sshd_config

AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
ClientAliveCountMax 3
ClientAliveInterval 30

保存配置文件后重启sshd服务即可.

AllowTcpForwarding和GatewayPorts配置就不用介绍了,其他选项比较重要,主要是防超时挂起占住端口,可以根据自己网络环境设置。

TCPKeepAlive:
此选项默认为开(“yes”,发送TCP存活信息),一旦发生断线或客户端崩溃,服务器端就会感知到.这样就可以避免无限期挂起会话的出现.

ClientAliveInterval:
允许超时时间为30秒

ClientAliveCountMax:
允许超时次数为3次

http://www.21andy.com/blog/20100911/1944.html

http://www.freebuf.com/articles/651.html

Published in Linux

One Response to “使用putty在内网中做中转,让外网用户可以访问内网资源”

  1. 十一月 9th, 2013 at 7:07 下午 #les电影

    les电影…

    万能的主啊,告诉我为什么不能回复帖子啊…

Leave a Reply

请输入算式结果(看不清请点击图片)
(必须)