padavan固件配置IPv6 作者: 毕世平 时间: 2024-07-24 分类: 默认分类 前言:之前研究过`Immortalwrt`固件下怎么配置ipv6,近期刷了`padavan`老毛子固件,所以也来水篇文章,记录下老毛子固件怎么配置IPv6,以及配置`cloudflare ddns`把LAN口(br0接口)获取到的IPv6公网地址通过token方式更新到cloudflare域名解析上。 padavan老毛子固件配置开启IPv6操作比较简单,但是也分为使用`路由器拨号`和路由器做`二级路由(上接光猫)`两种情况下的配置。**注意`配置cloudflare ddns`和`配置ss-server`仅针对路由器PPPoE拨号,也就是padavan固件对ipv6有完整控制权限时候有用。** # 一、配置IPv6 ## 1.1 光猫桥接,路由器PPPoE拨号 ![拨号开启ipv6.png](https://shiping.date/usr/uploads/2024/07/2166421593.png) 此种方法要求光猫桥接,路由器拨号。依图设置,IPv6连接类型选择`Native DHCPv6`,也就是原生ipv6,应用页面设置。 ## 1.2 光猫拨号,路由器做二级路由 光猫拨号,路由器接光猫做二级路由时,wan口上网方式切换为`IPOE:动态IP`,根据网上搜到的相关教程,有以下3种便捷配置IPv6的设置方法: - IPv6开启从wan到lan的广播中继(hiboy的padavan固件支持这么操作) ![ipv6广播中继.png](https://shiping.date/usr/uploads/2024/09/283679055.png) ***切记***:PPPOE拨号上网时,不要打开此开关(虽然打开此开关不影响PPPOE模式下ipv6的分配使用)。因为一旦打开这个开关,你局域网下的设备将直接暴露到公网。 - 配置napt66使用ipv6内网地址 napt66类似于ipv4下的nat,它是ipv6网络下的nat,非必要不使用,所有局域网下设备共享二级路由wan口获取到的公网ipv6地址,配置方法如下: ![napt66设置.png](https://shiping.date/usr/uploads/2024/09/1122184226.png) 配置napt66需要手动定义内网ipv6地址,建议依图设置`dc00`开头,然后页面底部的`启用napt66模块`需要开启,点击底部的应用页面设置,再路由器后台手动重启路由器(不要断电再通电重启)。 - 添加开机启动脚本,实现从wan接口到br0接口的ipv6桥接 ![photo_2024-09-11_09-39-42.jpg](https://shiping.date/usr/uploads/2024/09/2543942979.jpg) ### 启动ipv6中继 modprobe ip6table_mangle ebtables -t broute -A BROUTING -p ! ipv6 -i eth3 -j DROP brctl addif br0 eth3 注意,其中`eth3接口`为你wan上网使用的接口(也就是padavan路由器的wan口,跟光猫连接的那个接口),可以通过下述方式确认是否是`eth3`。 ![ipv6桥接接口.png](https://shiping.date/usr/uploads/2024/09/4017374866.png) # 二、配置ipv6 ddns `padavan`老毛子固件支持的内网穿透方式很多,因为不少人可能会选择在`cloudflare`上面托管自己的域名,刚好固件支持,配置前需要你新建一个区域令牌并获取token,这个token在使用acme申请证书时候就曾经获取过,具体获取方式可以参考此篇文章:[(续)acme.sh脚本使用新cloudflare api令牌申请证书](https://shiping.date/82.html "(续)acme.sh脚本使用新cloudflare api令牌申请证书") 获取到token以后,需要手动在cloudflare域名dns解析那里手动添加一条AAAA记录,`ddnsv6.example.com`,记录值随便写一个ipv6地址,比如`240e::6644`,反正之后会被脚本更新替换。 padavan这里操作cloudflare ddns,如下图操作即可: ![cloudflare ddns配置.png](https://shiping.date/usr/uploads/2024/07/2855987776.png) 需要注意的是,脚本默认是获取`wan`口的公网地址,但是我们期待的是获取到`lan`口的公网地址,那么需要对脚本进行更改,点击此页面最下面的脚本: //找到下面这一块儿区域 arIpAddress6 () { # IPv6地址获取 # 因为一般ipv6没有nat ipv6的获得可以本机获得 ifconfig $(nvram get wan0_ifname_t) | awk '/Global/{print $3}' | awk -F/ '{print $1}' #curl -6 -L --user-agent "$user_agent" -s "https://[2606:4700:4700::1002]/cdn-cgi/trace" | awk -F= '/ip/{print $2}' } //因为lan口对应br0接口,那么直接修改即可,原先的一行可以添加#注释掉,改动后 arIpAddress6 () { # IPv6地址获取 # 因为一般ipv6没有nat ipv6的获得可以本机获得 # ifconfig $(nvram get wan0_ifname_t) | awk '/Global/{print $3}' | awk -F/ '{print $1}' ifconfig br0 | awk '/Global/{print $3}' | awk -F/ '{print $1}' #curl -6 -L --user-agent "$user_agent" -s "https://[2606:4700:4700::1002]/cdn-cgi/trace" | awk -F= '/ip/{print $2}' } 脚本改好以后,就可以点击页面最下方的应用页面设置,然后等待脚本执行,看日志会发现已经更新,到cloudflare后台也可以看到地址已经更新为LAN口获取到的公网ipv6,注意你此时并不可以通过域名`http://ddnsv6.example.com`访问到你路由器后台管理界面,因为防火墙端口没有开放,需要在ip6tables filter表INPUT链里做开放,但是运营商有没有开放80端口也不好说,一般不推荐这么操作。 脚本最下面还教了怎么给局域网下的设备做ddns,需要根据域名和mac地址填写正确的格式,这样它也可以同时给局域网下的设备ipv6公网做ddns更改,需要注意的是,仅仅是ddns记录,你并不可以直接访问到。 # 三、路由器跑ss-server padavan固件内置了不少功能强大的插件,其中就包括`ss-server`,这个也就是`shadowsocks`的服务端,方便我们在外面通过ipv6直接以相对安全的方式连回家里。 ![padavan跑ss服务.png](https://shiping.date/usr/uploads/2024/07/3550561503.png) 自己选择加密方式,密码,是否开启udp,然后应用页面设置即可,连接方式就不讲了。需要了解的是,从日志里面可以看到,插件启动以后,默认监听 `0.0.0.0` 和 `[::0]` 所有ipv4和ipv6地址,而且脚本会自动对你设置的端口对其`tcp/udp`端口流量设置防火墙规则,自己就不用再操心防火墙的设置了,这也是比较推荐的连接方式。 标签: none