第一:首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启
systemctl status firewalld #查看防火墙状态 systemctl start firewalld #开启防火墙 systemctl stop firewalld #禁用防火墙
第二:开放端口
firewall-cmd --zone=public --add-port=22/tcp --permanent # 开启22端口 firewall-cmd --zone=public --add-port=80/tcp --permanent # 开启80端口 firewall-cmd --zone=public --add-port=443/tcp --permanent # 开启443端口
其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效
重新载入一下防火墙设置,使设置生效,每一步操作之后都要重新加载一下防火墙
firewall-cmd --reload
如下命令可查看当前系统打开的所有端口
firewall-cmd --zone=public --list-ports
第三:限制端口访问,设置后重新载入一下防火墙设置
firewall-cmd --zone=public --remove-port=22/tcp --permanent #关闭22端口,其它端口都是同理 firewall-cmd --reload
第四:批量限制/开放端口的范围
firewall-cmd --zone=public --add-port=100-200/tcp --permanent #开启100~200的端口访问 firewall-cmd --zone=public --remove-port=100-200/tcp --permanent #限制100~200的端口访问 firewall-cmd --reload #重新加载防火墙 firewall-cmd --zone=public --list-ports #查看端口是否生效
第五:限制ip地址访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="80" reject" # 限制IP访问 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="80" accept" #解除ip访问 firewall-cmd --reload firewall-cmd --zone=public --list-rich-rules #查看规则是否生效
第六:限制ip段访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0/24" port protocol="tcp" port="80" reject" #限制IP段访问 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0/24" port protocol="tcp" port="80" accept" #解除限制 firewall-cmd --reload firewall-cmd --zone=public --list-rich-rules #查看规则是否生效
中192.168.0/24表示为从192.168.0.0这个IP开始,24代表子网掩码为255.255.255.0,共包含256个地址,即从0-255共256个IP,即正好限制了这一整段的IP地址