CentOS下配置連接埠轉寄
開啟IP轉寄
首先開啟IP轉寄功能,預設是關閉的。
臨時修改:
# echo 1 >/proc/sys/net/ipv4/ip_forward
修改過後就馬上生效,但如果系統重啟後則又恢複為預設值0。
永久修改:
vi /etc/sysctl.conf# 找到下面的值並將0改成1net.ipv4.ip_forward = 1# sysctl –p(使之立即生效)
預設值0
是禁止ip轉寄,修改為1
即開啟ip轉寄功能。
配置連接埠轉寄
假設使用者訪問172.16.4.247:728
時我想讓它轉寄到172.16.4.97:80
:
# iptables -t nat -A PREROUTING -p tcp -d 113.108.110.61 --dport 728 -j DNAT --to-destination 172.16.4.97:80# iptables -t nat -A POSTROUTING -p tcp -s 172.16.4.97 --sport 80 -j SNAT --to-source 172.16.4.247# service iptables save(將當前規則儲存到 /etc/sysconfig/iptables)
或者,你也可以直接修改/etc/sysconfig/iptables
檔案:
-A PREROUTING -d 172.16.4.247/32 -p tcp -m tcp --dport 728 -j DNAT --to-destination 172.16.4.97:80-A POSTROUTING -s 172.16.4.97/32 -p tcp -m tcp --sport 80 -j SNAT --to-source 172.16.4.247
最後不要忘了開放728連接埠
-A INPUT -p tcp -m state --state NEW -m tcp --dport 728 -j ACCEPT
配置完成後,記得重啟防火牆:
# service iptables restart
本機連接埠轉寄
如果只需要在本機間不同的連接埠轉寄就比較容易了,比如 訪問http://ip:729我想返回http://ip:80的內容,配置如下:
[root@localhost sbin]# iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80[root@localhost sbin]# service iptables save[root@localhost sbin]# service iptables restart