1. 程式人生 > >CentOS下開啟配置端口轉發

CentOS下開啟配置端口轉發

text 防火墻 war 防火 nbsp pro local -- NPU

開啟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下開啟配置端口轉發