可以自己(不在路由器上)内网搭建 DHCPv6 服务么

2021-01-06 09:28:41 +08:00
 yangyaofei

家里有 ipv6/64 的,但是现在的网件路由器不支持 ipv6 的 DHCP DP,只能分配内网 ip,也没法内网穿透(ipv6 貌似就没这个东西)

但是有个远程的机器是 ipv6 的(ipv4 需要走审计算流量),想 frp 一下但是用现在的路由器没法配置了....

能不能和 ipv4 一样自己在内网搭建一个 DHCP 服务器替代现有的路由器上的 DHCPv6,让内网机器有公网 ipv6 啊

5556 次点击
所在节点    宽带症候群
53 条回复
deorth
2021-01-06 09:49:51 +08:00
同问,我的需求不同,我需要不使用路由器提供的 DHCPv6,因为路由器基本上无法配置 DHCPv6,无法实现一些自定义。v4 上在同一个二层内自己开就可以了,v6 需要从上游获取网段路由等,WAN 口不在本机上不知道能不能实现
tankren
2021-01-06 09:56:34 +08:00
PD 吧 不是 DP..
yangyaofei
2021-01-06 10:05:23 +08:00
@tankren 啊,对,ipv6 不熟悉都是片段知识...感觉 ipv6 系统性的书貌似不多啊,像计算机网络那本一样的那种
yangyaofei
2021-01-06 10:13:00 +08:00
@deorth 感觉有点悬,关键是不太清楚本地的公网 ip6 的路由是怎么实现的
f6x
2021-01-06 10:14:01 +08:00
它的名字叫路由器, 你想绕过它向外发数据?
no1xsyzy
2021-01-06 11:06:01 +08:00
走 NAT 的话可以
yangyaofei
2021-01-06 13:22:31 +08:00
@no1xsyzy nat 不就要配置路由器了么,关键是路由器没这个配置啊
txydhr
2021-01-06 13:42:55 +08:00
可以,但是如果不是固定 ipv6-pd 的话你,每次重播都得刷新你 dhcpv6 服务器的前缀,毕竟 pd 是分给路由器的。
sasalemma
2021-01-06 14:15:18 +08:00
路由器不能搞起的没有什么好办法。

客观上来说,只有 2 个方案:

1 、路由不支持 PD 下发的,但能搞得起 IPV6-NAT 的,下发是内网 IPV6 地址,NAT 出去,访问公网。

2 、socat,把内网 ipv4 的访问 socat 到外网 ipv6 的端口。
sasalemma
2021-01-06 14:27:18 +08:00
@deorth 目前这样的 ipv6 都是通告模式,如果不支持下发 pd 的,基本不能实现。

ipv6 这个东西有些搞笑,虽然每个 ipv6 地址都是全球通信地址,但是还是需要一个网关,需要 546/547 来 pd 分发到下游。

路由的角度,还是的一级一级网上,至少越级往上,都是需要从网关出去的。

下级有 ipv6 地址,路由网关不对,或者获取不对,几乎就出不去。

nat 的话,也是需要在 nat 那个网关修改下第一跳为网关的内网 ipv6 地址,而非网关的全球地址,要不并不通。

如果桥接,把 wan 桥接到 lan,只让 ipv6 的 pd 通过,去掉 ipv4 的,试下这个:

https://github.com/cvmiller/v6brouter
deorth
2021-01-06 14:44:03 +08:00
@sasalemma 感谢,我还是考虑搞个 openWRT 做主路由吧
wazon
2021-01-06 15:55:11 +08:00
网件没有 IPv6 Passthrough 么?
如果能 SSH 的话,可以参考《多种无 PD 的情况下给内网配置 IPv6 的方法》
INTEL2333
2021-01-06 20:10:01 +08:00
radvd 试试吧,简单又好用
sasalemma
2021-01-06 20:40:58 +08:00
@INTEL2333

这个对于楼主来说不是更复杂了,RADAD 这类守护程序,能在路由器安装运行,来自动分配全球单播地址,那路由器也能安装 NAT6,也能 passthrough 了。

若作为单独 server 安装,全内网分配单播地址,或者 ULA 地址让本地设备可以本地路由,网关没有啊。

哪怕楼主拨号是得到了不变动的单播前缀,用 RADVD 自动派发无状态,设备都有了单播地址,路由到网关呢?

网关 LAN 这边只有 ipv4,这个东西就好像 ASUS 的路由一样,web 只监听了 ipv4,路由是支持 ipv6 的,哪怕是 ULA 唯一本地地址访问路由,也打不开设置的 web 网页。

网络边界网关到内网这个没双栈的问题啊。
no1xsyzy
2021-01-06 21:34:16 +08:00
@yangyaofei 我看花了没看到需要公网 IPv6,然后删的时候手滑发出去了……
yangyaofei
2021-01-06 22:45:58 +08:00
@sasalemma socat 也是需要路由器要设置转发或者外网有机器吧? 然后既然内网和外网网段不一样,其实也是 nat 吧,只不过是没法设置...还是有路由? 感觉唯一的办法就是再弄一个路由.....
yangyaofei
2021-01-06 22:47:33 +08:00
@wazon 网件的固件一言难尽越更新兼容性越差,已经 downgrade 一个大版本了...可能最新的有,恩,可能.....
sasalemma
2021-01-06 23:03:58 +08:00
@yangyaofei socat 不是“nat”,应该说是代理,socat 是可以跨 v4 和 v6 转发的。

比如外连入内,IPV6 的 wan 到 IPV4 的 LAN,WAN_IP 2409:1234:abcd::5678,LAN_IP 10.10.10.3,内网设备的端口是 3389,WAN 口开放 IPV6 的接入端口 3390,走 TCP 流量,那 socat 就是:

socat TCP6-LISTEN:3390,reuseaddr,fork TCP4:10.10.10.3:3389

反过来也一样。监听本地网关(路由 LAN_IP )比如 10.10.10.1,端口 1234,数据转发到通过 WAN 的出去的外网的 IPV6 服务器 2001:1111:2::3 的 22 端口,就是

socat TCP4-LISTEN:1234,reuseaddr,fork TCP6:[2001:1111:2::3]:22

那么 ssh -p 1234 root@10.10.10.1 就等于 ssh -p 22 root@[2001:1111:2::3] 了。

不过 socat 很大问题是单个端口转发,不过可以脚本多条命令建立多个端口。监听也可以限定那个地址监听,比如 wan 的 IP 或者 LAN 的 IP 。

性能是有损失的。不过 4 转 6 这样的方便。普通应用,比如 ssh,web 页面,还有远程桌面,都没什么大问题。

问题是,网件一般不会有 socat 这类的。换个路由,带 PD 下发的不就好了,估计是很早前的路由器了,16-17 年的基本都是支持 IPV6 下发的才对。有本地链路 FE80 那些就没有什么意义,那些包都出不了 WAN 口。
yangyaofei
2021-01-07 00:25:20 +08:00
@sasalemma R8000, 很稳定而且没钱...socat 就是做 6to4 啊,那在这里是没法用了,肯定是在路由上菜有意义

. 我有个问题,我开了一个 aws 机器测试,发现我本地局域网访问 aws 机器的时候那边显示的是我本地的地址登录的而不是路由器是公网 ip6 登录的,如果是 ip4 肯定是显示路由器的地址.

这里的问题是,aws 机器那边是怎么知道这个地址的?仅仅是 ip6 数据包的一个字段的内容还是 ip6 数据包的地址就写的是这个呢? 如果 ip6 的地址(或者里面某个字段加 mac 地址之类的让他能路由过去)是写的是这个的话,理论上我就是可以连上我本地的地址的,大不了我在服务器上写一个数据包转换的程序就好了...
sasalemma
2021-01-07 02:33:19 +08:00
@yangyaofei 网件的 ipv6 确实基本残废,有的省份配置对,在 ipv6 设置那个,选 pppoe 和 ipv4 同账号,下面不是选 6-4,选自动配置就是 pd 下发的。

呃,另外并没有看懂。本地地址。

另外的曲线救国方式,就剩下 SSH -L/-R 这样代理访问了。

aws 双栈的情况,然后你这边网络也是双栈的情况,win 系统或者其他系统,会调度,可以是访问 AAAA,也可访问 A 记录,默认情况,有 ipv6 的 ULA 地址和全球单播地址,会优先使用 ipv6 去连接服务器,除非服务器是单栈。否则两个都是随机的,比如 openwrt.org 是双栈的,查询 dns 时会返回 AAAA 和 A 记录 2 个地址,浏览器去浏览的时候,看系统调度,可能连的是 ipv6,也可能是 v4 。

如果你指定要 ipv6 去连接的话,就得掐死 v4 的连接。所以就算你 pc 获得了公网 ipv6,也不是都会用 ipv6 去连接服务器的。

这个也就是为什么现阶段,开了 ipv6 访问反而变慢的原因,系统默认先走 ipv6,但遇到没有双栈,或者 ipv6 线路由差的情况,再回到 v4 访问,感官上就慢了。

如果是单线路的,只能 ipv6 访问的,ipv4 要登录访问的那种,你只有 ipv4 出的压根就上不去的。上去了就是路由做了 6-4 了。两个网本来就一个长江和黄河,两条路都不在一个道上的。那些转换的都是打洞中转的,用双栈的服务器,比如路由,双栈的 vps 。

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

https://www.v2ex.com/t/742055

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

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

© 2021 V2EX