iptables--转发流程

1.术语

名称 定义
DNAT Destination Network Address Translation 目的网络地址转换。 DNAT是一种改变数据包目的 ip 地址的技术,经常和 SNAT 联用,以使多台服务器能共享一个 ip 地址连入 Internet,并且继续服务。通过对同一个 ip 地址分配不同的端口,来决定数据的流向。
SNAT Source Network Address Translation 源网络地址转换。这是一种改变数据包源 ip 地址的技术,经常用来使多台计算机分享一个 Internet 地址。这只在 IPv4 中使用,因为 IPv4 的地址已快用完了,IPv6 将解决这个问题。
Stream 是指发送和接收的数据包和通信的双方都有关系的一种连接
State 指明数据包处于什么状态。状态在 RFC 793 - Transmission Control Protocol 中定义,或由用户在 Netfilter/iptables 中自定义。需要注意的是 Netfilter 设定了一些关于连接和数据包的状态,但没有完全使用使用RFC 793 的定义。
User space 用户空间,指在内核外部或发生在内核外部的任何东西。例如,调用 iptables -h 发生在内核外部,但 iptables -A FORWARD -p tcp -j ACCEPT(部分地)发生在内核内部,因为一条新的规则加入了规则集。
Kernel space 内核空间 ,与用户空间相对,指那些发生在内核内部。
target 表示对匹配的数据包所做的操作。

2.内核配置

为了运行 iptables,需要在内核配置期间,选择以下一些选项。

定义
CONFIG_PACKET 允许程序直接访问网络设备,例如tcpdump功能
CONFIG_NETFILTER 允许计算机作为网关或防火墙。这个是必需的。
CONFIG_IP_NF_CONNTRACK 连接跟踪模块,用于 NAT(网络地址转换)和Masquerading(ip地址伪装)。
CONFIG_IP_NF_FTP 这个选项提供针对 FTP 连接进行连接跟踪的功能。
CONFIG_IP_NF_IPTABLES 使用过滤、伪装、NAT。它为内核加入了 iptables 标识框架。没有它,iptables 毫无作用。
CONFIG_IP_NF_MATCH_LIMIT 提供匹配 LIMIT 的功能,以便于使用一个适当的规则来控制每分钟要匹配的数据包的数量。比如, -m limit --limit 3/minute的作用是每分钟最多匹配三个数据包。这个功能也可用来消除某种 DoS 攻击。
CONFIG_IP_NF_MATCH_MAC 可以根据 MAC 地址匹配数据包。
CONFIG_IP_NF_MATCH_MARK 这个选项用来标记数据包。对数据包做 MARK(标记)操作。
CONFIG_IP_NF_MATCH_MULTIPORT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值