DD-WRT:從 LAN 連接公用 IP 時連接埠不轉送

DD-WRT:從 LAN 連接公用 IP 時連接埠不轉送

我遇到一個問題,即使用 DD-WRT 路由器的公共 IP 位址時無法從 LAN 連接到我的家庭伺服器。我基本上遇到了與這裡詳述的相同的問題:DD-WRT:如何允許連接埠轉送應用於來自 LAN 內部的請求?;但是,所提供的解決方案都不適合我。我相當確定我已經修改了正確的值以應用於我的 LAN 設定。路由器是 Netgear WNR834B v2,運行 DD-WRT v24-sp2 18777。

編輯:明白了!我發現我需要啟用本地 DNS 並使用從連結的問題中回答。

答案1

DD-WRT 可能未配置為髮夾路由。從 LAN 連接到公用 IP 通常是一個壞主意,而且您將無法識別連線來源。最好的選擇是從網路內部直接連接到所需的伺服器。

海岸牆常見問題 2包括配置路由器以使其正常工作。 Shorewall 根據一組規範文件建立 iptables 防火牆,因此這些步驟不是必需的 iptables 命令,但相當容易對應到 iptables。我相信您應該能夠在 DD-WRT 上運行 shorewall-lite,在這種情況下,您將需要在 Shorewall 而不是 DD-WRT 工具中建造所有防火牆。

使用分割 DNS 要容易得多,我推薦這種方法。像這樣的工具dnsmasq可以從檔案提供必要的內部 DNS /etc/hosts。它充當 Internet 上位址的快取伺服器。它還提供 DHCP,如果您不在 DD-WRT 路由器上運行它,您將需要決定啟用哪個 DHCP 伺服器。如果您有內存,可以安裝在 DD-WRT 上作為預設 DHCP 伺服器的替代品。

編輯:如果您選擇使用,dnsmasq最好將其設定為活動 DHCP 伺服器。如果您不在路由器上運行它,請在路由器上停用 DCHP。或者,對於要路由到的伺服器使用 DHCP 位址範圍之外的固定位址。無論如何,使用固定位址對於伺服器來說是一個好主意。將伺服器位址新增至/etc/hosts正在執行的主機上的檔案中dnsmasq,然後重新啟動dnsmasq。如果設定dnsmasq了網域,也可以按名稱尋找 DHCP 用戶端。

確定主機的位址dnsmasq。 (這應該是專用網路位址,例如 192.168.0.10。)設定 DHCP 伺服器以將此位址列為第一個 DNS 名稱伺服器。對於 Linux 主機和其他具有檔案的主機,/etc/resolve.conf請使用此位址作為第一個nameserver條目。對於具有靜態名稱伺服器項目的其他伺服器,請將此位址設為第一個指定位址。

DHCP 用戶端需要更新其 DNS 資料。觸發 DHCP 續訂應更新資料。許多系統都有內部 DNS 緩存,因此更改可能不會立即可見。完成所有伺服器設定後重新啟動用戶端應清除所有快取並重新載入 DHCP 指定的設定。

相關內容