28. 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

转载于:https://blog.51cto.com/12995218/2073294

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值