snat 源位址轉換
源位址轉換是内網位址向外通路時,發起通路的内網ip位址轉換為指定的ip位址(可指定具體的服務以及相應的端口或端口範圍),這可以使内網中使用保留ip位址的主機通路外部網絡,即内網的多部主機可以通過一個有效的公網ip位址通路外部網絡。
步驟如下
- 圖解
- 準備A、B兩台liunx機器并配置好網卡
- A機器做路由器配置源位址轉換,設定兩張網卡ens33,ip 192.168.225.111,使用者上網,ens37,ip192.168.90.1作為lan口連接配接内網機器,圖中均為橋接模式 B機器為内網虛拟機,ip 192.168.90.10,網關為A機器ens37的ip,DNS為114.114.114.114。
- 開啟A機器路由功能
echo 1 >/proc/sys/net/ipv4/ip_forward
- 使用iptables添加snat政策
iptables -t nat -A POSTROUTING -s 192.168.90.0/24 -o ens33 -j MASQUERADE
- 測試B機器是否能上網
[[email protected] shell-script]# ping www.baidu.com
PING www.a.shifen.com (183.232.231.174) 56(84) bytes of data.
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=1 ttl=128 time=23.1 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=2 ttl=128 time=36.7 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=3 ttl=128 time=28.5 ms
^C
dnat 目的位址轉換的
網際網路主機C想通路企業内部的web伺服器A,但A的位址是私有位址,無法直接通路。此時,C可以通路防火牆的公網位址,C的請求資料包(源:ipC,目标:ipB)到達防火牆B後,在B的prerouting上将請求資料包的目标位址進行修改,并将資料包(源:ipC,目标:ipA)發送給A。
步驟如下
- 大緻圖解比snat多加了個客戶機,用來通路私網B機器
- 還是用snat的兩台配置好了的Linux虛拟機器,外加一台Windows,C機器
- 為B機器安裝好nginx,web服務
- 使用iptables 添加一條通路内部B機器的web服務的dnat政策
iptables -t nat -A PREROUTING -i ens33 -d 192.168.225.111 -p tcp --dport 80 -j DNAT --to-destination 192.168.90.10
- 在Windows機器上用浏覽器通路192.168.225.111,就可以映射到B機器的web服務