![从内部和外部网络寻址主机](https://linux22.com/image/1247725/%E4%BB%8E%E5%86%85%E9%83%A8%E5%92%8C%E5%A4%96%E9%83%A8%E7%BD%91%E7%BB%9C%E5%AF%BB%E5%9D%80%E4%B8%BB%E6%9C%BA.png)
我有一个相当标准的家庭网络设置,包括一台路由器和几台内部网络上的机器(私有 IP 地址为 10.0.0.x)。其中一台机器正在运行我的 Subversion 服务器,而我的笔记本电脑又使用该服务器。我现在正尝试配置我的笔记本电脑,以便我可以有一个有效的 Subversion 副本连接到存储库,当笔记本电脑连接到我的家庭网络以及从互联网连接时,它都可以工作。我在路由器上配置了一个“虚拟服务器”,这样端口 443 就连接到装有 Subversion 的机器,这很好用。现在我不知道如何配置笔记本电脑以连接到同一台机器 - 因为如果我想从外部和从内部访问它,IP 是不同的。我尝试连接到我网络的外部 IP,但路由器拒绝让连接“出去再进来”。有什么想法如何配置它?
我在笔记本电脑上使用带有 wpa_supplicant 的 Debian Linux。
答案1
我假设您有 SOHO 硬件路由器,无法调整其上的 iptables 设置。在这种情况下,我认为最简单的方法是在 SVN 机器上设置一个简单的代理 DNS 服务器(例如动态域名解析,在路由器配置中将其设置为 DNS 服务器,然后获取动态 DNS(可能您已经在使用一个)并将该域映射到本地 DNS 中的本地 IP 地址。
因此,当从外部访问 SVN 时,您的笔记本电脑会将域解析为外部地址,然后您的路由器会转发连接;当从内部访问时,同一域会解析为本地 IP,并建立直接连接。此外,如果您愿意,这允许您使用对该域有效的单个 SSL 证书。