防火墙种类
包过滤防火墙
代理防火墙
IPtables原理
iptables原理基础
netfilter
规则链(chain)
prerouting
input
forward
output
postrouting
规则表(tables)
1、raw
2、mangle
3、nat
4、filter
iptables管理工具
常用操作命令
-A 在指定的尾部添加规则
-D 删除匹配的规则
-R 替换匹配的规则
-I 在指定的位置插入规则
iptables -I INPUT 1 --dport 80 -j ACCEPT
-L/S 列出指定链或所有链的规则
-F 清空指定链或所有链的规则
-N 创建用户自定义
iptables -N allowed
-X 删除用户自定义的链
-P 为指定的链设置默认规则策略,对自定义链不起作用
-Z 将指定链或所有链的计数器清零
-E 更改自定义链的名称
iptalbes -E allowed disallowed
-n ip地址和端口号以数字方式显示
iptables -nL
常用的规则匹配器
-p 匹配协议
-s 匹配源地址
-d 匹配目标地址
--sport 指定源端口
--dport 指定目标地址
-o 匹配出口接口卡,只适用于FORWARD/POSTROUTING/OUTPUT
iptables -A FORWARD -o eth0
-i 匹配入口接口卡,只适用于PREROUTING/INPUT/FORWARD
--icmp-type 匹配icmp类型
iptalbes -p icmp -h #查看icmp的类型
--tcp-flags mask comp 匹配TCP标记,mask表示检查范围,comp表示匹配mask中的那些标记;
iptables -A FORWARD -p tcp --tcp-flags ALL SYN,ACK -j ACCEPT
目标动作
ACCEPT 容许数据包通过
DROP 丢弃数据包
REJECT 拒绝数据包
SNAT 原地址转换
iptables -t nat -A POSTROUTING -d 192.168.0.102 -j SNAT --to 192.168.0.1
DNAT 目标地址转换
iptables -t nat -A PREROUTING -d 202.202.202.2 -j DNAT --to-destination 192.168.0.102
REDIRECT 目标端口转换
iptables -t nat -D PREROUTING -p tcp --dport 8080 -i eth2 -j REDIRECT --to 80
MARK 将数据包打上标记
iptables -t mangle -A PREROUTING -s 192.168.1.3 -j MARK --set-mark 60