开启IP转发
首先开启IP转发功能,默认是关闭的。
临时修改:
#echo1>/proc/sys/net/ipv4/ip_forward
修改过后就马上生效,但如果系统重启后则又恢复为默认值0。
永久修改:
vi/etc/sysctl.conf
#找到下面的值并将0改成1
net.ipv4.ip_forward=1
#sysctl–p(使之立即生效)
默认值0是禁止ip转发,修改为1即开启ip转发功能。
配置端口转发
假设用户访问172.16.4.247:728时我想让它转发到172.16.4.97:80:
#iptables-tnat-APREROUTING-ptcp-d113.108.110.61--dport728-jDNAT--to-destination172.16.4.97:80
#iptables-tnat-APOSTROUTING-ptcp-s172.16.4.97--sport80-jSNAT--to-source172.16.4.247
#serviceiptablessave(将当前规则保存到/etc/sysconfig/iptables)
或者,你也可以直接修改/etc/sysconfig/iptables文件:
-APREROUTING-d172.16.4.247/32-ptcp-mtcp--dport728-jDNAT--to-destination172.16.4.97:80
-APOSTROUTING-s172.16.4.97/32-ptcp-mtcp--sport80-jSNAT--to-source172.16.4.247
最后不要忘了开放728端口
-AINPUT-ptcp-mstate--stateNEW-mtcp--dport728-jACCEPT
配置完成后,记得重启防火墙:
#serviceiptablesrestart
本机端口转发
如果只需要在本机间不同的端口转发就比较容易了,比如访问http://ip:729我想返回http://ip:80的内容,配置如下:
[root@localhostsbin]#iptables-tnat-APREROUTING-ptcp--dport729-jREDIRECT--to-ports80
[root@localhostsbin]#serviceiptablessave
[root@localhostsbin]#serviceiptablesrestart