目前,Centos7和Centos8防火墙都已经默认firewall了,来记录下自己用到的一些:
1.基本设置
1.1 防火墙状态
systemctl status firewalld
如果没有启用(有些VPS机默认是不启动的):
1.2开启firewall
systemctl start firewalld
1.3 设置开机默认启动:
systemctl enable firewalld
再次使用命令 systemctl status firewalld 查看状态.
2. 端口配置
2.1 开放端口
2.1.1 以开启22端口为例:
firewall-cmd --zone=public --add-port=22/tcp --permanent
其中–permanent的作用是使设置永久生效,不然重启失效.你可以把端口换成你想要的.
2.1.2 重载一下,以便生效:
firewall-cmd --reload
2.1.3 查看所有打开的端口(其实2.1.3中可以用这个步骤代替)
firewall-cmd --zone=public --list-ports
2.2 关闭端口
2.2.1 依然以22端口为例:
firewall-cmd --zone=public --remove-port=22/tcp --permanent
2.2.2 重新加载:
firewall-cmd --reload
2.2.3 查看所有打开的端口(确认上一步是不是关闭成功)
firewall-cmd --zone=public --list-ports
2.3 批量开关端口
2.3.1 开放2000-3000号端口:
firewall-cmd --zone=public --add-port=2000-3000/tcp --permanent
2.3.2 重新加载:
firewall-cmd --reload
2.3.3 查看所有打开的端口(确认上一步是不是开放成功)
firewall-cmd --zone=public --list-ports
2.4 批量限制端口
2.4.1 批量关闭2000-3000号端口:
firewall-cmd --zone=public --remove-port=2000-3000/tcp --permanent
其他同上
3. IP配置
3.1 禁止IP访问
3.1 .1限制IP地址访问,以80端口为例:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.2" port protocol="tcp" port="80" reject"
3.1.2 重新加载:
firewall-cmd --reload
3.1.3 查看规则是否生效:
firewall-cmd --zone=public --list-rich-rules
3.2 解除Ip访问
3.2.1 解除IP地址访问,以80端口为例:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.2" port protocol="tcp" port="80" accept"
3.2.2 重新加载:
firewall-cmd --reload
3.2.3 查看规则是否生效:
firewall-cmd --zone=public --list-rich-rules
3. 3 批量禁止IP段访问
3.3.1 批量彻底禁止IP段36.99.136.0/24和111.7.100.0/24访问:
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="36.99.136.0/24" reject"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='111.7.100.0/24' reject"
这命令适合那种规模性的扫描集群