我是 arch 和网络方面的新手。阅读文档和许多帖子后,我仍然无法解决我的问题。
我在 VirtualBox 上运行 Arch。主机使用无线连接。我安装了 Arch,并按照安装指南设置了主机名和主机名解析。但是没有安装映像,网络就无法工作。所以我安装dhcpcd
并启用了它。现在我可以 ping8.8.8.8
并得到响应。但我仍然无法 ping 域名。我收到了no ipv6 routers available
来自 的消息dhcpcd
。
我认为这与 DNS 解析有关。我的/etc/resolv.conf
除了一些注释外都是空的。如果我手动添加nameserver 8.8.8.8
上述内容这里,问题解决了。但我的理解是,我不需要手动设置文件resolv.conf
,它应该由 来处理hdcpcd
。
我认为问题出在 DNS 解析上,详情如下这里。我启动了dhcpcd
并且systemd-resolved
,现在我可以 ping 一个域名,尽管dhcpcd
客户端仍然有相同的错误消息。nslookup
并且host
也无法连接到服务器。
另外,我没有设置剪贴板,所以我只有截图。任何提示都很有帮助!
我的主机是带有无线连接的 mbp,以下是输出ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
EHC29: flags=0<> mtu 0
EHC26: flags=0<> mtu 0
XHC20: flags=0<> mtu 0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV>
ether 10:dd:b1:a9:eb:c0
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (none)
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 4c:8d:79:e8:8e:d0
inet6 fe80::1423:696d:a3f1:3d11%en1 prefixlen 64 secured scopeid 0x8
inet 192.168.0.101 netmask 0xffffff00 broadcast 192.168.0.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
ether 0e:8d:79:e8:8e:d0
media: autoselect
status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
ether 52:8c:a3:f0:33:f7
inet6 fe80::508c:a3ff:fef0:33f7%awdl0 prefixlen 64 scopeid 0xa
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
en4: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether d2:00:18:1f:c2:40
media: autoselect <full-duplex>
status: inactive
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr 10:dd:b1:ff:fe:81:fc:24
nd6 options=201<PERFORMNUD,DAD>
media: autoselect <full-duplex>
status: inactive
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether d2:00:18:1f:c2:40
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x2
member: en4 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 11 priority 0 path cost 0
nd6 options=201<PERFORMNUD,DAD>
media: <unknown type>
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::461a:1df6:901b:70f5%utun0 prefixlen 64 scopeid 0xe
nd6 options=201<PERFORMNUD,DAD>
这是虚拟机的网络设置。它是默认设置。
答案1
如果您从“附加到:NAT”切换到“桥接”网络,无状态(例如路由通告)和有状态(例如 dhcp-v6)配置机制都只会影响客户操作系统。
如果您使用 NAT(如您现在所做的),则两个网络(主机使用的网络和客户机使用的网络)都是隔离的。只有来自虚拟机的出站流量经过 NAT,因此路由器的 DHCP 提供不会到达虚拟机。
此外,主机操作系统上接口的 IPv6 配置仅显示链路本地地址,这可能表明您的网络不提供使用 IPv6 的互联网访问。
为了解决 DNS 问题,你可以将虚拟机网络设置为桥接模式(如上所示),手动配置可访问的 DNS 服务器resolv.conf
(例如指定路由器或公共 DNS),或启用DNS 代理。