动态防火墙后台程序firewalld提供了一个动态管理的防火墙,用以支持网络“zones",以分配对一个网络及其相关链接和界面一定程度的信任。它具备对IPV4和IPv6防火墙设置的支持。它支持以太网桥,并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。系统提供了图像化的配置工具firewall-config、system-config-firewall,提供命令行客户端firewall-cmd,用于配置firewalld永久性或非永久性运行时间的改变;它依次用iptables工具与执行数据包筛选的内核中的Netfilter通信。
firewalld域
网络区名称 | 默认配置 |
---|---|
trusted(信任) | 可接受所有的网络连接 |
home(家庭) | 用于家庭网络,仅接受ssh、mdns、ipp-client、samba-client、或dhcpv6-client服务连接 |
internal(内部) | 用于内部网络,仅接受ssh、mdns、ipp-client、samba-client、或dhcpv6-client服务连接 |
work(工作) | 用于工作区,仅接受ssh、ipp-client、dhcpv6-client服务连接 |
public(公共) | 在公共区域内使用,仅接受ssh、dhcpv6-client服务连接,为firewall的默认区域 |
external(外部) | 出去的ipv4网络连通过此区域伪装和转发,仅接受ssh服务连接 |
dmz(非军事区) | 仅接受ssh服务连接 |
block(限制) | 拒绝所有网络连接 |
drop(丢弃) | 任何接收的网络数据包都被丢弃,没有任何回复 |
防火墙的基础操作命令
查看防火墙状态
查看防火墙开启的域
查看防火墙默认域
查看防火墙的所有域
查看drop域的火墙策略
查看防火墙所有域的火墙策略
查看防火墙所有的服务
改变防火墙默认域为dmz域
恢复防火墙默认域为public。
查看默认域的火墙策略
改变网卡设备所属的域
设置访问黑名单
移出黑名单
添加黑名单,加入drop黑名单,没有任何回应。
移出黑名单
修改火墙重启后消失,去除了http服务,重启后依然在。
永久设置火墙策略
方法一:
因为我们改变的火墙策略并没有改变火墙策略的设置文件 /etc/firewalld/zones/public.xml。我们可以通过编辑文件改变火墙策略
删除文件中http服务的那一行。
重启防火墙http服务没有了。
方法二:
我们可以通过firewall-cmd --permanent命令设置永久火墙策略。
添加规则
ipv4 filter(表) INPUT(列) 1 -p(协议) tcp --dport(目标端口) 80 -s 172.25.254.28 -j(动作) ACCEPT
[root@pxe Desktop]# firewall-cmd --direct --get-all-rules(查看所有规则)
此时只有172.25.55.250可以访问到172.25.55.1,其他都不可以访问。
删除规则
172.25.55.250也不能访问172.25.55.1.
设置sshs访问的白名单规则,先去掉ssh的防火墙策略。
设置172.25.55.250可访问。
172.25.55.250可访问,172.25.55.2不可访问。
设置ssh的黑名单规则,添加上ssh服务所谓火墙策略,添加拒绝172.25.55.250访问的规则。
172.25.55.250的主机不可访问,其他主机可以访问。
DNAT地址转换
访问172.25.55.1主机时转换到172.25.55.2.
添加防火墙策略设置地址转换到172.25.55.2.
访问172.25.55.1的虚拟机,转换到了172.25.55.2
来源转换
我们为做火墙策略的虚拟机再添加一块网卡设置两块网卡的ip为1.1.1.1,子网掩码为24;172.25.55.1(与真机同一网段),子网掩码为24。
设置火墙
设置另一个虚拟机网络设置如下图:
查看网关
可以pin通不是同一网段的主机。
通过ssh服务访问真机(172.25.55.250)
真机查看访问记录是172.25.55.2,访问来源发生了改变