目前有一个 10 台机器的小网,只有其中一台机器能够通过外网访问,其它机器需要先 ssh 到外网机器,然后再 ssh 一下,才能访问到,很麻烦,一些 scp 之类的软件也没法使用。之前,我一直是用 secure crt 端口转发来做的,也算方便,缺点就是一直要开一个 secure crt 窗口,还不能断,否则就全断开了。
后来同事告诉了我一个办法,叫 iptables,利用这台外网机器自己来进行转发,试了一下,的确要更方便一些。
iptables 本身是用来做 linux 防火墙的,还有一些转发功能。
配置起来比较方便。iptables 的配置文件是放在 /etc/sysconfig/iptables 下面的,缺省是没有这个文件的,需要先执行
外网机器:
外网 ip: 202.118.1.125
内网 ip: 111.111.111.111
端口: 8112
内网机器:
ip: 111.111.111.112
命令:
iptables -t nat -A PREROUTING -d 202.118.1.125 -p tcp --dport 8112 -j DNAT --to-destination 111.111.111.112:22
iptables -t nat -A POSTROUTING -d 111.111.111.112 -p tcp --dport 22 -j SNAT --to 111.111.111.111
iptables -A FORWARD -o eth0 -d 111.111.111.112 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i eth0 -s 111.111.111.112 -p tcp --sport 22 -j ACCEPT
然后再 iptables-save 这个文件就出来了。
通过 service iptables restart 就可以启动 iptables 服务。
奇怪的是 111.111.111.111 这台机器并没有 listen 8112 的端口,但你只要 ssh 202.118.1.125 8112,就真的能够连到 111.111.111.112 这台机器上,算是留下一个疑问吧。
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
posted on 2012-01-29 16:04
哈哈的日子 阅读(1409)
评论(0) 编辑 收藏