规则链解析 链的用途:存放一条条防火墙规则 链的分类依据:处理数据包的不同时机 默认包括5种规则链

INPUT:处理入站数据包 OUTPUT:处理出战数据包 FORWARD:处理转发的数据包 POSTROUTING:路由选择之后的处理 PREROUTING:路由选择之前处理

表的用户:存放不通的规则链 表的分类依据:防火墙规则的作用相似

raw表:确认是否对数据包进行状态跟踪 mangle表:为数据包设置表及 nat表:修改数据包的源/目标地址或端口 filter表:确定是否放行该数据包

规则表之间的顺序

raw->mangle->nat->filter

规则链内的匹配顺序 顺序比对,匹配即停止(log除外) 若无任何匹配,则按该链路的默认规则

iptables -t filter -I INPUT -p icmp -j REJECT

基本语法

[-t 表名] 选项 -s 源IP地址 [-i 网卡名] [链名] [条件] [-j 目标操作] //默认表名filter

基本目标操作

accept:允许通过/方形 drop:直接丢弃,不给出任何回应 reject:拒绝通过,必要时给出提示 log:记录日志

选项

-A 在链的末尾追加规则 -I 在链的开头插入一条规则 -L 列出所有 -n 以数字形式显示地址、端口信息 -D 删除 -F 清空所有 --line-numbers 查看规则时,显示规则的序号 -P 指定默认规则

限制指定服务端口的访问

iptables -A INPUT -s 192.168.168.0/24 -p tcp --dport 22 -j ACCEPT

主机防护,针对入站访问的源地址

iptables -A INPUT -s 192.168.4.120 -j DROP

网络防护,针对转发访问的源地

iptables -A FORWARD -s 源IP地址 -i 网卡名 -j 动作 -A INPUT -s 源网段 -p tcp --dport 断口号 -j ACCEPT #iptables -A FORWARD -s 192.168.0.0/16 -i eth1 -j DROP