有时候机器不支持iptables,只支持firewalld,需要限源ssh端口
先将firewalld设置开机自启
systemctl enable firewalld
启动服务
systemctl start firewalld
检查运行状态
systemctl status firewalld
设置默认拒绝ssh连接
firewall-cmd --permanent --remove-service=ssh
配置限源
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="你的IP/32" port protocol="tcp" port="22" accept'
生效命令
firewall-cmd --reload
查看生效的命令
firewall-cmd --zone=public --list-rich-rules
附录 常用命令:
删除之前的复杂规则
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
手动开放指定端口
firewall-cmd --permanent --add-port=3306/tcp
删除开放的端口
firewall-cmd --permanent --remove-port=3306/tcp
开放指定服务(系统内置的)
firewall-cmd --permanent --add-service=http
删除服务
firewall-cmd --permanent --remove-service=http
添加白名单地址(单IP)
firewall-cmd --permanent --add-source=192.168.1.100
注: 白名单中的IP可以任意访问所有服务器可用的端口 这个白名单的作用不是这样的,有待继续研究
添加白名单地址(指定网络段CIDR格式)
firewall-cmd --permanent --add-source=192.168.1.0/24
删除白名单地址
firewall-cmd --permanent --remove-source=192.168.1.100
屏蔽指定IP地址
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' reject"
屏蔽IP地址段
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"