Linux-系統管理-nat&實現跨網段跨運營商代理

通過防火牆nat表實現內外網的轉發。擴展:通過兩層轉發實現跨網段、跨運營商代理等功能。

邏輯圖:

nat 數據包轉發

實驗環境:

client:外網ip:111.206.12.22
nat:
電信外網入口ip:180.149.157.167
電信內網出口ip:10.127.3.167
網通內網入口ip:10.127.132.24
網通外網出口ip:111.206.12.162
server:外網ip:119.167.157.154


實現效果:

電信client 去訪問 電信外網入口的50011端口,經過nat轉發最後數據包從網通外網出口發向 網通server外網的3733端口
數據包流向:

111.206.12.22 → 180.149.157.167:50011 → 10.127.3.167 → 10.127.132.24 → 111.206.12.162 → 119.167.157.154:3733

具體步驟:

step1:打開電信入口、網通出口 兩臺機器 的內核轉發開關

修改配置文件

vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1     #0爲關閉,1爲打開

sysctl -p     #在線加載

查看打開狀態

[root@BJ-132-10 sysconfig]# sysctl -a | grep ip_forward

net.ipv4.ip_forward = 1

step2:電信入口服務器上:

#設置防火牆nat表
#將訪問 180.149.157.167 的 50000:60000 端口範圍的包轉給目標ip:10.127.132.24
-A PREROUTING -d 180.149.157.167 -p tcp -m tcp -- dport 50000:60000 -j DNAT --to-destination 10.127.132.24
#將要發往10.127.132.24 的包  由此 10.127.3.167ip發出
-A POSTROUTING -d 10.127.132.24 -p tcp -m tcp --dport 50000:60000 -j SNAT --to-source 10.127.3.167
############################
#設置filter表
-A INPUT -p tcp -m tcp -dport 50000:60000 -j ACCEPT
-A OUTPUT -d 10.127.132.24 -p tcp -m tcp -j ACCEPT

加載防火牆,使之生效
iptables-restore < iptables

step3:網通出口服務器上:

#設置防火牆nat表
#將訪問10.127.132.24:50011端口的包轉發到 111.206.12.162:3733
-A PREROUTING -d 10.127.132.24 -p tcp -m tcp --dport 50011 -j DNAT --to-destination 119.167.157.154:3733
#將 發出的tcp包 都由 111.206.12.162 發出
-A POSTROUTING -p tcp -m tcp --dport 3700:3800 -j SNAT --to-source 111.206.12.162
############################
#設置filter
-A INPUT -s 10.127.3.167/32 -p tcp -m tcp -j ACCEPT
-A OUTPUT -d 119.167.0.0/16 -p tcp -m tcp -j ACCPET

加載防火牆,使之生效
iptables-restore < iptables


至此nat就實現了,可以測試一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章