我这里有一个简单的网络。2
虚拟机(ubuntu 16.04)(VMware)并与 GNS3 中的路由器连接
我只使用 IPv6 地址。
在 VM2 中我安装了 kamailio sip 服务器。
vm1 ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:54:50:63
inet6 addr: 2001:1bcd:11::2/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe54:5063/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:390 errors:0 dropped:0 overruns:0 frame:0
TX packets:116 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:42376 (42.3 KB) TX bytes:12708 (12.7 KB)
vm2 ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:8d:2c:56
inet6 addr: fe80::20c:29ff:fe8d:2c56/64 Scope:Link
inet6 addr: 2001:1bcd:1111::2/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:66 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12952 (12.9 KB) TX bytes:2742 (2.7 KB)
路由器 gns3
sh ipv6 int br
FastEthernet1/0 [up/up]
FE80::C801:1EFF:FE7C:1C
2001:1BCD:11::1
FastEthernet1/1 [up/up]
FE80::C801:1EFF:FE7C:1C
2001:1BCD:1111::1
vm1 能够 ping 通自己的 IP、vm2 IP、路由器接口 0/1 和路由器接口 1/1,没有任何问题。
IP 地址为 2001:1BCD:1111::2 的 vm2 只能 ping 到路由器接口 0/1 和路由器接口 1/1。
问题是 vm2(2001:1BCD:1111::2)无法 ping 通自己的 IP 地址并且无法 ping 通 VM1 IP。
VM2 PING 自己的 IP
PING 2001:1BCD:1111::2(2001:1bcd:1111::2) 56 data bytes
From fe80::20c:29ff:fe8d:2c56 icmp_seq=1 Destination unreachable: Address unreachable
From fe80::20c:29ff:fe8d:2c56 icmp_seq=2 Destination unreachable: Address unreachable
From fe80::20c:29ff:fe8d:2c56 icmp_seq=3 Destination unreachable: Address unreachable
^C
--- 2001:1BCD:1111::2 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4102ms
VM2 PING VM1
PING 2001:1BCD:11::2(2001:1bcd:11::2) 56 data bytes
From fe80::c801:eff:fe7c:1d icmp_seq=1 Destination unreachable: Beyond scope of source address
From fe80::c801:eff:fe7c:1d icmp_seq=2 Destination unreachable: Beyond scope of source address
From fe80::c801:eff:fe7c:1d icmp_seq=3 Destination unreachable: Beyond scope of source address
^C
--- 2001:1BCD:11::2 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2003ms
我不知道为什么我的 vm2 ping 自己的 ip 而 vm1 使用链路本地地址而不是使用全局地址。
编辑1
这是我的 ip -6 路由显示
2001:1bcd:1111::2 dev eth0 metric 1024 pref medium
2001:1bcd:1111::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via 2001:1bcd:1111::1 dev eth0 metric 1024 pref medium
/etc/网络/接口
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet6 static
pre-up modprobe ipv6
address 2001:1BCD:1111::2
netmask 64
gateway 2001:1BCD:1111::1
答案1
您的 vm2 的 ipv6 源是本地链路。无法路由。
fe80:: 10 link-local Unroutable autoconfigured addresses used on a LAN, e.g. for DHCPv6
也许尝试将其设置2001:1bcd:1111::1
为 vm2 的默认网关:
sudo ip -6 route add 2001:1bcd:1111::1 dev eth0
用于ip -6 route show
查看网络接口的默认 IPv6 路由
将路由器的接口配置为 2001:: 地址