1.检查防火墙状态。首先检查防火墙是否开启。如果没有开启,需要先开启防火墙,makesystemctlstatusfirewalldenable防火墙,setsystemctlstartfirewalldsystemctlenablefirewalld。一般需要重启机器。可能不生效2.开放或限制端口1.开放端口(1)比如我们需要开放XShell连接时需要使用的22端口firewall-cmd--zone=public--add-port=22/tcp--permanent其中--permanent的作用是让设置永久生效。如果不加,机器重启后会失效(2)重新加载防火墙设置,使设置生效firewall-cmd--reload(3)可以通过以下命令查看是否生效firewall-cmd--zone=public--query-port=22/tcp(4)下面命令可以查看当前系统开放的所有端口firewall-cmd--zone=public--list-ports2,限制端口(1)比如,我们现在需要关闭firewall-cmd刚刚开启的22端口--zone=public--remove-port=22/tcp--permanent(2)重新加载防火墙设置,使设置生效firewall-cmd--reload(3)查看系统所有开放的端口,我看到没有22端口firewall-cmd--zone=public--list-ports3,批量开放或限制端口(1)批量开放端口,如asfrom100to500我们必须打开所有端口firewall-cmd--zone=public--add-port=100-500/tcp--permanent(2)重新加载防火墙设置使设置生效firewall-cmd--reload(3)查看系统所有开放的端口,可以看到100到500的端口都已经开放了firewall-cmd--zone=public--list-ports(4)同样,批量限制端口为firewall-cmd--zone=public--remove-port=100-500/tcp--permanentfirewall-cmd--reload3.开启或限制IP1,限制IP地址访问(1)例如限制IP地址192.168.0.200禁止80端口访问,即禁止本机访问firewall-cmd--permanent--add-rich-rule="rulefamily="ipv4"sourceaddress="192.168.0.200"portprotocol="tcp"port="80"reject"(2)重新加载防火墙设置,使设置生效firewall-cmd--reload(3)查看设置Firewall-cmd--zone=public--list-rich-rules2。去掉IP地址限制(1)去掉刚才被限制的192.168.0.200firewall-cmd--permanent--add-rich-rule="rulefamily"="ipv4"sourceaddress="192.168.0.200"portprotocol="tcp"port="80"accept"(2)重新加载防火墙设置,使设置生效firewall-cmd--reload(3)再次查看规则设置发现没有192.168.0.200的限制firewall-cmd--zone=public--list-rich-rules如果设置没有生效,可以尝试直接编辑规则文件,删除原来的设置规则,重新加载防火墙,可以vi/etc/firewalld/zones/public.xml3,限制IP地址段(1)如果我们需要限制10.0.0.0-10.0.0.255整段IP,禁止他们访问firewall-cmd--permanent--add-rich-rule="rulefamily="ipv4"sourceaddress="10.0.0.0/24"portprotocol="tcp"port="80"reject"其中10.0.0.0/24表示从10.0.0.0的IP开始,24表示子网掩码为255.255.255.0,一共包含256个地址,也就是0-255共256个IP,刚好限制了这一整网段的IP地址。具体设置规则请参考下表(2)重新加载防火墙设置,使设置生效wall-cmd--reload(3)查看规则确认是否生效firewall-cmd--zone=public--list-rich-rules(4)同样开启限制为firewall-cmd--permanent--add-rich-rule="rulefamily="ipv4"sourceaddress="10.0.0.0/24"portprotocol="tcp"port="80"accept"firewall-cmd--reload
