文章目录
注意:企业7之前的版本是没有firewalld的管理方式的,在企业7之后才有,firewalld的管理方式的很多东西已经模块化的集成好了,操作更加简单,更趋向于windows的管理方式
一.firewalld的开启
1、关闭iptables服务
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
#以防iptables是其他服务的依赖性,那么其他服务在开启时也会开启iptables,用mask锁定后其他服务无法打开
2、打开firewalld
systemctl unmask firewalld
systemctl enable --now firewalld
3、图形管理工具的开启
企业6中:system-config-firewall
企业7、8中:firewall-config
企业8中还有集成好的cockpit:dnf install cockpit
cockpit的使用:在浏览器中直接输入localhost:9090然后登陆即可进入图形界面
进入后的页面如图所示:
二.关于firewalld的域
trusted | 接受所有的网络连接 |
home | 用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client |
work | work ##工作网络 ssh ipp-client dhcp-client |
public | 公共网络 默认支持ssh dhcp-client |
dmz | 军级网络 允许ssh |
block | 拒绝所有 |
drop | 丢弃 所有数据全部丢弃无任何回复 |
internal | 内部网络 允许ssh mdns ipp-client samba-client dhcp-client |
external | ipv4网络地址伪装转发 允许sshd |
libvirt | 不是防火墙的域,而是安装虚拟化以后自动产生的域,允许dncp dncpv6 dns ssh tftp |
三.关于firewalld的设定原理及数据存储
/etc/firewalld #防火墙配置目录
/lib/firewalld #防火墙模块目录
四. firewalld的管理命令
firewall-cmd --state #查看火墙状态
firewall-cmd --get-active-zones #查看当前火墙中生效的域
firewall-cmd --get-default-zone #查看默认域
firewall-cmd --set-default-zone=trusted #设定默认域
firewall-cmd --get-zones #查看所有的域
firewall-cmd --list-all #查看默认域中的火墙策略
firewall-cmd --list-all --zone=work #查看指定域的火墙策略
firewall-cmd --get-services #查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit #移除服务
firewall-cmd --reload #重新加载防火墙策略
firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block
#指定数据来源访问指定域
firewall-cmd --reload
firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block
#删除指定域中的数据源
firewall-cmd --permanent --remove-interface=ens224 --zone=public
#删除指定域的网络接口
firewall-cmd --permanent --add-interface=ens224 --zone=block
#添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens224 --zone=public
#更改网络接口到指定域
一些命令的示例:
五. firewalld的高级规则
高级规则即类似于iptables的管理方式
firewall-cmd --direct --get-all-rules #查看高级规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 192.168.0.111 -p tcp --dport 22 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter INPUT 2 -j REJECT
1、设置路由器规则
2、设置后的效果:
六.firewalld中的NAT
实验环境:三台主机
主机1:双网卡主机(路由器)
ip1:192.168.0.110
ip2:172.25.254.110
主机2:192.168.0.111
主机3:172.25.254.111
SNAT:源地址转换
实验目的:使得内网主机能够通过路由器然后访问外网主机
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
实验过程:
1、设置防火墙规则前:
主机3:172.25.254.111
主机2:192.168.0.111
2、设置路由器规则:
<1> 打开路由转发功能
<2>打开防火墙的地址伪装功能(有时候不用打开地址伪装功能,只要开启路由转发功能,内外网主机就可以相互通信)
3、实验效果
DNAT:目的地址转换
实验目的:使得一台主机在连接路由器的时候自动连接到另一台主机:
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.30
firewall-cmd --reload
1、设置前:
2、设置路由器规则:
3、设置后效果:
结束!!!