防火墙firewalld查看服务是否开机启动:systemctl is-enabled firewalld.service查看已启动的服务列表:systemctl list-unit-files|grep enabled查看启动失败的服务列表:systemctl --failed查看所有打开的端口: firewall-cmd --zone=public --list-ports更新防火墙规则: firewall-cmd --reload查看版本: firewall-cmd --version查看帮助: firewall-cmd --help显示状态: firewall-cmd --state查看区域信息: firewall-cmd --get-active-zones查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0拒绝所有包:firewall-cmd --panic-on取消拒绝状态: firewall-cmd --panic-off查看是否拒绝: firewall-cmd --query-panic添加端口firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)重新载入:firewall-cmd --reload查看端口:firewall-cmd --zone= public --query-port=80/tcp删除端口:firewall-cmd --zone= public --remove-port=80/tcp --permanentiptables四表:filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理五链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD白名单规则开通本机的22端口、保存规则,重启iptablesiptables -A INPUT -s 192.168.1.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPTNAT转发设置访问本机(192.168.1.7)的8088端口转发到192.168.1.160的80端口iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8088 -j DNAT --to-destination 192.168.1.160:80删除INPUT链的第一条规则:iptables -D INPUT 1拒绝进入防火墙的所有ICMP协议数据包:iptables -I INPUT -p icmp -j REJECT允许防火墙转发除ICMP协议以外的所有数据包:iptables -A FORWARD -p ! icmp -j ACCEPT拒绝转发来自192.168.1.10主机的数据,允许转发来自192.168.0.0/24网段的数据ptables -A FORWARD -s 192.168.1.11 -j REJECT iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT说明:注意一定要把拒绝的放在前面不然就不起作用了!允许本机开放从TCP端口20-1024提供的应用服务iptables -A INPUT -p tcp -m tcp -m state --state NEW --dport 20:1024 -j ACCEPT屏蔽指定的IP地址:iptables -A INPUT -i eth0 -s "$BLOCK_THIS_IP" -j DROP;BLOCK_THIS_IP="x.x.x.x"屏蔽环回(loopback)访问iptables -A INPUT -i lo -j DROP && iptables -A OUTPUT -o lo -j DROP屏蔽来自外部的ping,即禁止外部机器ping本机iptables -A INPUT -p icmp --icmp-type echo-request -j DROPiptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP屏蔽从本机ping外部主机,禁止本机ping外部机器iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROPiptables -A INPUT -p icmp --icmp-type echo-reply -j DROP禁止其他主机ping本机,但是允许本机ping其他主机(禁止别人ping本机,也可以使用echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all)iptables -I INPUT -p icmp --icmp-type echo-request -j DROP iptables -I INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -I INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT禁止转发来自MAC地址为00:0C:29:27:55:3F的和主机的数据包iptables -A FORWARD -m mac --mac-source 00:0c:29:27:55:3F -j DROP允许防火墙本机对外开放TCP端口20、21、25、110以及被动模式FTP端口1250-1280iptables -A INPUT -p tcp -m multiport --dport 20,21,25,110,1250:1280 -j ACCEPT拒绝访问防火墙的新数据包,但允许响应连接或与已有连接相关的数据包iptables -A INPUT -p tcp -m state --state NEW -j DROP iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT说明:“ESTABLISHED”表示已经响应请求或者已经建立连接的数据包,“RELATED”表示与已建立的连接有相关性的,比如FTP数据连接等防止DoS攻击iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT-m limit: 启用limit扩展,限制速度。--limit 25/minute: 允许最多每分钟25个连接--limit-burst 100: 当达到100个连接后,才启用上述25/minute限制--icmp-type 8 表示 Echo request——回显请求(Ping请求)。下面表示本机ping主机192.168.1.109时候的限速设置:iptables -I INPUT -d 192.168.1.109 -p icmp --icmp-type 8 -m limit --limit 3/minute --limit-burst 5 -j ACCEPT