心想事成 发表于 2011-12-3 13:57:44

napt66 改进版

napt66是北邮的同学做的ipv6的nat程序,我在它们的基础上做了些改进。




1、只对私网IP进行NAT,对本机发出的数据包不做nat。
2、添加端口映射功能。用户空间程序使用netlink与内核模块通信,添加要映射的地址和端口到内核的链表中。
3、使用内核的定时器自动对超时连接表进行删除,不再需要在新建立连接的时候进行遍历删除。
4、针对smp下可能存在的问题对链表上锁。
5、改进hash。在hash时加上远程端口。尽量避免hash碰撞。

fuzhend 发表于 2012-5-9 14:23:36

还是先做个软件的科普吧 老大

心想事成 发表于 2012-5-9 15:08:50

fuzhend 发表于 2012-5-9 14:23 static/image/common/back.gif
还是先做个软件的科普吧 老大

简单说就是对ipv6进行nat的内核模块。:P

因为ipv6理论上有无穷多的IP地址,是根本不需要使用nat的。(nat也就是网络地址转换,解决公网IP地址不够用的问题。)
但是在某些情况下,ipv6使用nat也非常有必要。
一是直接用ipv6的公网地址的电脑会会直接暴露在网络上,泄露秘密和网络拓扑。
二是如果接入商所提供的ipv6 IP段的变化,会直接导致使用的电脑的IP也相应变化,致使管理上的困难。
三是接入商只分配了一个ipv6地址给你,但你却有n台电脑需要用ipv6。
so , 使用ipv6 nat会成功的解决以上问题。

napt66就是ipv6 nat 的具体实现。
:)

wiwian 发表于 2013-7-1 21:32:03

编译的时候提示napt66_main.c文件错误,怎么回事?

wiwian 发表于 2013-7-1 21:51:48

提示有无效字符

心想事成 发表于 2018-8-7 20:34:58

tb-tun改进版,支持ipv6 nat。全部在用户态实现,不用加载到内核中,适合openvz虚拟机。
页: [1]
查看完整版本: napt66 改进版