如何只给路由器后的某个设备单独分配 IPv6 地址 - V2EX

如何只给路由器后的某个设备单独分配 IPv6 地址

2020-04-22 00:01:30 +08:00
 swiftg
移动宽带没有公网 IPv4,有 IPv6 地址,外网可以直接入站访问家里的 nas,但是 IPv6 出站访问外网的线路质量就特别差,好像总共出国带宽只有 20G 。偏偏电脑和手机在获取 IPv6 地址后都会优先使用 IPv6 访问,造成访问比如 V2EX 速度很慢。

不想手动在每个设备上配置 IP,有些设备还不能手动配置。请问有没有办法可以在路由器上设置只给某个设备分配 IPv6 地址。路由器是 openwrt 和 padavan
20055 次点击
所在节点    
宽带症候群
68 条回复
zro
2020-04-22 00:06:43 +08:00
openwrt 装个 Polipo,需要 IPv6 就接到 Polipo 代理。。
zro
2020-04-22 00:08:07 +08:00
顺便把 openwrt 的 dhcpv6 关掉。。
lns103
2020-04-22 00:11:30 +08:00
直接在路由器上用 smartdns,开启 SOA,屏蔽 ipv6 的地址解析,而且外部 ipv6 的访问不受影响。
ps:电信的 ipv6 出国更恶心,大部分都绕欧洲,cf 美国可以直连,但是也辣鸡得不行
swiftg
2020-04-22 00:27:05 +08:00
@lns103 谢谢,smartdns 这个我也想到了,但这不是完美的方案,nas 上我还是需要正常解析 IPv6 的 dns,包括其他设备,有时需要 dig nslookup 调试些东西

@zro 谢谢,路由器上端口转发到内网我也想到了,我用的 socat,实际测试性能有损失。直接访问 nas 的 IPv6 地址 15-20MB/s 跑满宽带,socat 端口转发到 nas 的内网 IP 只有 10MB/s 。而且我还想 nas 能出站访问外网的 IPv6 地址
zro
2020-04-22 00:45:42 +08:00
@swiftg #4 好久好久之前,Google 见过将 PPPoE 的 v4/v6 分离的,把 v6 数据包 drop 掉给其他设备,好像是这样子,具体记不太清。。😣
updateing
2020-04-22 01:02:09 +08:00
可以考虑关掉 SLAAC 只用 DHCPv6,然后禁止 DHCPv6 动态分配(只允许手动添加的 static lease ),再把 NAS 加到 static lease.

我记得 OpenWrt 上这么做好像得魔改 odhcpd,或许用 dnsmasq 做 DHCPv6 服务器会更可行?
qingxi
2020-04-22 01:20:12 +08:00
要么你给 nas 单独设置 DNS,其他内网
qingxi
2020-04-22 01:23:32 +08:00
@qingxi 其他内网 DNS 屏蔽 ipv4 解析
swiftg
2020-04-22 02:06:01 +08:00
@updateing 谢谢,没找到禁用动态 DHCPv6 的地方。我的思路是想在防火墙把内网的 DHCPv6 流量全部 reject,再单独允许 nas 的 DHCPv6,但弄了半天 reject 规则不起作用,DHCPv6 还是在所有内网设备上都能工作。dnsmasq 我明天研究研究
swiftg
2020-04-22 02:07:52 +08:00
@qingxi 单独 dns 这个是个不错的曲线备选方案,但我还是想弄个完美的解决办法
jim9606
2020-04-22 04:47:53 +08:00
没实践过的方案

openwrt 为只使用 V4 设备单独开一个接口和防火墙区域

交换机页面为接入 LANV4 的网口划分独立 VLAN (例如 VLAN3: eth0-tagged, LAN4-untagged,其余为 off,产生交换机 eth0.3,如果接 eth1 就是 eth1.3 )

防火墙创建 LANV4 区域,接口创建的 LANV4,另外分一个地址池,例如 192.168.2.1/24,该接口关闭 RA 、NDP 、DHCPv6,为加入的物理接口创建桥接(上面的 eth0.3,第二个 SSID )

LANV4 防火墙的转发设置跟 LAN 保持一致(出 /入 /转发为允许,允许目标区域 LAN+WAN,允许源区域 LAN )

windows 系统可以考虑修改策略优先 ipv4
( https://support.microsoft.com/zh-cn/help/929852/guidance-for-configuring-ipv6-in-windows-for-advanced-users)

linux 系统可修改 /etc/gai.conf 实现
swiftg
2020-04-22 08:10:51 +08:00
@jim9606 谢谢这么详细的方案,可惜我的情况复杂了点,我路由器 4 个 LAN 口只保留了一个,下面接的一个 24 口交换机,所有有线设备都是接的这个交换机。剩下的 3 个 LAN 口都配置成了 WAN 口使用,接了两条宽带和 IPTV 。另外老家的 padavan 没有配置 switch 的功能

主要是移动设备不方便手动配置和调整优先级
Archeb
2020-04-22 08:18:50 +08:00
我认为用 iptables 屏蔽特定包可以做到这一点
Finest
2020-04-22 08:25:39 +08:00
联通的 ipv6 感觉也是绕美国,traceroute -6 看,先到美国,再到香港
swiftg
2020-04-22 08:28:38 +08:00
@Archeb 我也是这么想的,但是我尝试屏蔽内网所有的 DHCPv6 流量( udp 546,547 端口),但是没有成功,设备照样可以获取 IPv6 地址。

可否指导下怎么设置防火墙?
swiftg
2020-04-22 08:34:47 +08:00
@hand515 三家的 IPv6 出口带宽都太小,V 站联通走日本,但是延迟炸裂,移动走香港,电信走美国,丢包都很严重,总之出国根本没法使用
cwbsw
2020-04-22 10:14:59 +08:00
@swiftg RA 关了吗?
swiftg
2020-04-22 11:57:30 +08:00
@cwbsw 谢谢你的提醒,我发现之前屏蔽了 DHCPv6 后客户端获取的 IP 果然是通过 RA 获取的。

我尝试关闭 RA,可是 nas 虽然有 DHCPv6 获取的 IPv6 地址,却不能上网了,出站都是 Network is unreachable
updateing
2020-04-22 12:25:44 +08:00
@swiftg RA 最好不要关闭, 它是获取默认路由的方式之一。只需要关闭 SLAAC 就足够了,就是 RA 里面对应前缀下的 Autonomous 位。这个用原版的 odhcpd 就可以设置,应该是页面上把 Router Advertisement 设置成 Stateful-only 就行.
zro
2020-04-22 12:29:04 +08:00
想到一个:OpenWRT 不给 lan 分配 v6,然后再搭个 OpenVPN 或 WireGuard 之类的,NAS 就能绕个弯拿到 v6 地址了。。虽然在内网间搭个 VPN 是夸张了点~🥱

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

t/664819

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86