iptables進行DNAT(目標地址轉換)


前言:對於Linux服務器而言,一般服務器不會直接提供公網地址給用戶訪問,服務器在企業防火牆后面,通常只是暴露一個公網給用戶,下面已80端口進行實現。

演示環境:VM

(1)host:

  172.16.100.6(假設是互聯網用戶)

(2)提供公網的服務器netfilter:

  192.168.31.168 80端口暴露給用戶

(3)后端服務器realserver:

  192.168.31.167 8080端口提供服務,nginx作為服務器

 

1、首先我們用我們的宿主機訪問8080,驗證服務是否正常

服務OK;

2、netfilter添加DSAT轉換規則:

iptables -t nat -A PREROUTING -d 192.168.31.168 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.31.167:8080

 3.host訪問192.168.31.168 80端口,驗證是否OK

 

OK,訪問正常。

nginx后端日志可以看到host的訪問記錄:

很簡單的實現了DNAT。

那么我們的宿主機能不能直接訪問192.168.31.168:80呢,答案是不可以,這個可以自己下去思考。

 

總結:防火牆可以實現內部主機對外服務,DNAT:iptables -t nat -A PREROUTING -d 192.168.31.168 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.31.167:8080;

  我們可以稱他為地址映射,端口轉換。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM