一:包过滤规则
包过滤防火墙
iptables工具
4个功能,也叫4个表
raw
mangle
nat 网络地址转换
filter 过滤
filter:
iptables -t filter -nvL # -L:列出所有的规则条目,-n:以数字形式显示地址、端口等信息,-v:以更详细的方式显示规则信息,--line-numbers;查看规则时,显示规则的序号
watch -n1(这是数字1,代表1秒) iptables -t filter -nvL 每隔一秒钟刷新一下,可以理解为实时显示
每个表都有专门写规则的地方(链)
input:当目标地址是自身时,协议tcp 目标端口80
forward:转发规则链(当源地址和目标地址都不是自身)
output:出站链
iptables -t filter -I INPUT -p tcp --dport 80 -j ACCEPT # -I 比如说A和B两行,写-I A 则是在A和B之间插入; 还有一种- A的写法,-A A,则是在A行之前
iptables -t filter -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j DROP
删除、清空规则:
-D:删除链内指定序号(或内容)的一条规则
iptables -D INPUT 3
-F:清空所有的规则
iptables -F INPUT
设置默认策略:
-P:为指定的链设置默认规则
iptables -P OUTPUT ACCEPT
二:网络地址转换
NAT表
iptables -t nat -nvL
链:
PREROUTING:路由前规则,公网数据进来,先遵守这个规则,再走路由
iptables -t nat -A PREROUTING -i eth1 -d [eth1端口号] -p tcp -dport 80 -j DNAT --to-destination [内网的IP:8080]
POSTROUTING:路由后规则
公网IP固定的情况下:
iptables -t nat -A POSTROUTING -p tcp -o [出接口eth1] -s 源IP/24 -j SNAT --to-source [eth1的公网IP地址]
公网IP随机的情况下:
iptables -t nat -A POSTROUTING -p tcp -o [出接口eth1] -s 源IP/24 -j MASQUERADE
OUTPUT
友情链接:
发现一位大佬的链接:
详细过程