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

相关文章
相关标签/搜索