20050422

利用iptables做端口映射

Author:  WinkCategories:  Linux, NetworksNo Comments »
Tags:  , ,

最近想在家调试公司一台机器上的JSP文件并预览到效果。因为那台机器IP为192.168.1.15,JSP端口为8008,公司的Linux服务器内网eth1的IP为192.168.1.1,服务器对外用eth0链接ADSL,即ppp0,并且已经在服务器上做了DDNS,所以需要在服务器上做端口映射。

#iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8008 -j DNAT --to-destination 192.168.1.15:8008

还有一种是利用ppp0,不知道什么区别,待研究

#iptables -t nat -A PREROUTING -i $PPPIF -p tcp --dport 8008 -j DNAT --to-destination 192.168.1.15:8008

其中,$PPPIF代表ppp0,是ADSL拨号成功后的设备名。

上面即将tcp8008端口的包直接转发到IP为192.168.1.15这台电脑的相同端口上。

#iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.1.15 -p tcp -m tcp --dport 881 -j SNAT --to-source 192.168.1.1

返回时数据源来自同一子网,所以将其源地址更改为192.168.1.1,从eth0发出,并在连接跟踪表中查出数据源从ppp0进来的,又由ppp0将此数据发出。

映射udp端口与tcp类似。

之后保存:

#/etc/rc.d/init.d/iptables save
#/etc/rc.d/init.d/iptables restart

同样适合为子网客户机上eMule之类的做端口映射以令其成为HighID。

You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site.

Comments are closed.

Back to Page Top