防火墙
iptables firewalld过滤数据包默认策略:拒绝所有数据包从入口方向进入内核态 netfilter用户态 iptables firewalldcentos7: yum -y install iptables iptables-services iptables-devel 清空防火墙规则 iptables -F清空规则计数 iptables -Z删除自定义链:不能有关联 不能有规则 iptables -X 自定义链名语法 iptables -t 表名 动作 链名 匹配条件 -j 目标动作 (默认不指定表名的情况下是filter表) 四表五链 表名: raw 数据包跟踪 mangle 标记数据包 nat 网络地址转换 filter 数据包过滤 读表顺序:按上面的顺序从上到下 链名: PREROUTING 路由之前 INPUT 数据包流入 FORWARD 数据包经过 OUTPUT 数据包流出 POSTROUTING 路由之后 raw: PREROUTING 路由之前 INPUT 数据包流出 mangle: PREROUTING 路由之前 INPUT 数据包流入 FORWARD 数据包经过 OUTPUT 数据包流出 POSTROUTING 路由之后 filter: INPUT 数据包流入 FORWARD 数据包经过 OUTPUT 数据包流出 实例: -A 追加规则 (在最后加入) iptables -t filter -A INPUT -p icmp -j REJECT -L 列出规则 -n 以数字的形式显示协议和主机 --line 显示规则行号 --line-numbers的另外一种写法 -t 可以跟不同的表 -v verbose 重点是数据包的统计(计数)信息 #iptables -nL --line-numbers -t nat -v #iptables -nL INPUT 1 -v -R 修改规则 #iptables -R INPUT 1 -p tcp -j REJECT //链后面必须跟上数字,指定修改第几个规则 -D 删除规则 #iptables -D INPUT 1 //链后面必须跟上数字,指定删除第几个规则 -I 插入规则 # iptables -I INPUT -p tcp --dport 23 -j DROP //--dport指定目标端口 # iptables -I INPUT 2 -p tcp --dport 23 -j DROP 创建自定义链 iptables -N 链名 (链名自定义) #iptables -N wing 修改自定义链名称 iptables -E 旧链名 新链名 iptables -E wing WING 添加规则到自定义链 iptables -A 链名 动作 #iptables -A WING -p icmp -j DROP //DROP同REJECT 关联自定义链 iptables -A 自带链名 -j 自定义链名 #iptables -A INPUT -j WING 删除自定义链:不能有关联和规则 //如果有关联和规则,先清空 企业环境:我们内网 互联网
高安全区域 防火墙 低安全区域进来的数据包默认全部拒绝,只放行你想接收的包
修改默认策略:只能写DROP或者ACCEPT
iptables -P 链名 策略 #iptables -P INPUT DROP 查看规则:显示形式与-L不同 #iptables -S INPUT #iptables -A INPUT -p tcp --dport 80 -j ACCEPT #iptables -A INPUT -p tcp --sport 80 -j ACCEPT #iptables -A INPUT -p tcp --dport 22 -j ACCEPT 匹配条件协议: -p tcp -p udp -p icmp端口:必须和协议一起写 --dport 目标端口 --sport 源端口 #iptables -A INPUT -p tcp --dport 80 -j DROP 端口范围匹配: --sport 源端口1:源端口2 --dport 目标端口1:目标端口2 多端口匹配: -m multiport --dports 23,80,3306 -m multiport --sports 23,80,3306 #iptables -A INPUT -p tcp -m multiport --dports 23,80,3306 -j DROP IP -s 源ip1,源ip2,... -d 目标ip ip地址范围: -m iprange --src-range 192.168.1.8-192.168.1.29 -m iprange --dst-range 192.168.1.8-192.168.1.29 //范围自己指定 #iptables -A INPUT -p tcp --dport 80 -m iprange --src-range 192.168.1.8-192.168.1.29 -j DROP mac #iptables -A INPUT -p tcp -m mac --mac-source 00:0c:29:22:eb:ff -j DROP 测试forward 1.8------------->1.2--路由--3.2-------->3.8 echo 1 > /proc/sys/net/ipv4/ip_forward //开启路由转发 目标动作: DROP REJECT ACCEPT LOG 网关10.0.1.3 10.0.2.2 10.0.1.2 ---->10.0.1.3/10.0.2.2------->10.0.2.3 SNAT 修改源ip地址 #iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 202.106.18.8 DNAT 修改目标ip地址 #iptables -t nat -A PREROUTING -d 202.168.18.8 -j DNAT to 192.168.1.8 注: 因为外网ip可能是随机分配,所有无法固定外网ip,此时我们应该修改源ip为: # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE 注意:私有IP和共有IP不能直接通信