Iptables

一、通过setup命令进行图形化配置 img

二、命令行配置

iptables -L -n --lin

-L列出所有策略,-n以数字显示,--lin显示序号

img

1、Filter:

Filter  包过滤表  (默认表)
INPUT  发送给本机的数据包
OUTPUT 本机发出的数据包
FORWARD 用于转发,用于网关防火墙 

-A:APPEND,追加一条规则(放到最后)
-I:INSERT,插入一条规则
-D:DELETE,删除一条规则
-R:REPLACE,替换一条规则  
-p:协议类型   
-s:来源地址
-d:目标地址   
--dport:指定目标端口(destination port 目的端口)   
--sport:指定源端口(source port 源端口)   
-j:指定动作类型,ACCEPT/DROP
INPUT:入口,OUTPUT:出口,FORWARD:转发

示例:
iptables -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -p tcp --dport 80 -j DROP

iptables -P INPUT -j DROP
iptables -P OUTPUT -j DROP
#默认策略

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#基于状态

service iptables save
保存新配置的策略

2、NAT

Nat     网络地址转换  SNAT DNAT
PREROUTING  目标地址转换
POSTROUTING   实现源地址转换

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 61.99.28.1
#所有从eth0(外网卡)出来的数据包的源地址改成61.99.28.1(这里指定了一个网段,一般可以不指定)

iptables -t nat -I PREROUTING -i eth0 -p udp --dport 53 -j DNAT --to-destination 1.2.3.4:53
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 53 -j DNAT --to-destination 1.2.3.4:53
#在路由之前所有从eth0(内网卡)进入的目的端口为53的数据包,都发送到1.2.3.4这台服务器解析