Ubuntu

VirtualBox Ubuntu VM(Windows 主機)在連接到主機上的 VPN 後停止解析名稱

  • April 6, 2020

我正在使用 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
  • 我也可以 ping8.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

這可能會提示您在兩個系統上配置了哪些伺服器。

引用自:https://serverfault.com/questions/1011017