iptables 学习笔记

一、基础知识

规则:定义数据包过滤条件,包含源地址、目的地址、传输协议、服务类型等;

 

链:指数据包的传播路径,一条链中可以有多条规则;

 

表:提供特定功能。iptables内置了filternatmangle3个表,分别用于实现包过滤、网络地址转换、包重构;

filter表包含:inputoutputforward。这个表只有接收和丢弃包的功能,无法对数据包进行修改。

nat:可以实现111对多、多对多的工作。表包含prerouting(修改即将到来的数据包)、output(修改在路由之前本地

 

生成的数据包)、postrouting(修改即将出去的数据包)3个链。

mangle:包含inputoutputforwardpreroutingpostrouting5个链

 

 

二、iptables语法

iptables [-t ] <命令选项> [] [匹配选项] [操作选项]

 

命令选项说明:

-A    在所选链的链尾加入一条或多条规则

-D   在所选链的链尾删除一条或多条规则

-R    在所选链的链尾替换一条或多条规则

-I     以给出的规则号,在所选链中插入规则

-L    列出指定链的规则

-F    清除指定链或表中的所有规则

-N   创建新链

-X   删除链,链中的规则不能在使用中

-P    为永久链指定默认规则

-C    检查指定的包是否与指定链的规则相匹配

-Z    将制定链中的所有规则的包字节器清零

-h    显示帮助信息

 

 

 

匹配选项

-p [!] proto 指定要匹配的协议,加上!表示逻辑非

-s [!] address[/mask 根据源地址或地址范围确定数据包是否通过过滤器

-i [!] input name[+] 指定数据包从哪个接口进入,如eth0eth1

-j target 匹配规则后数据包的处理方法,可能是acceptdrop

-m match

-o [!] output name[+] 指定匹配规则的对外网络接口,该选项只有outputforwardpostrouting链是合法的。

--sport sport 指定数据包匹配的源端口,可以用“起始端口:结束端口”指定一个范围

-d [!] address[/mask根据目的地址或地址范围确定数据包是否通过过滤器

--dport dport指定数据包匹配的目标端口,可以用“起始端口:结束端口”指定一个范围

 

 

默认时,终端中创建的各种规则在系统重启后就丢失了,所以要把这些规则保存到文件中,通过iptables-save来实现:

iptables-save > /etc/sysconfig/iptables

重启后规则丢失,再使用以下命令回复:

iptables-restore < /etc/sysconfig/iptables

若希望重新启动后自动恢复,则:

service iptables save

 

目标动作

ACCEPT接收

DROP 丢弃

REJECT 拒绝包

LOG 写入日志

TOS 改写包的TOS

REDIRECT 重新导向另一个端口,可以用来实现透明代理

MASQUERADE

DNAT 改写数据包的目的IP为特定IP或范围

SNAT 改写源IP

MIRROR

QUEUE

RETURN

MARK

 

三、实例

 

1、  查看规则

iptables –t nat –L //查看nat表所有链的规则列表

 

2、  禁止客户机访问指定网站

iptables –I FORWARD –d www.xunlei.com –j DROP

 

3、  禁止部分客户机上网

iptables –I FORWARD –s 192.168.1.0/24 –j DROP

 

4、  禁止某些服务

iptables –I FORWARD –s 102.168.1.0/24 –p tcp –dport 80 –j DROP //禁用web

iptables –I FORWARD –s 102.168.1.0/24 –p tcp –dport 21 –j DROP //禁用ftp

 

5、  nat

透明代理的实现:

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值