Linux体系NAT实现机制的进级改造
发布时间:2016-10-31 16:50:04 所属栏目:Linux 来源:站长网
导读:副标题#e# 一点牢骚和希望 一直以来,一直对Linux的NAT很不满,也写过《Linux系统如何平滑生效NAT》系列文章中的patch进行修补,还写过一些类Cisco实现的patch,然而都效果不大好,暴雨的夜晚,长假的倒数第二晚,虽然没有10月7日晚雨量大,可是10月6日晚上
即完全启用nat extension,在添加静态NAT规则的时候,用nat后的已经修改的反向二元组(源/目标IP地址)和正向二元组构造两个个虚拟的nat_conntrack,并将两个二元组插入一个专门的NAT哈希表,这样不管数据从哪个方向发起,在静态NAT的HOOK逻辑(即nf_nat_fn)中,直接去根据自己的源地址去查NAT哈希表,如果找到则取出其反向二元组使用其中的非any地址覆盖nf_conntrack反向五元组的对应位置即可。 以上设计的本质在于,既然基于matches无法实现双向静态NAT,那么为何不扫除match呢?我们需要的仅仅是下面的推导: SNAT: 源:A==>源:C 正向: 源A->目标X 反向: 源X->目标C || / DNAT: 目标C==>目标A 正向: 源X->目标C 反向: 源B->目标X 数据结构如下: ENUM dir { orig, reply, } tuple { address[dir] addrs } nat_conntrack { tuple[dir] tuples; } (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – Systemd – 在ExecStopPost中检测服务是否退出而没
- Linux学习笔记之Python3的安装以及创建虚拟环境(CentOS)
- C程序从连接到系统的USB设备读取数据
- 美图秀秀手机版3.2“魔幻笔”新升级 指尖魔术极致体验!
- 浅析Linux中的时间编程和实现原理(四)Linux 内核的工作
- 再分享70+免费的jquery 图片滑块效果插件和教程
- linux-GRUB_DEFAULT似乎在尝试通过Debian 8上的ID引导自定义
- 安装Oracle之前的Linux安装维护
- linux – 如何用shebang定义脚本解释器
- 鸭嘴兽泰瑞在哪里攻略(我可信赖的密探11-20关,三星通关视