11 月 21 日下午 2:56 更新 6
我正在创建一个由虚拟机和容器组成的小型网络。到目前为止,我还在配置主机。此连接中不涉及虚拟机。尽管有两个桥接器。
需要澄清的是,这是在数据中心的裸机上。没有 ISP 或调制解调器。虚拟机管理程序与 Internet 路径无关。我正在运行 Ubuntu 17.10。
什么有效,什么无效:
- ping 8.8.8.8-成功
- ping 213.133.98.98 – 成功
- google.com - 名称解析失败
- 网页浏览 – 无需互联网连接
- 在防火墙已禁用的情况下进行 Web 浏览 - 没有互联网连接
- 主机 google.com – 无法访问服务器
- NoMachine,远程访问主机使用-成功
- 防病毒 - 无
ifconfig -a
返回:
lxdbr0 broadcast = 0.0.0.0
enp7s0 broadcast = 0.0.0.0
enp7s0 netmask = 255.255.255.255
我的结论是,这netmask = 255.255.255.255
是当前的问题,因为它位于enp7s0
单地址子网上,没有网关空间等。这阻止了对 DNS 服务的访问,因此出现了故障模式。但添加静态路由来解决这个问题并不能恢复 Internet/WAN 访问。
我认为 的内容提供了大部分其他必要的上下文。哦,当我运行 时,/etc/network/interfaces
netmaskenp7s0
会显示为。255.255.255.255
ifconfig -a
网关和广播由我的供应商重新分配enp7s0
。使用 Ubuntu 17.10。我相信我禁用了网络管理器。
'# This is /etc/network/interfaces for use on Host
'# The loopback network interface
auto lo
iface lo inet loopback
'# This is the WAN port
auto enp7s0
iface enp7s0 inet static
address 78.46.80.146
netmask 255.255.255.224
network 78.46.80.128
broadcast 78.46.80.159
gateway 78.46.80.129
'# static route entry follows, wherein x.x.0.0 is a wildcard
up ip route add 78.46.0.0/27 via 78.46.80.129 || true
dns-nameserver 213.133.98.98
dns-nameserver 8.8.8.8
'# Virtual bridge on enp6s0 for virtual machine use
auto br0
iface br0 inet static
address 192.168.122.2
netmask 255.255.255.0
network 192.168.122.0
broadcast 192.168.122.255
'# gateway 192.168.122.1
up ip route add 192.168.0.0/16 via 78.46.80.129 || true
bridge_ports enp6s0
bridge_stp on
bridge_maxwait 0
bridge_fd 0
'# Virtual bridge for container use
auto lxdbr0
iface lxdbr0 inet static
address 10.36.109.2
netmask 255.255.255.0
network 10.36.109.0
broadcast 10.36.109.255
'# gateway 10.36.109.1
up ip route add 192.168.0.0/16 via 78.46.80.129 || true
bridge_ports
bridge_stp on
bridge_maxwait 0
bridge_fd 0
/etc/resolv.conf
nameserver 213.133.98.98
nameserver 8.8.8.8
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 78.46.80.129 0.0.0.0 UG 0 0 0 enp7s0
10.36.109.0 0.0.0.0 255.255.255.0 U 0 0 0 lxdbr0
78.46.0.0 78.46.80.129 255.255.255.224 UG 0 0 0 enp7s0
78.46.80.128 0.0.0.0 255.255.255.224 U 0 0 0 enp7s0
78.46.80.129 0.0.0.0 255.255.255.255 UH 0 0 0 enp7s0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 enp7s0
192.168.0.0 78.46.80.129 255.255.0.0 UG 0 0 0 enp7s0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
ARP
Address HWtype HWaddress Flags Mask Iface
78.46.80.129 ether 30:b6:4f:3f:eb:ba C enp7s0
答案1
网络地址不正确。
修复网络地址配置
网络 78.46.80.0
应更正如下:
网络 78.46.80.128
您的设备enp7s0
属于网络 78.46.80.128/27(该网络始于 78.46.80.128 并终于 78.46.80.159,该地址为上面正确定义的广播地址)。
答案2
ping 成功,因此路由正常。至少在 ICMP 层是这样的。resolv.conf 中没有名称服务器。结果是什么nslookup yahoo.com 8.8.8.8
?
echo nameserver 8.8.8.8 >> /etc/resolv.conf