保障训练-20200827
10.16/10.17/10.18 iptables nat表应用
10.19 iptables规则备份和恢复
一、iptables nat表应用
需求1:B机器联网外网
A机器2块网卡分别是外网和内网,B机器只有内网,可以让B机器联外网
首先做个测试:
步骤1:在虚拟机。A机器添加一个内网网卡,B机器也添加一个内网网卡。网卡模式并设置为LAN区段,自定义名字一样。
按下图:添加网络适配器
默认,完成
按图,新建LAN区段,名称任意
按下图,选择新建的LAN区段
此时,可以看到机器A的新增网卡设置完成
设置B机器的网卡
同样按之前的设置,选择相同LAN区段,目的是保证A、B机器处于同一网段
完成后,下图可以看B机器和A机器处于同一网段
此时查看机器A的网卡
给ens37设置IP,并查看
现在操作机器B
关闭能联网的ens33网卡
同样给ens37设置IP:192.168.100.100
此时机器B,可以与机器A联网
看机器A,也可以和机器B联网
但是此时只是机器A和机器B相连,却不能连接外网
在机器A上设置,打开路由转发
增加规则,并查看(规则的目的是让100.0的网段能够上网)
B机器设置网关
设置DNS,在vi /etc/resolv.conf里添加nameserver:119.29.29.29
从上图,机器B已经可以联网,需求1完成
需求2:C机器连接B机器
C机器只能和A机器通信,让C机器可以直接连通B机器的22端口
分析:
192.168.112.136的端口22端口映射到1122连接B机器的192.168.100.100
B机器的192.168.100.100的端口22,映射为1122的端口,用192.168.112.136连接1122端口,也就是连接192.168.100.100的22端口
首先设置机器A,清除之前设置的规则
增加新的规则,并查看规则
此时需要给B机器设置网关,之前已经设置。若没有设置必须设置,才能联网
新建一个xshell会话,按下图操作
输入机器A的192.168.112.136的登录名和密码
注意:机器A有两个网卡:192.168.112.136和192.168.100.1;192.168.112.136这个一直和主机相连,因此机器A一直可以用xshell远程登录
在nattext100会话中,查看网卡
用W查看系统负载,可以看到源来自192.168.112.1就是C机器
这说明,机器C:192.168.112.1已经和机器B:192.168.100.100相连。机器C和机器A能够通信,而通过机器A来连接机器B的映射端口1122,达到了C和B通信,而且机器B也通过映射端口1122,能够连接外网
二、iptables规则备份和恢复
设定的防火墙规则只保存在内存中,并没有保存到某个文件中。也就是说,当系统重启后以前设定的规则就没有了,所以设定好的规则后要先保存一下
第一步,先清除nat表的所有规则,并查看
第二步,给nat表写入2条规则,并查看
第三步,用service iptables save保存规则,并查看配置文件“/etc/sysconfig/iptables”是否已经保存
第四步,用命令:iptables-save>备份文件 备份配置文件
第五步,清除nat表规则,并查看nat表规则
第六步,恢复备份文件,命令:iptables-restore<备份文件