firewall-cmd命令
概念
firewalld 允许交互式修改 netfilter,允许防火墙独立于存储在 XML 中的永久配置而进行改变,所有对防火墙的配置修改都将在下次重载时生效并永久保存,重载命令为:firewall-cmd –reload,firewall中最上层的组织是区域,如果一个数据包经过firewall匹配到区域相关的网络接口或ip,那他就是该区域的一部分。
interface(接口):其是系统中的硬件和虚拟的网络适配器的名字(比如ens33网卡),所有的活动的接口都将被分配到区域,要么是默认的区域,要么是用户指定的一个区域。但是,一个接口不能被分配给多于一个的区域。(理解不了接口,把他换成网卡就好理解了) source(源):其是入站 IP 地址的范围,它也可以被分配到区域。一个源(或重叠的源)不能被分配到多个区域。
基本命令
代码语言:javascript复制systemctl start firewalld.service
systemctl stop firewalld.service
systemctl restart firewalld.service
systemctl status firewalld.service // 查看状态
systemctl enable firewalld.service // 设置开机自启
systemctl disable firewall.service // 关闭开机自启
firewall-cmd --zone=public --add-port=5000/tcp --perment //永久对外开放tcp/5000端口
firewall-cmd --zone=public --add-port=6000/udp --perment //永久对外开放udp/6000端口
firewall-cmd --zone=public --add-service=mysql //对外开放mysql服务端口
firewall-cmd --enable ports=3386/tcp //开放3386端口
firewall-cmd --zone=public --remove-service=http //阻止http端口
firewall-cmd --enable service=ssh //允许ssh服务通过
firewall-cmd --disable service=ssh
firewall-cmd --list-service //查看开放的端口服务
firewall-cmd --list-port //查看开放的端口
firewall-cmd --reload //重载firewall
进阶命令
firewall富规则
其可以定义更加强大的命令,其命令结构为:fiewall-cmd [–permanent] –add-rich-rule=”rich rule”
代码语言:javascript复制# 限制特定IP访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
# 接触刚才IP地址的限制
firewall-cmd --permanent --remove-rich-rule ="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
# 限制整个IP段的访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"
# 查看设置的富规则
firewall-cmd --zone=public --list-rich-rules
.......
防火墙我也是略懂皮毛。还需学习。