Linux中给特定ip段访问特定端口的方式(需要在防火墙开启状态下)
附带:
查看防火墙状态:systemctl status firewalld让防火墙可用:systemctl enable firewalld让防火墙不可用:systemctl disable firewalld开启防火墙:systemctl start firewalld禁用防火墙:systemctl stop firewalld
1、关闭端口(不允许所有ip访问3306端口)
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
2、开放端口给特定ip段允许访问 (允许ip192.168.0.0/24访问3306端口,如果只配置这个192.168.0.0那就是只允许这个ip访问3306端口)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/24" port protocol="tcp" port="3306" accept"
3、重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
4、查看已设置规则
firewall-cmd --zone=public --list-rich-rules
5、删除已设置规则(删除多余的规则)
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.0.0/24" port protocol="tcp" port="3306" accept"
6、重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
解释:
192.168.0.0/24(前面的是ip斜杠和后面的数字是网络掩码)
其中255.255.255.255是IPv4中最大可能的IP地址(/32),
每个255都是由8个二进制表示的,每个二进制位非0即1,
最大值即为11111111,即2⁸=256(0-255)
子掩码:关键在于/24
/24代表掩码(意思为前三位有效):255.255.255.0
11111111 11111111 11111111 00000000
对应上面的十进制