iptables

Iptables

       What:iptables 是一个免费得防火墙解决方案,通过iptables 可以完成包过滤,重定向以及网络地址转换等功能。

Netfilter/iptables 是表的容器

而表又是链的容器

而链是规则的容器。

Iptables 的功能实现的基础是通过定义的规则来进行处理的。

   规则(rules)其实就是用户输入的一些特定的处理方式,当数据包符合当前的条件时就怎么怎么样。规则存储在不同的表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则。

在iptables 内置了4张表,filter,nat,mangle以及raw.根据名字可以很好的理解,有实现过滤的,实现地址转换,以及对应的包修改的。

链(chains):数据包在传递的过程中会通过不同的 路径,你可以在 到达或者经过不同的路径前后执行不同的规则,比如在数据包到达网卡之前,这些路径被称作链。

如下图所示。

 

不同的表 拥有不同的链

Filter 表: INPUT  FORWARD  OUTPUT

       过滤数据包,可以对某些数据包 进行丢弃,放行等处理

INPUT

过滤进入主机的数据包

FORWARD

负责转发流经主机数据包

OUTPUT

就是处理从主机发出去的包

Nat 表: PREROUTING  POSTROUTING  OUTPUT

       用于网络地址转换,比如原始ip以及目标ip地址改写,可以共享上网(代替路由器)

PREROUTING

处理用户请求中的目的地址,目的端口,端口转发IP映射。

POSTROUTING

处理离开服务器的请求,源端口,源IP,共享上网。局域网之所以可以进行访问外网,就是类似此功能,改源目的地址。外网接收后,会把数据包重新丢回路由器,路由器再根据地址转换,转换为对应的内网主机地址

OUTPUT

和主机放出去的数据包有关,改变主机发出数据包的目的地址

Mangle表:PREROUTING POSTROUTING INPUT OUTPUT FORWARD

  用于修改包的服务类型,TTL等信息

iptables [-t 表名] 命令选项 [链名] [条件匹配] -j 目标动作或跳转]

       如果不指定表明,默认使用filter

常用命令选项

选项

含义

-A

在指定链的末尾添加一条新的规则

-D

删除指定链中的那个某一条规则

-I

在指定链中插入一条新规则,默认在行首

-R

修改或替换指定链中的规则

-p

指定协议 tcp/udp/icmp

-d

目标ip地址

-s

源ip地址

-i

数据进来时通过的网卡

-o

数据出去时候通过的网卡

-dport

目标端口

-sport

源端口

-L

列出指定链中的规则

-F

Flush 清空

-n

使用数字形式显示输入结果

-j

行为

 ACCEPT 允许

 DROP 丢弃

REJECT 拒绝

LOG 在 文件中记录日志信息,然后继续将包传递

在链式处理中,如果匹配到某一条规则 如果规则结果是通过或拒绝或丢弃 后就不会在执行后面的规则

如果当前规则 没有明确处理,比如LOG,或没有匹配上,则继续校验后面的规则

如以下命令 在filter 表中的INPUT链 增加 所有的icmp协议的数据包都拒绝

Iptables –I INPUT –p cimp –j REJECT

如 拒绝 转发来自192.168.1.11 主机的数据包。 其中-s代表源地址

Iptables –A FORWARD –s 192.168.1.11 –j REJECT
# 如果访问地址是192.168.1.1:80 则将 请求转发到192.168.1.3:8080

Iptables –t nat PREROUTING –d 192.168.1.1 –p tcp –dport 80 –j DNAT –to-destination 192.168.1.3:8080

实现外部IP 10.0.32.2 一对一映射到内网IP 192.168.2.3

# 将目标地址为 10.0.32.2 的目标地址改写成 192.168.2.3

 Iptables –t nat –A PREROUTING –d 10.0.32.2 –j DNAT –to-destination 192.168.2.3

# 将 源地址是192.168.2.3 的源地址做一次SNAT 映射,重定向到外网10.0.32.2

Iptables –t nat –A POSTROUTING –s 192.168.2.3 –j SNAT –to-source 10.0.32.2

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值