Padavan/Openwrt/LEDE下实现ipv6 nat/napt66

目录

  • 环境
  • 方案比选
  • NAT方案

环境

  • 网络 :scut南校区校园网,双栈接入。ipv6无状态自动分配公网地址,不限速不限流不断网,但封掉了80端口;ipv4采用drcom认证(802.1x?),可用scutclient认证,似乎是固定ip,由于大一新生不能开网所以不太了解。
  • 设备:斐讯K2(padavan或PandoraBox固件);品胜AR71xx小路由(Openwrt)

即便是不开网,宿舍网口仍可以分配到ipv6的公网ip,只是封掉了80端口,很多网站打不开,但443端口没有封。

这样,可以通过ipv6的各种代理满足上网需求,不过国内的vps普遍没有ipv6,所以必须选择海外的vps或者代理商。

要想让路由器内的手机,电脑也能访问IPv6,有以下几种方法:


三种方案

  • 中继方案:使用6relayd,odhcpd等,让路由器内的设备获取2xxx开头的公网ipv6地址
  • NAT方案:使用nat6/napt66+radvd/odhcpd,让路由器内的设备获取内网ipv6地址,然后路由器做NAT转发
  • 桥接方案:使用ebtables把ipv6通过第二层桥接到内网区域

6relayd有缺陷,现在也已经不在openwrt的软件包列表里了(用odhcpd代替了),padavan的entware倒是还有6relayd。经过数日折腾,虽然能让内网设备获取到公网ipv6地址,但是链接并不稳定,看iptv过一会就会卡住,遂放弃6relayd。
然后去lede折腾odhcpd中继,也能让内网设备获取到ipv6公网ip,但是上不了网,不知原因所在,最终放弃了中继方案。


NAT方案

Padavan+NAPT66

如果你使用的是我的Padavan固件,请直接查看使用教程中关于NAPT66配置的部分,如果你想让自己编译的Padavan固件支持NAPT66,请继续往下看:

Padavan的Linux内核原生不支持ipv6的NAT;
NAPT66是北邮学生开发的在较旧内核的Linux上实现ipv6 nat的内核模块;
项目地址:https://github.com/mzweilin/napt66
要想使用NAPT66,需要对内核代码做修改,参考:
http://www.jianshu.com/p/3a9ec169336e

捕获.PNG

接着修改napt66的Makefile:我的工具链在/opt/rt-n56u/toolchain-mipsel/toolchain-3.4.x/,内核源码在/opt/rt-n56u/trunk/linux-3.4.x ,修改为:

PWD  := $(shell pwd)
KDIR := /opt/rt-n56u/trunk/linux-3.4.x

obj-m := napt66.o
napt66-objs := napt66_main.o napt66_conntrack.o napt66_nat.o napt66_hash_table.o napt66_ftp_alg.o

all:
    make -C $(KDIR) M=$(PWD) modules ARCH=mips CROSS_COMPILE=/opt/rt-n56u/toolchain-mipsel/toolchain-3.4.x/bin/mipsel-linux-uclibc-
clean:
    rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions *.symvers *.order

注意,编译NAPT66时首先要编译好工具链,并且要完整编译过一次固件并且未执行./clear_tree才能成功

把napt66.ko上传到/etc/storage,加载模块:

insmod /etc/storage/napt66.ko wan_if=eth2.2
# wan_if=WAN口名称

要想每次开机自动加载,只需要在自定义设置-脚本-启动后添加上述命令即可。

至此NAPT66已经安装完成,接下来是路由器上的配置。

外部网络(WAN) - IPv6设置,可按下图配置:

05.png

注意其中的IPv6内网地址一栏,如果设置成fc00:101:101::1的话,当访问ipv4和ipv6双栈接入的网站时,大多数浏览器会忽略v6地址而默认使用v4地址;如果将IPv6内网地址设置成2开头的公网地址或者保留地址(如dc00:101:101::1),大多数浏览器就会默认使用v6地址,所以推荐采用图中的dc00:101:101::1作为IPv6内网地址

DNSv6服务器可以使用240c::6666

最后把ip6tables的FORWARD链清空,在自定义设置 - 脚本 - 防火墙规则中,加入

ip6tables -P FORWARD ACCEPT
ip6tables -F FORWARD

重启路由器,手机/电脑启用ipv6并且设置为自动获取,看能否获取到ipv6地址:

ipv6.addr

用浏览器访问http://[fc00:101:101::1]http://[dc00:101:101::1],测试能否进入路由器页面
最后用浏览器访问 https://bt.byr.cn/
enjoy


OpenWrt 18.06.1 可用的简单配置方法

这是在Openwrt 18.06.1 里测试通过的简单配置方法,如果此方法不能在你的固件里正常使用,请看下一节

  • 首先,ssh登入,安装kmod-ipt-nat6
opkg update
opkg install kmod-ipt-nat6
  • 关闭sourcefilter
uci set network.wan6.sourcefilter=0
uci commit network
ifup wan6
  • 设置IPv6 ULA前缀,这里的地址前缀会分配给内网主机,可设置为dc00:101:101::/48,这样大多数浏览器会优先使用IPv6,如果设置为fc00:101:101::/48,则大多数浏览器会优先使用IPv4:
ULA
  • 设置LAN的DHCPv6服务器,勾选"总是通告默认路由":
DHCPD
  • 如果你的网络没有分配IPv6 DNS,那就给wan6手动指定一个:
DNS
  • 最后在"网络-防火墙-自定义规则"中加入NAT规则,eth0.2要改成你自己的wan网卡名:
    ip6tables -t nat -A POSTROUTING -o eth0.2 -j MASQUERADE
NAT
  • 保存配置,重启路由

OpenWrt / LEDE / PandoraBox + ipv6 nat

参考:http://blog.csdn.net/cod1ng/article/details/45421025
ip6tables -t nat -A POSTROUTING -o eth0.2 -j MASQUERADE中,eth0.2要改成你自己的网卡名;
特别注意,如果将lan的v6地址设置成fc00:101:101::1/48的话,当访问ipv4和ipv6双栈接入的网站时,大多数浏览器会忽略v6地址而默认去连v4地址;如果设置成2开头的公网地址或者ipv6保留地址(如dc00:101:101::1/48),大多数浏览器就会默认去连接v6地址,所以推荐使用dc00:101:101::1/48

如果路由器自身能获取到ipv6地址却无法ping通外网ipv6(多半是旧版PandoraBox,新版工作正常),请尝试如下操作:

uci set network.wan6.sourcefilter=0
uci commit network
ifup wan6

另外,如果按照上文配置后内网机器能Ping通ipv6但是无法上网,可能是因为ip6tables阻断,可以尝试清空ip6tables的FORWARD链

ip6tables -P FORWARD ACCEPT
ip6tables -F FORWARD

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,841评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,415评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,904评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,051评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,055评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,255评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,729评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,377评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,517评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,420评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,467评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,144评论 3 317
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,735评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,812评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,029评论 1 256
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,528评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,126评论 2 341

推荐阅读更多精彩内容