文章目录
1 firewalld的开启
systemctl stop iptables
停止iptables服务systemctl disable iptables
开机不启动iptablessystemctl mask iptables
冻结iptablessystemctl unmask firewalld
解冻firewalldsystemctl enable --now firewalld
打开firewalld
2.关于firewalld的域
- 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
-
要改变火墙配置,在主配置文件中更改
-
vim /etc/firewalld/zones/public.xml
可通过此文件增加服务,之后reload.
-
火墙模块目录:
/lib/firewalld
4. firewalld的管理命令
firewall-cmd --state ##查看火墙状态
firewall-cmd --get-active-zones ##查看当前火墙中生效的域
firewall-cmd --get-default-zone ##查看默认域
firewall-cmd --list-all ##查看默认域中的火墙策略
firewall-cmd --list-all --zone=work ##查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted ##设定默认域为trusted
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=block ##更改网络接口到指定域
5. 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## 添加规则,允许172.25.254网段的从22端口访问
6.firewalld中的NAT
- SNAT
firewall-cmd --permanent --add-masquerade ##打开地址伪装功能
firewall-cmd --reload
-
双网卡主机充当路由,ip分别为172.25.254.23和192.168.1.33
-
在双网卡主机打开
地址伪装功能
,使单网卡主机172.25.254.20可以访问192.168.1.15 -
DNAT
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.20
firewall-cmd --reload
- 使单网卡主机192.168.1.15可以通过22端口(ssh)访问172.25.254.20