CentOS下開啟配置端口轉發
開啟IP轉發
首先開啟IP轉發功能,默認是關閉的。
臨時修改:
# echo 1 >/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 -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
CentOS下開啟配置端口轉發