四表五链
四表
filter(过滤)、nat(转换)、mangle(碾压)、raw(生的)
五链
input(入站)、output(出站)、postrouting(已路由)、prerouting(预路由)、forward(转发)
filter表包括:INPUT、OUTPUT、FORWARD
nat表包括括:OUTPUT、PREROUTING、POSTROUTING
网络防火墙
WAF:
屏蔽常见的网络漏洞攻击,如sql注入
品牌:
思科ASA5550
华为USG6650
启明星辰 天清汉马 USG-2000C(也称UTM)
基本语法
iptables -t 表名 管理选项 [链名] [匹配条件] [-j 控制类型]
-t 表名
管理选项
匹配条件
控制类型
-p 协议
参数
新增的规则
-I:在链的开头(或指定序号)插入一条规则
-A:在链的末尾追加一条规则
查看规则列表
-L:列出所有的规则条目
-n:以数字形式显示地址、端口等信息
-v:以更详细的方式显示规则信息
--line-numbers:查看规则时,显示规则的序号(方便之处,通过需要删除规则-D INPUT 1
删除、清空规则
-D:删除链内指定序号(或内容)的一条规则
-F:清空所有的规则(-X是清理自定义的链,用的少;-Z清零规则序号)
-P:为指定的链设置默认规则
-p 协议
主机型
需求:禁止自己被ping,在filter表的INPUT链插入一个丢弃icmp的规则
iptables -t filter -I INPUT -p icmp -j REJECT
iptables -L
iptables -t filter -D INPUT -p icmp -j REJECT (删除)
实例,INPUT链
添加允许tcp协议
iptables -t filter -A INPUT -p tcp -j ACCEPT
插入允许udp协议
iptables -I INPUT -p udp -j ACCEPT
插入到第二行,允许icmp协议
iptables -I INPUT 2 -p icmp -j ACCEPT
iptables -D INPUT 3
iptables -F
iptables -t filter -P INPUT ACCEPT
不让别人ping自己
iptables -I INPUT -p icmp -j DROP
禁止10.0.0.129 主机ping自己
iptables -t filter -I INPUT -s 10.0.0.129 -p icmp -j REJECT
禁止10.0.0.131 进来
iptables -I INPUT -s 10.0.0.131 -j REJECT
禁止10.0.0 网段数据包
iptables -I INPUT -s 10.0.0.0/24 -j DROP
谁也连不上
iptables -I INPUT -i eth0 -j DROP
允许10.0.0.131访问80端口
iptables -I INPUT -s 10.0.0.131/24 -p tcp --dport 80 -j ACCEPT
允许FTP端口访问
iptables -I INPUT -p tcp --dport 20:21 -j ACCEPT