Internal-Dns

啟用主機來賓域解析

  • January 22, 2022

情況:

我在 Vbox6.1 內有 Ubuntu 20.04 伺服器和一個 Ubuntu 20.04 桌面主機。Host-Guest 通信使用 vboxnet0 適配器正確配置。我可以很容易地從主機的命令行 ping 來賓的靜態 IP。

問題:

我最近在客戶機上安裝了一個伺服器控制面板,奇怪的是,我只能從主機的網路瀏覽器訪問伺服器控制,使用 IP 地址,而不是它的域名。例如:

https://192.168.62.87:3080 正確顯示控制面板,而

https://example.com:3080 Firefox 的“嗯。我們找不到那個站點”。錯誤資訊。

我嘗試過的解決方案:

1.) 首先,我嘗試了顯而易見的方法。我編輯我的/etc/hosts文件

192.168.62.87 example.com 沒有工作

2.) 接下來,我嘗試在來賓伺服器上安裝 avahi-daemon,如下所示:

sudo apt-get install avahi-daemon& 重新啟動來賓 <-沒有工作

有誰知道我怎樣才能讓我的主機看到我的 vbox 域名?謝謝

更新 @Gaétan RYCKEBOER 下面的建議,揭示了一些有用的東西。

當我執行dig example.com它時,它顯示我的主機正在嘗試使用我的 PROD 伺服器的名稱伺服器解析 example.com,這意味著控制面板當然不會載入,因為**test**.example.comy prod 伺服器上不存在。

似乎192.168.62.87 example.com 在我的/etc/hosts文件中被忽略了。

這是我需要糾正的。

**注意:**我的 ubuntu 測試伺服器確實安裝了 bind9 並且執行正常。

我找到了解決方案。這裡的關鍵是正確配置 dnsmasq 以辨識我的 vbox 來賓靜態 ip 的 ip 以進行域解析。

我在這裡找到了清晰的教程,但我做了一些小的修改,所以我將在下面展示我的步驟供其他人遵循。

  1. 禁用和停止 systemd 已解決

$ sudo systemctl disable systemd-resolved $ sudo systemctl stop systemd-resolved 2. 刪除符號連結/etc/resolv.conf並刪除文件

$ ls -lh /etc/resolv.conf $ 須藤 rm /etc/resolv.conf 3. 創建一個新的 /etc/resolv.conf具有以下值:

$ sudo bash -c ’echo “nameserver 127.0.0.1” > /etc/resolv.conf’ #(主機解析域名)

$ sudo bash -c ’echo “nameserver 1.1.1.1” >> /etc/resolv.conf’ #(外部網際網路的公共 dns 伺服器 ip)

$ sudo bash -c ’echo “nameserver your-guest’s-static-ip address” >> /etc/resolv.conf’ #(virtualbox guest static ip address) 4. 安裝 dnsmasq

$ sudo apt install dnsmasq 5. 將 .test 添加到 dnsmasq 配置文件:

$ sudo bash -c ’echo “address=/.test/your-guest’s-static-ip address” >> /etc/dnsmasq.conf'

注意:開發需要萬用字元域解析的 wordpress 多站點的人們可以使用:

$ sudo bash -c ’echo “address=/example.test/your-guest’s-static-ip address” >> /etc/dnsmasq.conf'

  1. 為訪客的靜態 IP 地址創建目錄解析器:

$sudo mkdir -v /etc/resolver && sudo bash -c ’echo “nameserver your-guest’s-static-ip address” > /etc/resolver/test' 7. 重啟 dnsmasq 和 network-manager

$ sudo systemctl restart dnsmasq $ sudo systemctl 重啟網路管理器 8. 測試你的 dnsmasq 設置

a.) 打開您的瀏覽器並確認您仍然可以訪問外部網際網路

b.)執行dig example.test你應該能夠看到你的客人的靜態IP地址

c.) 在您的主機瀏覽器中打開 example.test

就是這樣。

我無法評論,但是:

  • 安裝 dns-utils
  • 使用 dig 驗證名稱解析:dig example.com
  • 試一試ping example.com

如果一切正常,您的 DNS 執行良好。讓我們嘗試 https 鏈調試並調查 http 伺服器日誌。例如,您的 WEB 瀏覽器可能使用代理,並將 DNS 請求轉發到代理連接。

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