iptables 简单学习笔记(1)


本文是我自己的一些学习iptables的心得,给大家拿出来来晒晒!

filter #用于过滤

nat #做NAT

input =>filter #目的ip是本机的数据包

forward =>filter #穿过本机的数据包

prerouting =>nat #修改目的地址(DNAT)

postrouting =>nat #修改源地址(SNAT)

iptables -t 要操作的表 操作命令 要操作的链 规则号码 匹配条件 -j 匹配到以后的命令

iptables -I INPUT -j DROP #-t 默认为filter

iptables -I INPUT 3 -j DROP #链接里插入一条规则(插入第三条)

iptables -D INPUT 3 #按号码匹配删除

iptables -D INPUT -s 192.168.0.1 -j DROP #按内容匹配删除

iptables -R INPUT 3 -j ACCEPT #将原来3的规则改为-j ACCEPT

iptables -P INPUT DROP #设置默认规则

iptables -F INPUT #清空filter表INPUT链中的所有规则

iptables -t nat -F PREROUTING

iptables -t nat vxnL PREROUTING

--# v: 显示详细信息

--# x: 在v的基础上,禁止自动单位换算

--# n: 只显示IP地址和端口号码,不显示域名和服务名称

========匹配条件

-i -i eth0 #流入接口(是否从网口eth0进来)

-o #流出接口

-s -s 192.168.1.0/24 #来源地址

-d #目的地址

-p -p icmp --icmp-type #协议类型

--sport --sport 1000:3000 #来源的端口

--dport --dport 1000: :3000 #目的的端口1000:(1000端口以上) :3000(3000端口以下)

-s 192.168.0.1 -d www.sina.com -p tcp -dport 80

================================

iptables -A INPUT -j ACCEPT #允许所有访问本机IP的数据包通过

iptables -A FORWARD -s 192.168.0.1 -j DROP #阻止来源地址为192.168.80.39的数据包通过本机

-j DNAT #目的地址转换,DNAT支持转换为单IP,也支持转换到IP址

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.0.3:80

#把从ppp0进来的要访问tcp/80的数据包的地址改为192.168.0.3

-j SNAT #源地址转换

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1

#将内网192.168.0.0/24的源地址改为1.1.1.1,用于nat表

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1-1.1.1.10

#修改成为一个地址池

-j MASQUERADE #动态源地址转换

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

#将源地址为192.168.0.0/24的数据包进行地址伪装


相关内容