赞
踩
目录
补充:DNAT和SNAT也可以通过firewall-cmd设置
netfilter
位于Linux内核中的包过滤功能体系
称为Linux防火墙的“内核态”
CentOS7默认的管理防火墙规则的工具(Firewalld)
称为Linux防火墙的“用户态”
firewalld | iptables | |
配置文件 | /etc/firewalld/ (优先加载,保存用户自定义的配置) /usr/lib/firewalld/ (默认的初始配置) | /etc/sysconfig/iptables |
对规则的修改 | 不需要全部刷新策略,不中断现有连接 | 立即生效,可能中断现有连接 |
防火墙类型 | 动态防火墙 (在不同区域设置不同规则,可通过更换区域来更改防护策略) | 静态防火墙 (所有规则都是配置在表的链里,只能通过修改规则来更改防护策略) |
trusted(信任区域) | 允许所有的传入流量 |
public(公共区域) | 允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域 |
external(外部区域) | 允许与ssh预定义服务匹配的传入流量其余均拒绝 |
home(家庭区域) | 允许与ssh、mdns、samba-client或dhcpv6-client预定义服务匹配的传入流量,其他均拒绝 |
internal(内部区域) | 默认值与home区域相同 |
work(工作区域) | 允许与ssh、dhcpv6-client预定义服务匹配的传入流量,其他均拒绝 |
dmz(隔离区域也称非军事区域) | 允许与ssh预定义服务匹配的传入流量,其他均拒绝 |
block(限制区域) | 拒绝所有传入流量 |
drop(丢弃区域) | 丢弃所有传入流量,并且不产生包含icmp的错误响应 |
查看当前默认区域
firewall-cmd --get-default-zone
查看当前已激活的区域
firewall-cmd --get-active-zones
查看所有可用的区域
firewall-cmd --get-zones
查看指定区域的规则
firewall-cmd --list-all --zone=区域名
查看指定区域允许访问的服务列表
firewall-cmd --list-services --zone=区域名
查看指定区域允许访问的端口列表
firewall-cmd --list-ports --zone=区域名
查看与网卡绑定的区域
firewall-cmd --get-zone-of-interface=网卡名
查看所有icmp类型
firewall-cmd --get-icmptypes
给指定区域添加绑定的网卡
firewall-cmd --add-interface=网卡名 --zone=区域名
给指定区域添加源地址
firewall-cmd --add-source=源地址 --zone=区域名
给指定区域添加允许访问的服务
firewall-cmd --add-service=服务名 --zone=区域名
给指定区域添加允许访问的服务列表
firewall-cmd --add-service={服务名1,服务名2,...} --zone=区域名
给指定区域添加允许访问的端口
firewall-cmd --add-port=端口/协议 --zone=区域名
给指定区域添加允许访问的连续的端口列表
firewall-cmd --add-port=端口1-端口2/协议 --zone=区域名
给指定区域添加允许访问的不连续的端口
firewall-cmd --add-port={端口1,端口2,...}/协议 --zone=区域名
给指定区域添加拒绝访问的icmp类型
firewall-cmd --add-icmp-block=icmp类型 --zone=区域名
根据服务名删除
firewall-cmd --remove-service=服务名 --zone=区域名
根据端口/协议删除
firewall-cmd --remove-port=端口/协议 --zone=区域名
根据icmp类型删除
firewall-cmd --remove-icmp-block=icmp类型 --zone=区域名
从指定区域里删除绑定的网卡
firewall-cmd --remove-interface=网卡名 --zone=区域名
从指定区域里删除绑定的源地址
firewall-cmd --remove-source=源地址 --zone=区域名
修改当前默认区域
firewall-cmd --set-default-zone
修改/添加网卡 绑定给指定区域
firewall-cmd --change-interface=网卡名 --zone=区域名
修改/添加源地址 绑定给指定区域
firewall-cmd --change-source=源地址 --zone=区域名
- firewall-cmd ....
-
- firewall-cmd --runtime-to-permanent 将之前的运行时配置都转换成永久配置
- firewall-cmd .... --permanent
-
- firewall-cmd --reload 或 systemctl restart firewalld
Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置
- firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A POSTROUTING -s
-
- 192.168.80.0/24 -j SNAT --to-source 12.0.0.1
- firewall-cmd --zone=public --direct --passthrough ipv4 -t nat -A PREROUTING -d 12.0.0.1 -p
-
- tcp --dport 80 -j DNAT --to-destination 192.168.80.11
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。