我正在尝试在我的计算机上设置到 KVM 的路由。当我尝试从另一台计算机 ping 虚拟机时,收到错误消息“管理禁止”。 VM 可以将 IPv6 流量发送出去(出口),但传入(入口)不起作用。
iptables -F
我使用和sudo ufw status
is清除了我的防火墙规则inactive
。
我的配置如下:
在图形虚拟机管理器中,我创建了一个名为“network-ipv6”的网络,并为其指定了范围2600:3a30:c450:a410::/64
。它为主机分配了 IP 地址2600:3a30:c450:a410::1
并virbr1
接收了 VM 2600:3a30:c450:a410::2
。
我可以在主机/管理程序之间执行 ping 操作并进入虚拟机。伟大的。
我还设置了主机/管理程序之间2600:3a30:c450:a400::/64
以及2600:3a30:c450:a410::/64
通过主机/管理程序的路由。
但是,当我尝试从不同子网 ( 2600:3a30:c450:**a400**:ba27:ebff:fecf:38ba
) 上的另一台计算机执行 ping 操作时,发送方会收到以下内容:
From 2600:4030:2450:a400:c1c1:463c:d0e9:3dbe icmp_seq=59 Destination unreachable: Administratively prohibited
在本例中,:3dbe
是主机/管理程序,而38ba
是发送者。
数据包到达主机的 wifi 接口,我通过tcpdump -i wlp170s0
ICMPv6 回显请求验证是否到达那里。
18:47:05.648414 IP6 2600:3a30:c450:a400:ba27:ebff:fecf:38ba > 2600:3a30:c450:a410::2: ICMP6, echo request, id 15, seq 1, length 64
18:47:05.648472 IP6 2600:3a30:c450:a400:c1c1:463c:d0e9:3dbe > 2600:3a30:c450:a400:ba27:ebff:fecf:38ba: ICMP6, destination unreachable, unreachable prohibited 2600:3a30:c450:a410::2, length 112
注意:unreachable prohibited
。为什么?
路由如下:
$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2600:3a30:c450:a400::/64 dev wlp170s0 proto ra metric 600 pref medium
2600:3a30:c450:a410:::/64 dev virbr1 proto kernel metric 256 pref medium
...
我还看到virbr1
sysctl 设置为转发。
$ sudo sysctl net.ipv6.conf.virbr1.forwarding
net.ipv6.conf.virbr1.forwarding = 1
$ sudo sysctl net.ipv6.conf.wlp170s0.forwarding
net.ipv6.conf.wlp170s0.forwarding = 1
如果相关的话,我的主机/管理程序正在运行基于 Ubuntu 的 Pop_OS。
为什么会出现错误Administratively prohibited
?