本机可以处理的三类数据包
进入本机的:PREROUTING - INPUT
经过本机转发的:PREROUTING - FORWARD - POSTROUTING
由本机发出的:OUTPUT - POSTROUTING
进入本机 流量->prerouting->input判断路由选择是否本机->是本机发送给对应的应用程序
经过本机转发的 非本机->FORWARD->POSTROUTING 出站
由本机发出的 应用程序:->OUTPUT->POSTROUTING 出站
目标动作:
filter:
-j DROP 丢弃
-j ACCEPT 放行
-j REJECT
NAT:
-j SNAT 源地址转换 ,一般用于内部用户上网
-j MASQRADE 源地址伪装
-j DNAT 目标地址转换 ,将内网的服务器对外提供服务
-j REDIRECT 端口重定向 只修改端口 -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 不需要提前开启端口
ip+端口映射
禁ping A通B&&B不通A
mangel:
-j MARK 标记数据包
条件: !-p 取反
协议 -p : tcp udp icmp
地址 -s : 192.168.10.11 192.168.10.0/24 -d 目标地址
网卡 -i : -i 网卡名称 从指定网卡进来的数据包 -o 网卡名称 从指定网卡出去的数据包
扩展条件:
-m tcp --dport 目标端口 80 , 88:90 表示多个端口
-m tcp --sport 源端口
state:-m state --state ESTABLISHED -m muliport -dport 80:90,443
iptables语法:
查看:
iptables -nL (详细查看) 没有接就是默认filter表
iptables -t 表名(raw mangle nat filter) -nL
iptables -t filter -S 显示语法类型查询
iptables -t filter -S {链名input forward output}
增:
iptables -t 表名 -A 链名 匹配条件 -j 目标动作
iptables -A INPUT -s 192.168.10.11 -j DROP(吊着人家)/REJECT(明确表明拒绝)
iptables -t 表名 -I 链名 插入位置{数字}(默认为1) 匹配条件 -j 目标动作
iptables -I INPUT 3 -s 192.168.10.13 -j DROP
iptables -A INPUT -s 192.168.10.1 -j ACCEPT
iptables -t filter -A INPUT -p icmp -s 192.168.10.12 -j DROP
iptables -t filter -R input 1 -s 192.168.10.12 -j REJECT
删除:
删除一条
iptables -t 表名 -D 链名 [序号]
iptables -D INPUT 3
iptables -t 表明 -D 链名
iptables -D INPUT -s 192.168.10.11 -j DROP
清空:无法清空默认的规则
iptables -t 表名 -F 不加链名清空此表所有内容 加链名清空此链所有内容
改:
iptables -t 表明 -R链名 [序号] 匹配条件 -j 目标动作
iptables -A INPUT -s 192.168.10.11 -j drop
iptables -R INPUT 1 -d 192.168.10.11 -j drop
修改默认 iptables -t filter -P INPUT DROP 将进入本机的所有包全部丢弃