![在家設定水平分割 DNS](https://rvso.com/image/1400029/%E5%9C%A8%E5%AE%B6%E8%A8%AD%E5%AE%9A%E6%B0%B4%E5%B9%B3%E5%88%86%E5%89%B2%20DNS.png)
我在家裡的電腦上設定了一些服務。目前,我使用一個小腳本來確定我是否在家,如果在家,則使用 LAN IP,如果不在家,則使用路由器的 WAN IP 連接到這些服務。
我想簡單地使用 DNS 來代替。
這是我的路由器: http://netgear.com.au/home/products/wirelessrouters/work-and-play/DGN2200.aspx
我考慮過安裝這個:http://sourceforge.net/projects/modfs/ 但它似乎是基於韌體的原始版本,我必須更新韌體才能使 VPN 正常工作。
我是不是該:
- 編輯我所有電腦上的主機檔案條目
- 嘗試讓我的路由器執行一些 DNS 操作(也許使用 telnet?)
- 在我的一台機器上安裝 BIND 並將我的路由器配置為指向這台機器以獲取家中的 DNS(嘗試過此操作,但找不到在哪裡配置它)
- 放棄我的路由器並在我的一台機器上安裝某種路由器軟體,然後將其用於 DNS
- 我還沒有考慮過其他一些選擇
基本上我想要以下內容:
外網(已經可以使用):
- machine1.domain.com -> {WAN IP}
- machine2.domain.com -> {WAN IP}
內網:
- machine1.domain.com -> 192.168.0.2
- machine2.domain.com -> 192.168.0.6
答案1
從您到目前為止發布的內容來看,您似乎已經配置了連接埠轉發,以便您可以從網路的任一側(內部/外部)存取您的服務。如果沒有,您需要先進行此設定。
您有一些有趣的選項可以嘗試。有些比其他的更緊密地結合在一起。這聽起來是一個有趣的項目,所以讓我們深入了解:
計畫 A:我的第一個想法是做一些相對簡單的事情,與您的檢測腳本配合使用。您可以在兩個主機檔案之間切換。在所有電腦上的 Dropbox 上共享這兩個文件,並讓腳本在給定時間將所需版本複製到您的電腦以覆蓋現有的主機文件。這樣可以保持動態,讓您可以在網路的任一側使用相同的名稱,但根據您所在的一側指向不同的 IP。
計畫 A2:如果您在某個地方有網域或專用伺服器,如果您不想使用 Dropbox 之類的東西,則可以使用腳本,該腳本僅使用您指定的憑證寫入/讀取 ftp 目錄。
計畫 B:如果您有現有網域,您可以讓其中一台伺服器定期上傳路由器的外部 IP。這樣你就擁有了一個有專用位址的東西,你可以隨時找到你的外部家庭IP是什麼。從那裡,您可以編寫一些腳本,將指向該動態 IP 的內容作為變量,並使用您映射的連接埠進行連接埠轉送。
方案C:VPN + 內部DNS。無論何時你在外面,你都可以透過 VPN 進入。我個人的觀點 - Windows DNS 比 BIND 之類的東西更容易使用。它更加圖形化和點擊式。 BIND 完全基於文本,對於那些不熟悉的人來說可能有點嚇人。但是,您需要一個專用的 Windows Server(當然可以虛擬化),這通常需要付費 - 不過,如果您有 *.edu 電子郵件地址,您可以使用 DreamSpark 為自己獲取 Windows Server 的副本免費玩。或者,您也可以使用 CentOS 和 BIND 的副本執行相同的操作(有許多關於「將 CentOS 設定為 DNS 伺服器」的指南)。
答案2
OP 希望在家中設定 DNS,但描述表明真正的目標是讓家用電腦解析為家庭中與家庭網路上不同的 IP。所提出的解決方案接近分割 DNS 的實現,但在某些方面,這種做法有些令人不悅。
我會敦促OP將內部IP放入本機的主機檔案中。假設電腦配置為使用預設的檔案解析順序,後面跟著 DNS,則主機檔案上的 IP 將排除 DNS 中的任何內容。
答案3
如果您從 ISP 取得靜態公用 IP,則只需使用免費 dns 伺服器(http://my.dot.tk/ETC)。但如果您從 ISP 取得動態公用 IP,請使用動態 dns 管理器(http://www.noip.com/ETC)。