一、实验准备
1、我们需要两台虚拟机westosa、westosb
2、虚拟主机westosa添加一块网卡配置双网卡主机westosa,设置其网络分别处于172.25.254、1.1.1两个不同的网段,使得172.25.254.173(能够和真实主机进行通信);172.25.168.173(能够和westosb进行通信)
3、配置单网卡虚拟主机westosb,设置其网络处于真机id网段:1.1.1.174,设置其网关为westosa网络172.25.254.173,此时westosb能够和westosa进行通信,但不能和真实主机进行通信
二、火墙管理工具firewalld—>iptables的切换
在rhel8版本的Linux系统中默认使用的火墙管理工具是firewalld,如果我们需要使用iptables来管理火墙,需要进行如下操作:
1)在westosa中从软件仓库中安装火墙管理软件iptables-services
dnf install iptables-services -y
2)关闭并冻结(mask)firewalld服务,开启iptables服务,同理,在进行火墙管理工具firewalld的切换时,我们需要关闭并冻结iptables服务,解锁(unmask)后开启firewalld服务
systemctl stop firewalld #停止
systemctl disable firewalld #禁用
systemctl mask firewalld #关闭并冻结
systemctl enable --now iptables #开启iptables
在进行iptables/firewalld切换时,需要使用mask来对服务进行冻结,是为了防止在开机启动时,有与之相依赖的程序将其启动
三、iptables 的使用
火墙策略一般保存在iptables 策略记录文件 /etc/sysconfig/iptables中,我们可以通过两种方式永久保存策略:
方法1
iptales-save > /etc/sysconfig/iptables
在westosa中使用-F参数清空filter表后,重启iptables服务可以重新看到表中数据,在清空后iptables-save将当前表中策略输出保存在 /etc/sysconfig/iptables中,重启服务后将不会再看到表中数据
方法2
service iptables save
查看iptables 策略记录文件,此时可以看到文件中记录有默认策略,使用-F参数清空filter表后,service iptables save命令将当前表中策略保存在 /etc/sysconfig/iptables中,再次查看该文件可以看到文件中无内容
四、iptables命令常用参数
-t ##指定表名称
-n ##不做解析
-L ##查看
-A ##添加策略
-p ##指定协议
--dport ##指定目的地端口
-s ##指定来源
-j ##指定动作
ACCEPT ##允许
DROP ##丢弃
REJECT ##拒绝
SNAT ##源地址转换
DNAT ##目的地地址转换
-F ##清空表中策略
-N ##新建链
-E ##更改链名称
-X ##删除链
-D ##删除规则
-I ##插入规则
-R ##更改规则
-P ##更改默认规则