|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 90998 于 2019-12-30 01:52 编辑
二级路由 的IPV6
之前的帖子也说过IPV6 二级中继必须用 6relayd,来中继。
让前面后续设备PC能获得公网的IP,否则挂内网要映射端口。
IPV6这个东西,其实一般来说,地址都是用不完的。
所以他是没有NAT这个概念的,他的地址是通过PD
(prefix delegation) 就是地址委派,来分配IPV6地址。
然后通过服务器往下分发,具体就不多说了,
这里之说家用路由器的PD中继为什么不行。
因为IPV6的PD的特性,6relayd一段时间后会失效,
只能不停的给某个ipv6地址通讯寻求连贯。
而不用6relayd的话,他PD的信息不能透过路由器。
这是很蛋疼的事情,假如直接透过去,那路由器就没用了,
变成交换机了。中转过去,他又要反不全需要的东西。
或者说,换头没换完全,一段时间就没了.........
这里还有恩山 ago 兄弟提供的方案,接下来我也要试一试
因为6relayd 总是丢地址,必须一直ping -6 www.163.com
- 总结一下,完整方法如下:
- 1、用网线接二级路由器的WAN口,或者通过WIFI无线中继,一级路由器的信号,确保二级路由器可以上网,然后安装如下软件:
- opkg update
- opkg install odhcp6c odhcpd
- 2、添加vwan6,(wan6一般会自带,不用新建)
- 配置协议为dhcpv6,
- 接口选择中继的无线信号,
- 防火墙选择wan,
- “请求指定长度的 IPv6 前缀”的值改成56。
- 3、在启动项目/etc/rc.local文件里添加:
- sleep 60
- /etc/init.d/odhcpd restart
- exit 0
- 4、修改/etc/config/dhcp文件,在config dhcp 'wan'这句的上方添加如下配置:
- 无线中继的话,照此修改:
- config dhcp 'vwan6'
- option interface 'vwan6'
- option ra 'relay'
- option dhcpv6 'relay'
- option ndp 'relay'
- option master '1'
- 保存,退出。
- 有线中继的话,照此修改:
- config dhcp 'wan6'
- option interface 'wan'
- option ra 'relay'
- option dhcpv6 'relay'
- option ndp 'relay'
- option master '1'
- 保存,退出。
- 5、修改lan接口的dhcp服务的ipv6配置。
- ra,dhcpv6,ndp这3项都改为中继模式。
- 6、重启路由后,二级路由即可正常中继一级路由器的ipv6了,有线中继和无线中继都可以。
复制代码
此外还有一种就是路由无法获得IPV6地址而下面的可以获得。
简单说就是IPV4走路由,IPV6跳过路由了。
- modprobe ip6table_mangle
- ebtables -t broute -A BROUTING -p ! ipv6 -j DROP -i eth2.2
- brctl addif br0 eth2.2
复制代码
这些都不是正路,正路还是ipv6 relay , 但是无论是6relayd还是odhcpd
都会不定时断网。
那么看看恩山上iamfool 的一篇帖子
- 移动这几天分配了ipv6,可惜掩码是/64的,没法再分子网,
- 不过openwrt的odhcod relay模式可以让lan端设备都获得公网ipv6地址,
- 但是死活都不能ping通ipv6的网站。google一大轮,类似情况很多但都没有解决方案。
- 后来发现只要lan端设备ping路由器的wan端ipv6地址,ping第一下延时较长,
- ping通后再访问ipv6网站就正常了。但不可能每个设备都这样搞,
- 一个是麻烦,另外是手机、ipad等设备调用ping命令很难。
复制代码
也就是说relay之后,路由表因为各种原因没有自动更新。
或者说打开br0的RA
sysctl -w net.ipv6.conf.br0.accept_ra=2
无效
JSP1256 在CNBLOG上写道
https://www.cnblogs.com/jsp1256/p/7599686.html
使用此种方式,NDP不会转发同一前缀下的NS邻居请求到上级网关,
故如果有设备不接在本路由器的LAN区域下而是WAN区域下,
但是前缀相同,后端设备会因为得不到NA响应而显示无法连接。
解决方式是路由器上ping一次即可,路由器会向WAN口发送NS请求
从而得到上级网关的响应,邻居表就会建立,链路将被打通
(IPV6-NAT方式不受此影响)。
也就是说,最终问题在于IPV6的 “前缀相同” ,那简直是无解啊。
小节一下,把IPV6的PD中继到路由后面,只能IPV6直通推送,
如果简单的中继的话,会因为地址前缀相同导致关闭通路。
|
|