OpenWRT开启IPv6中继功能教程OpenWRT开启IPv6中继
IPv6最优的接入方式是PD(Prefix Delegation),这种方式允许用户划分多级子网。但是,我用的是中国电信光宽带,目前的套餐并没有提供PD接入,于是我只能选择IPv6中继方式,由光猫给子网设备分配IPv6地址。本文就介绍如何开启OpenWRT的IPv6中继功能,使与路由器连接的设备能获取来自光猫的地址。
然而,网络上的教程与我的OpenWRT界面大相径庭,乍看之下像是不支持一些功能特性。幸运的是,可以通过修改配置文件的方式来进行。
通常教程的一般步骤
我参考了一些教程,可以全程通过LuCI界面来配置,一般是这样:
-
打开“接口”–>“WAN6”,然后找到“DHCP服务器”。有些版本是在界面上方的标签里,“防火墙设置”右侧;另一些版本是在界面底部有单独一栏。
-
再点击“IPv6”标签,把“路由通告服务”、“DHCPv6服务”和“NDP代理”全部改成“中继模式”。
-
再打开“LAN”接口的设置,然后同样找到“DHCP服务器”(位于界面下方),点击“IPv6”标签,同样把上述3个选项改为“中继模式”。
然而,问题来了:我手上3台OpenWRT路由器,“WAN6”接口设置里根本就没有“DHCP设置”! 就像这样:
我的其中一台路由器,“WAN6”接口设置里根本就没有“DHCP设置”。
截至目前,我还尚不清楚原因,可能与OpenWRT的版本或编译过程有关。在编译时,我可能漏了一些选项,以致LuCI界面没有为WAN6接口显示DHCP设置项。
有些设置项在LuCI没有显示,并不代表它不支持,只是可能被屏蔽了。此时,修改配置文件就是首选方案。修改文件不仅仅可以用SSH登录来修改(使用OpenSSH),也可以借助WinSCP等工具。
下面就是直接修改配置文件的方式
前提条件
在进行以下操作之前,请确保你已经具备以下条件:
1. 一台刷有OpenWRT固件的路由器。
2. 通过SSH或者类似工具可以访问到路由器的终端。
3. 基本的命令行操作知识。
OpenWRT开启IPv6中继操作步骤
第一步:登录路由器
首先,你需要通过SSH登录到你的OpenWRT路由器。假设你的路由器IP地址是192.168.20.1,那么你可以使用如下命令进行登录:
ssh root@192.168.20.1
输入密码后,你将登录到路由器的终端。
第二步:编辑配置文件
接下来,你需要编辑OpenWRT的DHCP服务器配置文件。使用vim编辑器打开配置文件/etc/config/dhcp:
vim /etc/config/dhcp
第三步:修改WAN接口配置
在打开的配置文件中找到config 'wan'部分,在我的设备上,原本仅有interface和ignore两个选项(保持它们不动),那么就在原来基础上添加ra、dhcpv6、ndp和master四个选项。如下面的例子所示:
config dhcp 'wan' option interface 'wan' option ignore '1' option ra 'relay' option dhcpv6 'relay' option ndp 'relay' option master '1'
各个选项的含义如下:
- ra:路由通告服务,改为relay即“中继模式”。
- dhcpv6:DHCPv6服务,同样改为relay。
- ndp:NDP代理,同样改为relay。
- master:具体含义还要参考文档。必须设置为1才能保证IPv6的中继起作用。
第四步:修改LAN接口配置
找到config 'lan'部分并修改。通常这一部分默认已经有了多个选项,保持其他选项不动,只需要修改ra、dhcpv6、ndp和master四个选项(如果没有就自己补)。修改方式同上。
config dhcp 'lan' option interface 'lan' option start '100' option limit '150' option leasetime '12h' option dhcpv4 'relay' option ra_slaac '1' list ra_flags 'managed-config' list ra_flags 'other-config' option ra 'relay' option dhcpv6 'relay' option ndp 'relay'
通常情况下,LAN部分默认已经有了多个选项,你需要保持其他选项不动,只修改上述四个选项(如果没有就自己补)。
第五步:保存并应用设置
完成修改后,保存文件并退出vim。然后运行以下命令提交设置:
uci commit dhcp
你也可以在LuCI的任意一个设置页面中,点击底部的“保存/应用”按钮生效。
第六步:禁用“禁止解析 IPv6 DNS 记录”功能
完成IPv6中继的设置后,还需要留意一个容易忽略的功能:“禁止解析IPv6 DNS 记录”。这个功能在旧版本(19.07或更早)默认启用,可能是因为在当时解析IPv6 DNS会导致一些站点无法访问。不过,如今的IPv6 DNS服务器已经足够成熟,所以不必再打开这个功能了否则路由器将无法解析任何IPv6域名。
依次进入“网络”→“DHCP/DNS”→“高级设置”,取消勾选“禁止解析IPv6 DNS记录”,然后保存并应用设置即可。
第七步:清空 IPv6 ULA前缀
ULA(Unique local address,唯一本地地址)是用于本地网络的IPv6地址。以fc、fd等地址开头时,属于内网地址,相当于IPv4的192.168,无法通过公网访问。OpenWRT默认的ULA地址前缀就是以fd开头的内网地址,因此建议将其清空。点击“网络”→“接口”,找到最下方的“全局网络选项”,将“IPv6 ULA前缀”文本框清空,然后保存并应用设置。
注意事项
需要注意的是,启用IPv6中继也有副作用。如果在OpenWRT运行全局代理、透明代理的应用,可能会导致连接路由器的设备无法访问代理网络。对于需要代理的站点,也只能访问它们的IPv6服务,不能访问IPv4服务。原因可能是这些应用默认会访问IPv6站点,但OpenWRT使用的DNS却无法解析。这些都需要你根据实际情况做出取舍。如果既需要透明代理又需要IPv6,可以考虑多配一台路由器,根据需要连接不同的热点。
通过以上步骤,你可以在OpenWRT路由器上成功开启IPv6中继功能。
点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)
饿了么红包
本站附件分享,如果附件失效,可以去找找看