Iptables nat表應用

[toc]shell

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_forwardtcp

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

查看結果:rest

[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機器能夠和外網通訊了,可是咱們還 要設置下DNScode

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

mark

mark

這樣就能夠ping接外網了。這裏A機器至關於路由器,B機器就是手機等設備終端。ip

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 MASQUERADEget

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裏面設置以下:io

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

刪除剛纔因此規則,而後恢復table

mark

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

mark

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

相關文章
相關標籤/搜索