iptables nat表應用
阿新 • • 發佈:2017-12-01
iptables1.1.準備兩臺虛擬機A和B。
A:兩塊網卡。
網卡ens33:192.168.231.128,可以聯通外網
網卡ens37:192.168.100.1,只可以訪問內網
B:一塊網卡
網卡ens37:192.168.100.100,只可以訪問內網
1.2.打開A機器的網絡轉發功能
[root@test_01 ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@test_01 ~]# echo "1" > !$
echo "1" > /proc/sys/net/ipv4/ip_forward
/proc/sys/net/ipv4/ip_forward文件默認值為0,表示未開啟
1.3.在A機器添加如下iptables規則來通過A轉發流量
[root@test_01 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
1.4.查看規則內容
[root@test_01 ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
11 892 PREROUTING_direct all -- * * 0.0.0.0/0 0.0.0.0/0
11 892 PREROUTING_ZONES_SOURCE all -- * * 0.0.0.0/0 0.0.0.0/0
11 892 PREROUTING_ZONES all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
94 7094 OUTPUT_direct all -- * * 0.0.0.0/0 0.0.0.0/0
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
94 7094 POSTROUTING_direct all -- * * 0.0.0.0/0 0.0.0.0/0
94 7094 POSTROUTING_ZONES_SOURCE all -- * * 0.0.0.0/0 0.0.0.0/0
94 7094 POSTROUTING_ZONES all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 MASQUERADE all -- * ens33 192.168.100.0/24 0.0.0.0/0
1.5.在B及其設置A的IP未默認網關
default add default gw 192.168.100.1
1.6.在B機器上設置DNS服務器
編輯/etc/resolv.conf文件添加dns服務器地址
1.7設置端口轉發規則
[root@test_01 ~]# iptables -t nat -A PREROUTING -d 192.168.231.128 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22 [root@test_01 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.231.128
iptables nat表應用