[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
删除刚才所以规则,然后恢复
2.恢复规则#iptables-restore < /tmp/ipt.txt
3.为了重启时就加载这些规则 service iptables save //会把规则保存到/etc/sysconfig/iptables
转载于:https://blog.51cto.com/12995218/2073294