我的 Ubuntu 计算机通过 连接到 ISP eth0
。还有另一个子网可通过 访问br0
。此子网用于将 VirtualBox 虚拟 Ubuntu 连接到我的主机。此子网中的 IP 是静态的。
为了进行此项设置,我在主机上使用:
tunctl -t tap1 -u 根 ip link 设置 dev tap1 brctl addbr br0 brctl addif br0 tap1 ip 链路设置 dev br0 ip 地址添加 10.1.1.1/24 dev br0 ip 路由附加 10.1.1.0/24 dev br0
... 在虚拟机客户端上:IP: 10.1.1.15; Netmask: 255.255.255.0; Default gateway: 10.1.1.1; Name server: 10.1.1.1
。
但ping http://google.com
客户端却说:
ping:未知主机 http://google.com
将客户端的名称服务器更改为我在主机中查找的 IP/etc/resolv.conf
对我来说也不起作用。
如何设置客户端 Ubuntu 以使用 ISP 的名称服务器?
更新型多巴胺:问题出在路由上,讨论这里。
答案1
尝试这个:
ping google.com
而不是这样:
ping http://google.com
答案2
您需要将名称服务器从 10.1.1.1 更改为您的 ISP 的名称服务器。如果您的 IP 路由正确,您也可以将其设置为路由器的 IP 地址或互联网上的名称服务器。
它显示“未知主机”,因为 10.1.1.1 上没有运行名称服务器,或者无法到达 10.1.1.1。您能 ping 通此主机吗?
如果您想在本地处理,您也可以在 Ubuntu 主机上安装名称服务器。
答案3
我的建议是,如果您还没有缓存名称服务器,则在您的网络上安装一个(例如,您的主 ubuntu 机器),并配置网络上的每台机器使用它 - 物理机和虚拟机。
即使没有虚拟化,拥有本地 DNS 缓存也是值得的 - 拥有距离只有几分之一毫秒的 DNS 缓存比使用距离 ISP 数十或数百毫秒的 DNS 缓存要好得多。
您可以使用的一些 DNS 服务器是 bind9(可能有点过度)或 dnsmasq、unbound 或 maradns。
如果您使用 kvm 或 xen 或其他东西而不是 virtualbox,dnsmasq 可能是最好的选择,因为它也支持 DHCP 和 TFTP,这使得它对于网络启动虚拟机很有用......但 virtualbox 无论如何都会有自己的 dhcp 和 tftp。