nat表中的dnat snat的使用
- snat
iptables -t nat -A POSTROUTING -o enp6s0 -j SNAT --to-source 172.25.254.33
- dnat
iptables -t nat -A PREROUTING -i enp6s0 -j DNAT --to-dest 170.25.254.22
從enp6s0進來的所有數據都轉給170.25.254.11,即給enp6s0(172.25.254.33)的所有請求,都會發送到170.25.254.11。下面的練習就是真機連接雙網卡主機,但是最後的連接位置卻是單網卡主機
【1】snat練習:內網訪問外網,源地址轉換(要在POSTROUTING)
實驗預計目標:初始狀態下單網卡主機不能訪問外網,但是經過設定後,可以訪問。
設定內容:將單網卡(170)可以通過雙網卡轉換爲可上網的(172)
-
單網卡主機初始狀態
-
在單網卡中添加網關(所添加部分就是雙網卡中與其網段一致的ip)
nmcli connection ~
route -n查看網關
-
rhel8中內核路由功能是開啓的
-
此時
iptables -t nat -A POSTROUTING -o enp6s0 -j SNAT --to-source 172.25.254.33
添加規則,表示所有輸出都是以172.25.254.33輸出
-
此時單網卡主機能成功ping通外網與真機,單網卡170…通過雙網卡的轉換,能夠連接真機172…
使用ssh命令完成單網卡連接真機
【2】dnat練習:目的地地址轉換(要在PREROUTING)
iptables -t nat -A PREROUTING -i enp6s0 -j DNAT --to-dest 170.25.254.22
將所有從enp6s0連接的都轉到170.25.254.22
- 真機連接33,但是真正的連接位置是22。這就是做了目的地地址轉換!