iptables详解

iptables简介:、

iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率,iptables属于“用户态”的防火墙管理体系。

 ——iptables的四表五链:

——四表:

filter表:filter表用来对数据包进行过滤,共包含三个链。

nat表:nat转换表主要用于修改数据包 ip地址,端口号等,共包含三个链。

mangle表:mangle表用来修改数据包的TOS(Type Of Service服务类型),TTL(Time To Live,生存周期)值,或者为数据包设置Mark标记,以实现流量整形,策略路由等高级应用。共包含五个链。

raw表:raw表示自1.2.9以后版本的iptables新增的表,主要来决定是否对数据包进行状态跟踪。共包含两个链。

——五链:                                                                                            

INPUT链:当收到访问防火墙本机地址的数据包(入站)时,应用此链中的规则。

OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则。

FORWARD链:当接收到需要通过防火墙中转发送给其他地址的数据包(转发)是,应用测链中的规则。

PREROUTING链:在对数据包做路由选择之前,应用测链中的规则。

POSTROUTING链:在对数据包做路由选择之后,应用此链中的规则。

——iptables常用选项:

-L查看规则

-F清除所有规则,留下默认规则

-t指定表

--line-numbers显示规则排列序号

-A添加规则到指定链的结尾

-I添加规则到指定链的开头

-D删除指定规则

-p添加协议:例如tcp udp

--dport目的端口

--sport源端口

-s指定源地址

-d指定目的地址

-i匹配进入网卡的接口

-o匹配出网卡的接口

-j处理行为:ACCEPT接受   DROP丢弃  REJECT拒绝 MASQUERADE地址伪装  SNAT源地址转换 DNAT目的地址转换 REDIRECT端口重定向

——扩展选项:

-m表示用什么模块来匹配

-m state --state 连接状态  #表示用state模块来匹配连接状态

-m iprange --src-range #用iprange模块来匹配源地址范围

-m iprange --dst-range #用iprange模块来匹配目的地址范围

-m mulitiport --source-ports #用mulitiport模块来匹配来源端口范围

-m --destination-ports #用mulitiport模块来匹配目的地址范围

——连接状态:

UNTRACKED未追踪的

NEW新的

ESTABLISHED已确立的

RELATED相关的

INVALID无法识别的

例如:来自1.1.1.1 - 1.1.1.10这个地址范围,请求22.33.44这几个端口并且是新建的连接都放行

-A INPUT -p tcp -m iprange --src-range 1.1.1.1 - 1.1.1.10 -m mulitiport --destination-ports 22,33,44 -m state --state NEW -j ACCEPT  

——设置转发规则:

 假设要在A主机上访问B主机,通过B主机上的转发规则,使请求流向C主机(在B主机上设置)

A主机:10.100:80

B主机:10.200:80

C主机:10.300:80

先开启转发规则:echo "1" > /proc/sys/net/ipv4/ip_forward

设置表规则:

iptables -t nat -A PREROUTING -p tcp -d 10.200 --dport 80 -j DNAT --to-destination 10.300:80
iptables -t nat -A POSTROUTING -p tcp --destination 10.300 --dport 80 -j MASQUERADE

设置链规则:

# 1.删除现有规则

iptables -F

# 2.配置默认链策略

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# 3.允许远程主机进行SSH连接

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# 4.允许本地主机进行SSH连接

iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

#5.允许端口转发

iptables -A  FORWARD -i eth0 -p tcp --dport 要转发的端口  -m state --state NEW,ESTABLISHED -j ACCETP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值