#####1.firewalld开启#################
[[email protected] Desktop]# systemctl stop iptables.service
[[email protected] Desktop]# systemctl disable iptables.service
[[email protected] Desktop]# systemctl mask iptables.service
[[email protected] Desktop]# systemctl unmask firewalld.service
[[email protected] Desktop]# systemctl start firewalld
[[email protected] Desktop]# systemctl status firewalld
#####2.关于firewalld的域#################
[[email protected] Desktop]# firewall-cmd --get-zones ##查看所有域
| trusted | 接受所有网络连接 |
| home | 用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client |
| 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 |
#####3.关于firewalld的设定原理及数据存储#################
/etc/firewalld ##火墙配置目录
/lib/firewalld ##火墙模块目录
#####4.关于firewalld的命令#################
[[email protected] Desktop]# firewall-cmd --state ##查看火墙状态
[[email protected] Desktop]# firewall-cmd --get-zones ##查看所有域
[[email protected] Desktop]# firewall-cmd --get-active-zones ##查看火墙中生效的域
[[email protected] Desktop]# firewall-cmd --get-default-zone ##查看默认域
[[email protected] Desktop]# firewall-cmd --list-all ##查看默认域中的火墙策略
[[email protected] Desktop]# firewall-cmd --list-all --zone=work ##查看指定域的火墙策略
[[email protected] ~]# firewall-cmd --set-default-zone=trusted ##设定默认域
[[email protected] ~]# firewall-cmd --get-services ##查看所有可设定的服务
[[email protected] ~]# firewall-cmd --permanent --remove-service=cockpit ##移除服务
[[email protected] ~]# firewall-cmd --reload ##刷新
[[email protected] ~]# firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block ##指定数据来源访问指定域
[[email protected] ~]# firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block ##删除自定域中的数据来源
[[email protected] ~]# firewall-cmd --permanent --remove-interface=ens224 --zone=public ##删除指定域的网络接口
[[email protected] ~]# firewall-cmd --permanent --add-interface=ens224 --zone=block ##添加指定域的网络接口
[[email protected] ~]# firewall-cmd --permanent --change-interface=ens224 --zone=public ##更改网络接口到指定域
#####5.firewalld的高级规则##################
[[email protected] ~]# firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.0/24 -p tcp --dport 22 -j ACCEPT
[[email protected] ~]# firewall-cmd --direct --get-all-rules ##查看高级规则
测试:
[[email protected] Desktop]# ssh [email protected] ##可访问
#####6.firewalld中的NAT##################
SNAT:
[[email protected] ~]# firewall-cmd --permanent --add-masquerade
[[email protected] ~]# firewall-cmd --reload
测试:
[[email protected] Desktop]# ping 192.168.3.110
DNAT:
[[email protected] ~]# firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.120
[[email protected] ~]# firewall-cmd --reload
测试:
[[email protected] ~]# ssh [email protected]