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 里面 

添加服务 

   Linux系统中的firewalld火墙管理及优化(firewalld)

 

Linux系统中的firewalld火墙管理及优化(firewalld)

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
Linux系统中的firewalld火墙管理及优化(firewalld)

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