天天看點

iptables 端口轉發(單網卡)

pc1 ip:192.168.23.252 

pc2 ip:192.168.23.253 

目的:通路pc1 的web服務跳轉到pc2的web服務上  

實作步驟:

開啟linux 自帶的轉發功能

<code>echo</code> <code>1 &gt; </code><code>/proc/sys/net/ipv4/ip_forward</code>

我這裡使用沒有任何規則的iptables

<code>service iptables stop</code>

<code>iptables -F</code>

<code>iptables -X</code>

<code>iptables -Z</code>

<code>service iptables save</code>

轉發指令

<code>iptables -t nat -A PREROUTING -d 192.168.23.252 -p tcp --dport 80 -j DNAT --to-destination 192.168.23.253:80</code>

<code>#如果進來的route的通路目的位址是192.168.23.252并且通路的目的端口是80,就進行dnat轉換,把目的位址改為192.168.23.253 ,端口還是80</code>

<code> </code> 

<code>iptables -t nat -A POSTROUTING -d 192.168.23.253 -p tcp --dport 80 -j SNAT --to 192.168.23.252</code>

<code>#當FORWARD 出來後,通路的目的位址是192.168.23.253,端口是80的。進行snat位址轉換,把原位址改為192.168.23.252</code>

<code>iptables -A FORWARD -o eth0 -d 192.168.23.253 -p tcp --dport 80 -j ACCEPT</code>

<code>#當從eth0出去的通路目的位址是 192.168.23.253且目的端口是80的route,允許通過</code>

<code>iptables -A FORWARD -i eth0 -s 192.168.23.253 -p tcp --dport 80 -j ACCEPT</code>

<code>#當從eth0進來的原位址是 192.168.23.253且目的端口是80的route,允許通過</code>

<code>儲存規則啟動iptables</code>

<code>service iptables start</code>

通路測試:

沒轉發之前通路pc1 如下圖:

iptables 端口轉發(單網卡)

沒轉發之前通路pc2 如下圖:

iptables 端口轉發(單網卡)

實作端口轉發後通路pc1 如下圖:

iptables 端口轉發(單網卡)

      本文轉自無形于有形  51CTO部落格,原文連結:http://blog.51cto.com/jinchuang/1947052,如需轉載請自行聯系原作者

繼續閱讀