Iptables nat表應用 原

[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可以通信互聯。 以下是設置過程:

mark

mark

mark

  • 在01機器上給添加的ens37網卡添加IP,
[root@localhost ~]# ifconfig ens37 192.168.100.1/24

mark

mark

  • 對02機器同樣新建一塊網卡,並設置爲啓動連接,選擇通用的LAN區段

mark

mark

  • 在02機器上給添加的ens37網卡添加IP,
[root@localhost ~]# ifconfig ens37 192.168.100.100/24

mark

  • 開始是不成功的,用ifconfig查看時ens37自己數據丟失了,重新定義一下後可以ping通了 mark

mark

需求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

mark

這樣意味着002機器可以和外網通信了,但是我們還 要設置下DNS

3.設置DNS vi /etc/resolv.conf

mark

mark

這樣就可以ping接外網了。這裏A機器相當於路由器,B機器就是手機等設備終端。

mark

需求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

mark

[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

mark

設置DNS, vi /etc/resolv.conf

mark

mark

在X-shell裏面設置如下:

mark

mark

mark

mark

mark

mark

這裏通過192.168.72.130把這個機器ping通外網了,機器002的網卡ens37通過001主機做的映射完成了網絡連接。

mark

10.19 iptables規則的備份和恢復

1.#iptables-save > /tmp/ipt.txt

mark

刪除剛纔所以規則,然後恢復

mark

2.恢復規則#iptables-restore < /tmp/ipt.txt

mark

3.爲了重啓時就加載這些規則 service iptables save //會把規則保存到/etc/sysconfig/iptables

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章