天天看點

CentOS下iptables的端口映射CentOS下iptables的端口映射

CentOS下iptables的端口映射

一、環境與需求

實驗環境

節點的網絡設定如下:

節點 網卡 IP 網絡
Node1 eth0 172.19.104.33 内網
Node1 eth1 6.6.5.5 外網
Node2 eth0 172.19.104.14 内網

需求

我們要實作的功能就是将Node1的8100端口映射到Node2的8000端口,也即外網通路http://6.6.5.5:8100即可通路到PC2上8000端口的WEB服務。

二、實作步驟

以下操作都在Node1上進行操作,部分修改操作可能需要root權限

1、 首先編輯

/etc/sysctl.conf

配置檔案的

net.ipv4.ip_forward = 1

預設是0,再執行

sysctl -p

使其生效

或直接執行

echo  > /proc/sys/net/ipv4/ip_forward
           

2、 執行

iptables -t nat -A PREROUTING -d  -p tcp --dport  -j DNAT --to-destination :
iptables -t nat -A POSTROUTING -d172 -p tcp --dport  -j SNAT --to  
iptables -A FORWARD -o eth0 -d172 -p tcp --dport  -j ACCEPT
iptables -A FORWARD -i eth0 -s  -p tcp --sport  -j ACCEPT
iptables save 
           

注意IP、端口、網卡的配置

或直接修改位置檔案

編輯

/etc/sysconfig/iptables

添加以下内容

以下為參考檔案,根據具體情況進行修改

...

-A PREROUTING -d  -p tcp -m tcp --dport  -j DNAT --to-destination :
-A POSTROUTING -d  -p tcp -m tcp --dport  -j SNAT --to-source 

...

-A FORWARD -o eth0 -d  -p tcp --dport  -j ACCEPT
-A FORWARD -i eth0 -s  -p tcp --dport  -j ACCEPT

...
           

3、重新開機iptables

/etc/init.d/iptables restart  
           

service iptables restart
           

三、測試

現在通路http://6.6.5.5:8100即可通路到Node2上8000端口的WEB服務。

繼續閱讀