我这里的情况很奇怪。如果有人能帮忙,请帮忙。
我们正在讨论使用 Ubuntu 18.04.3 LTS 作为路由器运行的 Linux Box,它有 2 个接口:“lan” - 连接到我的内部 LAN 和“wan” - 连接到我的 ISP。
但是,我的 ISP 需要 PPPoE 连接,因此基本上,“wan”接口仅用作 ppp0 接口的启动器。
我的问题是我无法在此服务器上获取 IPv6 全局地址。
我能够成功连接到我的 ISP。我已经按照这里的教程操作了:http://gruffi.be/mediawiki/index.php/Ipv6_with_PPPoE_on_Ubuntu,但它对我来说不起作用。
因此,我做了以下事情:
/etc/ppp/选项:
+ipv6 ipv6cp-use-ipaddr
/etc/sysctl.conf:
net.ipv6.conf.all.forwarding=1 net.ipv6.conf.ppp0.accept_ra=2
/etc/wide-dhcpv6/dhcp6c.conf:
interface ppp0 { send ia-pd 2; send ia-na 1; }; # Use subnets from the prefix with id 0 id-assoc pd 2 { prefix-interface lan { # Assign subnet 1 to eth0 sla-len 8; # <----- BELANGRIJK: 8 omdat ons klein net 64 en ons groot 56 is en dat het verschil is sla-id 2; }; }; id-assoc na 1 { };
/etc/radvd.conf:
interface lan { AdvSendAdvert on; prefix ::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 { # AdvRDNSSLifetime 3600; }; };
我的 ISP 告诉我它不使用路由器通告,但是它使用 DHCPv6 前缀委派并提供 /64 子网。
问题是我尝试了网络上的更多配置,但没有一个适合我。
当我“ifconfig ppp0”时,它显示:
inet 1.2.3.4 ...
inet6 fe80::xxxx:yyyy
没有全球 IPv6 地址的迹象。
如果我打开宽 DHCP 客户端上的调试并检查 /var/log/syslog,我会发现它尝试将 Solicit 消息发送到 ff02::1:2%ppp0,并且计时器重置。我没有收到回复。
但是,路由器广告在“ppp0”和我的内网局域网上均有效,因为我有一个默认路由:“default via fe80::1”,当我使用“ip -6 r”时。但是,没有全局 IPv6 地址。
我怀疑这与 DHCP 有关。地址获取不正确。
我可以 ping 通:
ping6 fe80::1%ppp0
64 bytes from...
但是当尝试“ping6 google.com”时,它显示:“超出源地址范围”
从长远来看,我需要做两件事:
尝试在“ppp0”上获取全局 IPv6 地址,以便我的网站可以通过 IPv6 地址访问(DNS 已处理)
我需要将 ISP 提供的任何 /64 前缀(比如说:“2001:abcd:dead:beef::/64”)转发到我的内部计算机,但对内部计算机使用固定部分。[/COLOR]
例如:
Computer 1: 2001:abcd:dead:beef::1/64
Computer 2: 2001:abcd:dead:beef::2/64
Computer 3: 2001:abcd:dead:beef::3/64
我既不需要 EUI-64 地址,也不需要私有地址。我希望我的计算机分配一个有序的 IPv6 地址,并指定前缀,而不管动态前缀是什么。
例如,重启后,我可能会得到“2001:1234:beef:dead::/64”。我希望使用“::1", "::2”,等等……
谢谢 !
答案1
对于 #1,您的解决方案可能是使用 pppd 配置中的 ipv6 选项:
+ipv6 启用 IPv6CP 和 IPv6 协议。
ipv6 , 设置本地和/或远程 64 位接口标识符。可以省略其中任何一个。标识符必须以 IPv6 地址的标准 ASCII 表示法指定(例如 ::dead:beef)。如果给出了 ipv6cp-use-ipaddr 选项,则本地标识符是本地 IPv4 地址(参见上文)。在支持唯一持久 ID 的系统上,例如从以太网 MAC 地址派生的 EUI-48,ipv6cp-use-persistent 选项可用于替换 ipv6 , 选项。否则标识符是随机的。
因此,如果您使用 ipv6 ::1,那么它会达到您想要的效果吗?作为实验,您可以用 ipv6cp-use-persistent 替换 ipv6cp-use-ipaddr...这应该会为您的 ppp0 提供可预测的全局 ipv6。从那里您可以开始调整 wide-dhcpv6 和 radvd....