Linux系统中的firewalld火墙管理及优化(firewalld)
Linux系统中的firewalld火墙管理及优化(firewalld)
1.firewalld 的模块化管理及存储方式
(1)火墙配置目录 /etc/firewalld
火墙模块目录 /lib/firewalld
(2)firewalld的一些域
网络区名称 默认配置
trusted(信任) 可接受的所有网络连接
home(家庭) 用于家庭,仅接受ssh,mdns,ipp-client,samba-client,或dhcpv6-client服务连接
internal(内部) 用于内部网络,仅接受ssh,mdns,ipp-client,samba-client,dhcpv6-client服务连接
work(工作) 在公共区域使用,仅接受ssh或dhcpv6-client服务连接,为firewalld的默认区域
public(公共) 在公共区域使用,仅接受ssh或dhcpv6-client服务连接,为firewalld的默认区域
external(外部) 出去的ipv4网络连接通过此区域伪装和转发,仅接受ssh服务连接
dmz(非军事区) 仅接受ssh服务连接
block(限制) 拒绝所有网络
drop(丢弃) 任何接受的网络数据包都被丢弃,没有任何回复
(3)管理方式
火墙配置目录 /etc/firewalld
firewall-cmd --set-default-zone=trusted 修改默认的域
firewall-cmd --permanent --add-service=https 添加可信赖的服务 该操作相当于 在 ./etc/firewalld/zones/public.xml文件中添加 服务
firewall-cmd --get-services 查看服务 这些服务都在/lib/firewall/zones 里面
添加服务
2 .firewalld的基本管理命令
firewall-config ##打开图形管理状态
firewall-cmd --permanent --remove-service=http ##在火墙中去除某允许服务
firewall-cmd --list-all ##查看允许服务
firewall-cmd set-default-zone=trusted ##设置默认域
firewall-cmd --state ##查询服务是否开启
firewall-cmd --get-active-zones ##查看当前所有域
firewall-cmd --get-default-zone ##查看当前默认域
firewall-cmd --get-zones ##查看所有可用域
firewall-cmd --zone=pubic --list-all ##查看pubic域信息
firewall-cmd --get-services ##查看火墙允许的所有服务
firewall-cmd --list-all-zones ##查看所有域的详细信息
firewall-cmd --set-default-zone=dmz ##设置默认域
firewall-cmd --permanent --zone=internal --add-source=172.25.0.0/24
firewall-cmd --permanent --zone=internal --remove-source172.25.0.0/24
firewall-cmd --permanent --zone=internal --add-interface=eth0
firewall-cmd --permanent --zone=internal --change-interface=eth0
firewall-cmd --permanent --zone=internal --remove-interface=eth0
firewall-cmd --permanent --zone=public --add-service=smtp
firewall-cmd --permanent --zone=public --remove-service=smtp
firewall-cmd-zone=public --list-ports
firewall-cmd --permanent --zone=public --add-prot=8080/tcp
firewall-cmd --permanent --zone=public --remove-prot=8080/tcp
firewall-cmd --reload
firewall-cmd --complete-reload
3.firewalld的高级规则参数
firewall-cmd --direct --get-all-rules 查看高级规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.0/24 -p tcp --dport 22 -j ACCEPT
4 .firewall中的NAT
SNAT
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
DNAT
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.30
firewall-cmd --reload