iptables 基本用法

                                                                                    iptables 

1.iptables 表

(1)介绍常用表

filtert(过滤器)

INPUT chain:控制进入主机的数据包

OUTPUT chain:控制向外发出的数据包

FORWARD chain :转发数据包

 

NAT(地址转换)

PREROUTING链 :数据包到达防火墙时改变包的目的地址。

OUTPUT链:改变本地产生数据包的目标地址。

POSTROUTING:在数据包离开防火墙时改变数据包的源地址

 

Mangle(修改数据包,改变包头中内容)

TOS :设置改变数据包的服务类型,不要使用TOS设置发往Internet的包除非打算依赖TOS来路由,不能在表中配置任何过滤。SNAT、DNAT

TTL:改变数据包的生存时间,可以让数据包只有一个特殊的TTL,欺骗ISP,有些ISP并不希望多台计算机共享一个连接访问Internet,ISP通过检查一台计算机所发出的数据包是否含有不同的TTL来判断。

Mask:给数据包设置特殊的标记,通过标记配置带宽限制和基于请求分类。

 

 

2.iptables 参数:

-L 列出规则

-F 清空链

-X是删除使用者自订 table 项目

-A 从最后一列插入一条规则

INPUT

OUTPU

FORWARD 

-I从第一行插入一条规则,后接数字可以调整规则插入的行数

INPUT

OUTPU

FORWARD

-n不进行ip与主机名的反查询

-d目标ip后可以接端口号,格式:0.0.0.0:80

-s源ip后可接端口号,格式:0.0.0.0:80

-j 动作

ACCEPT 

REJECT

DROP

-p指定协议tcp,udp,icmp

-i 指定网卡

--sport指定源端口

--dport指定目标端口

3.iptables流程图

4.例子

 ( 1)阻挡所有流量

iptables    -A INPUT -j REJECT --reject-with icmp-host-prohibited

iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited

# 这两条的意思是在INPUT表和FORWARD表中拒绝所有其他不符合上述任何一条规则的数据包。并且发送一条host prohibited的消息给被拒绝的主机。

(2)允许所有ip都可以80

iptables -I  INPUT -p tcp --dport 80 -j ACCEPT

iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT

 

#这条规则必须放在阻挡所有流量规则的前面!

(3)允许所有ip都可以22

iptables -I  INPUT -p tcp --dport 22 -j ACCEPT

iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT
#这条规则必须放在阻挡所有流量规则的前面!

posted @ 2017-06-18 12:31  秋阳Linux笔记  阅读(503)  评论(0编辑  收藏  举报