一、iptables常用命令
#查看已有的防火墙规则链 iptables -L #清空已有的防火墙规则链 iptables -F #把 INPUT 规则链的默认策略设置为拒绝 iptables -P INPUT DROP #向 INPUT 链中添加允许 ICMP 流量进入的策略规则 iptables -I INPUT -p icmp -j ACCEPT #删除 INPUT 规则链中刚刚加入的那条策略 iptables -D INPUT 1 #把默认策略设置为允许 iptables -P INPUT ACCEPT #将 INPUT 规则链设置为只允许指定网段的主机访问本机的 22 端口,拒绝来自其他所有主机的流量 iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j REJECT #向 INPUT 规则链中添加拒绝所有人访问本机 12345 端口的策略规则 iptables -I INPUT -p tcp --dport 12345 -j REJECT iptables -I INPUT -p udp --dport 12345 -j REJECT #向 INPUT 规则链中添加拒绝 192.168.10.5 主机访问本机 80 端口(Web 服务)的策略规则 iptables -I INPUT -p tcp -s 192.168.10.5 --dport 80 -j REJECT #向 INPUT 规则链中添加拒绝所有主机访问本机 1000~1024 端口的策略规则 iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT iptables -A INPUT -p udp --dport 1000:1024 -j REJECT #使得命令再服务器重启后还能生效 service iptables save
二、Firewalld常用命令
#查看 firewalld 服务当前所使用的区域 firewall-cmd --get-default-zone #查询 eno16777728 网卡在 firewalld 服务中的区域: firewall-cmd --get-zone-of-interface=eno16777728 #把 firewalld 服务中 eno16777728 网卡的默认区域修改为 external,并在系统重启后生效。分别查看当前与永久模式下的区域名称 firewall-cmd --permanent --zone=external --change-interface=eno16777728 firewall-cmd --get-zone-of-interface=eno16777728 firewall-cmd --permanent --get-zone-of-interface=eno16777728 #把 firewalld 服务的当前默认区域设置为 public: firewall-cmd --set-default-zone=public #启动/关闭 firewalld 防火墙服务的应急状况模式,阻断一切网络连接 firewall-cmd --panic-on #查询 public 区域是否允许请求 SSH 和 HTTPS 协议的流量: firewall-cmd --zone=public --query-service=ssh firewall-cmd --zone=public --query-service=https #把 firewalld 服务中请求 HTTPS 协议的流量设置为永久允许,并立即生效: firewall-cmd --zone=public --add-service=https firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload #把 firewalld 服务中请求 HTTP 协议的流量设置为永久拒绝,并立即生效: firewall-cmd --permanent --zone=public --remove-service=http firewall-cmd --reload #把在 firewalld 服务中访问 8080 和 8081 端口的流量策略设置为允许,但仅限当前生效: firewall-cmd --zone=public --add-port=8080-8081/tcp firewall-cmd --zone=public --list-ports #把原本访问本机 888 端口的流量转发到 22 端口,要且求当前和长期均有效 firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10 firewall-cmd --reload #拒绝192.168.10.0/24 网段的所有用户访问本机的 ssh 服务( 22 端口) firewall-cmd --permanent --zone=public --add-rich-rule=" rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject" firewall-cmd --reload