[toc]
iptables nat表應用
10.16~10.18 iptables nat表應用
A機器兩塊網卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外網,ens37僅僅是內部網絡,B機器只有ens37(192.168.100.100),和A機器ens37可以通信互聯。 以下是設置過程:
- 在01機器上給添加的ens37網卡添加IP,
[root@localhost ~]# ifconfig ens37 192.168.100.1/24
- 對02機器同樣新建一塊網卡,並設置爲啓動連接,選擇通用的LAN區段
- 在02機器上給添加的ens37網卡添加IP,
[root@localhost ~]# ifconfig ens37 192.168.100.100/24
- 開始是不成功的,用ifconfig查看時ens37自己數據丟失了,重新定義一下後可以ping通了
需求1:可以讓B機器連接外網A機器上打開路由轉發
echo "1">/proc/sys/net/ipv4/ip_forward
1.A上執行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
0 //默認的是0
[root@localhost ~]# echo "1">/proc/sys/net/ipv4/ip_forward
[root@localhost ~]# !cat
cat /proc/sys/net/ipv4/ip_forward
1
查看結果:
[root@localhost ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
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
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * ens33 192.168.100.0/24 0.0.0.0/0
2. B上設置網關爲192.168.100.1
這樣意味着002機器可以和外網通信了,但是我們還 要設置下DNS
3.設置DNS vi /etc/resolv.conf
這樣就可以ping接外網了。這裏A機器相當於路由器,B機器就是手機等設備終端。
需求2:C機器只能和A通信,讓C機器可以直接連通B機器的22端口
A上打開路由轉發echo "1">/ proc/sys/net/ipv4/ip_forward
A上執行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22//對進入的包進行端口轉發
A上執行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
B上設置網關爲192.168.100.1
echo "1">/ proc/sys/net/ipv4/ip_forward
這個步驟和需求1一致,先cat查看下,然後決定是否修改
執行前要把之前的iptable內容刪除,iptables -t nat -F
iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
[root@localhost ~]# iptables -t nat -A PREROUTING -d 192.168.72.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.72.130
設置DNS, vi /etc/resolv.conf
在X-shell裏面設置如下:
這裏通過192.168.72.130把這個機器ping通外網了,機器002的網卡ens37通過001主機做的映射完成了網絡連接。
10.19 iptables規則的備份和恢復
1.#iptables-save > /tmp/ipt.txt
刪除剛纔所以規則,然後恢復