2-Openwrt ipv6之-pppoev6客户端
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2-Openwrt ipv6之-pppoev6客户端相关的知识,希望对你有一定的参考价值。
参考技术A pppoe拨号为wan上面的另一种方式,所以需要将uci里面的上网模式proto 改成pppoe类似上面的pppoe拨号的启动脚本也在 ./lib/netifd/proto/ppp.sh 脚本里面的 ppp_generic_setup 函数
pppoe的uci在官网可以看到:
https://openwrt.org/docs/guide-user/network/wan/wan_interface_protocols
刚开始只会有ppp的进程:
等到pppoe-wan起来之后,才会自动启动odhcp6c进程
ubuntu上面启动pppoe-server, sudo pppoe-server -I eth0 -L 100.0.0.1 -R 100.0.0.100 -N 20 ,服务器IP为100.0.0.1,起始地址为从100.0.0.100开始分配。
这时候路由器设置成pppoe模式拨号,这时候路由器端的pppd进程会发送``PPP IPV6`消息去请求IP地址,请求成功之后,在ubuntu上面会出现一个ppp0的接口,路由器上面会生成一个pppoe-wan的接口。ubuntu的IP为100.0.0.1,路由器的IP为100.0.0.100
因为pppoe-wan端口没有MAC地址,所以没办法自己根据EUI规则生成一个本地地址,当pppoe添加了ipv6的选项之后
ubuntu上面会出现一个ppp0的端口,路由器可以正常ping 100.0.0.100
路由器上面会出现一个pppoe-wan的端口,路由器可以正常ping 100.0.0.1
PPP IPV6CP 请求成功之后会,两端都有各自的本地链路IPV6地址,后面就可以启动odhcp6c客户端去获取ipv6全球地址了。
ipv6的dhcpv6服务器是要建立在ppp0/pppoe-wan端口的基础上,所以要在ppp0拨号成功后,在路由器odhcp6c客户端的DHCP请求超时之前,ubuntu要启动在ppp0端口上的dibbler服务器。
修改
启动dibbler服务器
后面就是走正常的dhcpv6协议了,odhcp6c进程会在pppoe-wan启动之后自动被拉起来,开始请求dhcpv6地址。
ping本地链路地址的时候使用ping6指定端口
路由器支持ipv4和ipv6的pppoe在同一个会话pppoe-wan,也可以支持ipv4和ipv6在不同的会话,ipv4位于pppoe-wan,ipv6位于pppoe-wan2。
当在同一会话时,跟上面说到的配置一致
当在两个会话时,添加一个wan2,把wan的ipv6设置为0,wan6的ifname改成pppoe-wan2
OpenWrt关闭IPv6
IPv6可能会带来一些莫名其妙的问题,如果无IPv6的使用刚需(比如IPv6的DDNS),可将其关闭。
网络→接口,在LAN口的右侧点击编辑。
高级设置→IPv6分配长度,选择已禁用。
DHCP服务器→IPv6设置,DHCP v6服务选择已禁用,NDP代理选择已禁用。
以上是关于2-Openwrt ipv6之-pppoev6客户端的主要内容,如果未能解决你的问题,请参考以下文章