iptables 学习
iptables
iptables filter表
filter的三个链
1. INPUT 输入链
2. FORWARD 路由,转发链
3. OUTPUT 输出链
iptables -t filter -L -n --line-number
# -n 不解析
# --line-number 显示行号
# -t filter 默认的iptables表
# -L 列出所有的规则
target prot opt source destination
处理方式 协议(tcp,udp,all) 指定额外参数 源地址,源端口 目的地址,目的端口
# 如果本机收到一个包,目的地址是tcp协议的8081的包就丢弃掉。
iptables -t filter -A INPUT -j DROP -p tcp --dport 8081
-t filter: 指定表
-A INPUT: 指定追加添加一条规则,对INPUT链添加
-j DORP: 添加规则的类型(target)
-d: 指定目的地址,不指定是对所有的目的地址
--dport 8081: 对什么包丢弃
-p tcp: 指定协议
# 删除刚才创建的规则
iptables -t filter -D INPUT 1
-D: 删除
# 外出的数据包应用此规则链中的策略,发往192.168.10.10地址所有tcp协议的包,会被丢弃,不配置端口所有的端口都会被丢弃。
iptables -t filter -A OUTPUT -j DROP -p tcp -d 192.168.10.10
# 配置规则顺序
iptables -t filter -I INPUT 2 -j DROP -p tcp --dport 8082
-I: 指定把规则插到第几条
iptables -t filter
-A INPUT: 指定链追加
(-I: 则指定位置插入)
-j DROP: 指定处理方式
-d [ip]: 指定目的IP
--dport: 目的端口
-s [ip]: 源IP
iptables 规则执行顺序
iptables执行规则时,是从规则表从上至下顺序执行的,如果没遇到匹配的规则,就一条一条往下执行,如果遇到匹配的规则后,那么就执行本规则。详情见此链接
iptables nat表
nat表
四个链
路由之前
PREROUTING: 改目的地址
路由之后
INPUT:
OUTPUT:
POSTROUTING: 改源地址