一、图形界面管理防火墙
1、firewall-config & 打开图形界面
2、更改模式
runtime 更改完立即生效
permanent 永久更改
永久更改需要重新reload firewalld
3、zones网络区域
drop(丢弃):默认丢弃所有包,无回复
block(限制):拒绝所有外部连接
public(公共):指定外部连接可以进入
external(外部):出去的ipv4网络链接通过此区域伪装和转发,仅接受ssh服务链接
dmz(非军事区):仅接受ssh服务链接
work(工作区):工作区,概念和workgoup一样,仅接受ssh、ipp-client、或dhcpv6-client服务链接
home(家庭):用于家庭网络,仅接受ssh、mdns、ipp-client、或dhcpv6-client服务链接
trusted(信任):可接受所有连接
internal(内部):用于内部网络,仅接受ssh、mdns、ipp-client、samba-client或dhcpv6-client
可以手动添加火墙允许的服务,并且更改服务的端口(一般不建议)
5、网络区域和服务存在的目录
/usr/lib/firewalld/zones
/usr/lib/firewalld/services
服务名称可以手动修改文件名修改(不建议)
6、修改防火墙策略的文件
文件存在目录:/etc/firewalld/
vim /etc/firewalld/zones/public.xml
可通过修改配置文件添加服务或者改变服务端口,如上
二、命令管理防火墙
systemctl start firewalld 开启
systemctl enabled frewalld 开机自启
systemctl disable firewalld 禁用
firewall-cmd --state
systemctl status firewalld 查看防火墙状态
firewall-cmd --get-zones 查看所有网络区域
firewall-cmd --get-active-zones 查看正在使用的网络区域
firewall-cmd --get-default-zones 查看默认使用的网络区域
firewall-cmd --zone=public --list-all 查看public区域的详情
firewall-cmd --get-services 列出所有服务名称
firewall-cmd --list-all-zones 查看所有区域的详情
firewall-cmd --set-default-zone=public 设置默认网络区域为public
firewall-cmd --permanent --add-service=http 防火墙的默认区域添加服务
firewall-cmd --remove-service=http 删除服务
--permanent 表示永久,需要重启防火墙生效
firewall-cmd --add-port=8080/tcp 默认区域内添加tcp端口8080
测试:
vim /etc/httpd/conf/httpd.conf
改变http服务端口为8080
打开火狐远程测试结果:
添加某个ip到指定网络区区域,该ip就可以享受被允许的服务
firewall-cmd --add-source=172.25.254.100 --zone=trusted
虚拟机添加一块网卡eth1 修改ip与eth0 不在同一网段
firewall-cmd --change-interface=eth1 --zone=dmz 改变eth1到区域dmz
firewall-cmd reload
firewall-cmd --list-all
打开firefox测试:
172.25.254.100通
172.25.68.68 不通
firewall-cmd --reload 不中断当前链接
firewall-cmd --complete-reload
中断当前所有链接
eg:
真机链接虚拟机虚拟机添加真机ip为黑名单(block)
reload
真机链接中断
地址转换
firewall-cmd --add-masquerade --zone=public
firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.200