1.Firewalld防火墙(CentOS7默认)
Firewalled:防火墙管理工具,拥有运行时配置与永久配置选项,支持动态更新及"zone"的区域功能概念。
可使用图形化工具firewall-config和文本管理工具firewall-cmd。
firewall服务取代了iptables服务,但iptables命令任然可用。
2.Firewall区域规则
区域:定义网络连接可信度。这是一个一对多的关系:一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接。
区域设置以 ZONE= 选项 存储在网络连接的ifcfg文件中。
如果这个选项缺失或者为空,firewalld 将使用配置的默认区域。在/etc/firewalld/zones下面新增或修改区域。
网络接口可以指定到某个区域,未指定区域的网络接口一律配置到默认区域。
3.firewall命令
1.firewall常用命令
开机自启动:
systemctl start firewalld.service
systemctl enable firewalld.service
重启服务:
#重载firewalld配置文件,不改变当前连接状态
systemctl reload firewalld.service
#重启firewalld服务
systemctl restart firewalld.service
查看服务状态:
#查看firewalld服务状态
systemctl status firewalld.service
2.firewall-cmd字符管理工具
firewall-cmd (命令默认同时对IPv4和IPv6生效)
--zone=XXX 指定命令操作区域(不加默认对默认去操作)
--permanent 命令在firewalld重载后永久生效,(不加此参数命令立刻生效但firewalld重载后失效)
--state
查询防火墙运行状态
--version
查询防火墙版本
--painc-on/off 启动或关闭应急模式,阻断所有连接
--list-all
查询防火墙默认区域配置信息
--list-all-zones | more 查询防火墙所有区域配置信息,且分屏显示
--set-default-zone=public
设置默认区域为public,立刻生效
(修改
/etc/firewalld/firewalld.conf配置文件
重载后生效
)
--add-port=8080/tcp
开启TCP 8080端口
--remove-port=8080/tcp
关闭TCP 8080端口
--add-service=http
开启HTP服务
--remove-service=http
关闭HTTP服务
--query-service=http 查询HTTP允许服务状态
--add-icmp-block=echo-reply
禁止ping
--add-icmp-block=echo-request
--reload
重载防火墙配置,
保持当前连接
--complete-reload
重载防火墙配置,
重置连接
--add-rich-rule='rule family="ipv4/ipv6" source address="IP" service name="service" reject/accept' 新增富规则
伪装(snat)
firewall-cmd --permanent --zone=<区域> --add-masquerade (区域里的私有IP将被映射到本机公有IP)
firewall-cmd --permanent --zone=<区域> --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 masquerade'
端口转发(dnat)
firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口>:proto=<协议>:toport=<目标端口>:toaddr=<目标IP>
(将原本到本主机端口的数据包转换给其他主机的某个端口)
firewall-cmd --perment --zone=<区域> --add-rich='rule family=ipv4 source address=192.168.0.0/24 foreward-port=80 protocol=tcp to-port=8080'(将来自192.168.0网段数据80端口转发给8080端口)