VirtualBox Ubuntu VM(Windows 主機)在連接到主機上的 VPN 後停止解析名稱
我正在使用 VirtualBox (
6.0.10r132072
) 在我的 Windows 10 主機上執行 Lubuntu 來賓 VM。一切工作正常網路明智。當我連接到我的公司 VPN 時,在大多數情況下,VM 會失去解析名稱的能力。
- 在 Firefox 中它不會打開任何站點(例如 github.com:
Hmm. We’re having trouble finding that site. We can’t connect to the server at github.com.
)。- 雖然我可以使用 URL 中的 IP 地址連接到我們公司 Jenkins(例如
http://11.0.11.111:8080/job/deployment/job/master/30/console
)- 我也可以 ping
8.8.8.8
並得到響應如果我重新啟動我的虛擬機,一切都會開始正常工作。我比較了
ifconfig
重新啟動前後的輸出,它是相同的(除了類似的東西RX packets
)問題:我可以做些什麼來避免重新啟動?我可以在虛擬機上重新啟動一些服務嗎?
我的公共 IP(Google搜尋我的 IP 是什麼):
207.108.xxx.yyy
視窗主機
ipconfig
C:\Users\12345465>ipconfig Windows IP Configuration Ethernet adapter Ethernet: Connection-specific DNS Suffix . : company.corp.local Link-local IPv6 Address . . . . . : 1234::d50:de8e:52f6:4de8%9 Link-local IPv6 Address . . . . . : 1234::64f0:2f92:4da6:55c9%9 IPv4 Address. . . . . . . . . . . : 172.16.102.28 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : :: 172.16.123.4 Ethernet adapter VirtualBox Host-Only Network: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : 1234::3c3e:6640:4e25:d1e6%23 IPv4 Address. . . . . . . . . . . : 192.168.123.1 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : Wireless LAN adapter Wi-Fi 3: Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : 1234::1d8a:307:5056:86e6%2 IPv4 Address. . . . . . . . . . . : 192.168.123.105 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.123.1 C:\Users\12345465>
魯班圖客人
ifconfig
:17:00:26-kash$ ifconfig enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 111.22.2.15 netmask 255.255.255.0 broadcast 111.22.2.255 inet6 fe80::7c:910:4429:b3a2 prefixlen 64 scopeid 0x20<link> ether 08:00:27:06:de:d8 txqueuelen 1000 (Ethernet) RX packets 76337 bytes 70214530 (70.2 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 41976 bytes 5820689 (5.8 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 39966 bytes 20275695 (20.2 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 39966 bytes 20275695 (20.2 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 17:09:51-kash$
Lubuntu 發布:
16:50:49-kash$ cat /etc/*rele* DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS" NAME="Ubuntu" VERSION="18.04.4 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.4 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic 16:51:01-kash$
聽起來 VPN 正在將您的本地解析器指向您公司的 DNS 伺服器。
在您打開 VPN 之前,首先檢查您的虛擬機從何處獲取其 DNS:
在 Windows 主機上,嘗試以下命令:
nslookup example.com
這應該給你類似以下的東西
C:\Users\Administrator>nslookup example.com Server: gw.local.domain.com Address: 192.168.1.1 Non-authoritative answer: Name: example.com Addresses: 2606:2800:220:1:248:1893:25c8:1946 93.184.216.34
該行
Server: gw.local.domain.com
顯示了哪個 DNS 伺服器回答了查詢,這是您的預設 DNS 解析器。啟用 VPN 後執行此操作,您可能會看到變化。您可以在 Ubuntu VM 上執行此命令
dig example.com
你的輸出應該是這樣的
user@localhost:~$ dig example.com ; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46803 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 2424 IN A 93.184.216.119 ;; Query time: 12 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Thu Jan 9 16:07:09 2014 ;; MSG SIZE rcvd: 45
該行
;; SERVER: 192.168.0.1#53(192.168.0.1)
顯示哪個伺服器回答了查詢。現在,如果您想查看設置更改或修改 DNS 解析器設置,您可以在此處進行。
根據您的 Ubuntu 版本,您需要在不同的地方檢查它。
這裡的一些文件:https ://linuxize.com/post/how-to-set-dns-nameservers-on-ubuntu-18-04/ 。您需要為您正在使用的特定介面添加名稱伺服器配置。
如果是 18.04 或更高版本,請檢查此文件:
/etc/netplan
如果它早於 18.04,請檢查此文件
/etc/network/interfaces
現在,據推測,VirtualBox 正在使用主機來解析 DNS 查詢,或者它只是添加了與主機 NIC 使用的相同的設置。
在 Windows 主機上,執行以下命令以顯示配置的 DNS 伺服器
ipconfig /all
這可能會提示您在兩個系統上配置了哪些伺服器。