为多台机器使用单个静态 IP

Gur*_*sad 2 linux dns static-ip nat

我目前家里有一个 DSL 调制解调器,它有一个静态 IP(比如说77.77.77.77)。
这个调制解调器连接到一个无线路由器,该路由器连接了几台机器。

为简单起见,从现在开始,我将后面的网络77.77.77.77称为home-net

我的目标是能够sshhome-net不诉诸丑陋port-forwarding和端口映射的情况下进入任何机器。

为了实现这一点,我的计划是:

  • 添加条目77.77.77.77 home-nethosts任何机器上我想ssh
  • port-forwardinghome-net路由器上设置DNS 查询
  • 运行的机器(在同一网络上)bind接收这些 DNS 查询并将它们解析为 LAN IP

我不完全理解如何实现它..我希望将 DNS 查询发送到home-net询问有问题的系统(示例pc1),该系统将被转发到运行的机器上bind,该机器将把它解析为某个 LAN IP。 .我不确定这是否足以解决问题..

我还没有能够实现或测试这个..可悲的是,使用设置 DNS 服务器bind似乎比我估计的要复杂得多..

我的问题是:

  • 是否可以使用这个单一的静态 IP 在home-net没有SSH 的情况下连接到任何机器port-forwarding
    • 示例ssh usr1@pc1.home-netssh usr2@pc2.home-net(均为默认端口 22)?
  • 这个设置还能用吗?
  • 有没有更简单的方法来做到这一点?

Law*_*ceC 7

你问题中的一切都是完全错误的。

我的目标是能够通过 ssh 连接到 home-net 后面的任何机器,而无需求助于丑陋的端口转发和端口映射。

解决此问题的唯一方法是拥有多个公共 IP 地址。如果您只有一个 IP,这是典型的住宅 ISP 连接,您必须求助于端口转发。

但是,我将在下面描述另一种方式。

为了实现这一点,我的计划是:

  • 将条目 77.77.77.77 home-net 添加到我想从中进行 ssh 的任何机器上的主机
  • 在家庭网络路由器上设置端口转发以进行 DNS 查询
  • 运行 bind 的机器(在同一网络上)接收这些 DNS 查询并将它们解析为 LAN IP 如果您

以上是所有错误的地方。

  • 您的/etc/hosts文件仅用于该本地系统上的 DNS 解析。它与任何其他系统无关。其他系统无法访问此文件。
  • 您可以将 53 端口转发到bind您的网络上运行的一个。它甚至可以按照您的描述返回 LAN IP。 问题是这些 LAN IP 在您的网络之外对您没有任何好处,除非它们是 ISP 分配的公共 IP。您无法从外部连接到它们。 简化很多 - 基本上,192.168.XX 范围内的 IP 是私有范围,不能路由到公共 Internet。

现在,一切都没有丢失。如果您想从外部创建一条进入您网络的路径,这是可能的,而实现方法是通过 VPN。OpenVPN 可以做到这一点,值得研究。

让您开始研究的快速概览:

  • 您可以在网络上的系统上设置 OpenVPN 服务器,并为其打开端口。在您的家庭网络所在的同一子网上的 Linux 机器上将其设置为“桥接”VPN(通常为 192.168.1.0/24,请检查您的路由器。)您需要查看动态 DNS 提供商,例如作为 DynDNS 或 EasyDNS 并已ddclient配置。
  • 然后,您需要在笔记本电脑或从外部连接到它的其他系统上设置 OpenVPN 客户端。
  • 当您启动 OpenVPN 客户端时,您将通过 VPN 连接到您的家庭网络。您甚至可以从家庭路由器获得 IP。


Fra*_*mas 5

如果我正确理解您提出的解决方案,答案是否定的,除非您转发 ssh,否则这将不起作用。即使您获得了家庭网络 IP,从外部客户端的角度来看,它们也是不可路由的,因为它们不是可公开路由的地址。您的客户端可以使用家庭网络 IP 作为目的地来格式化数据包,但是它到达的第一个路由器会丢弃它。

DNS 确实与问题或解决方案几乎没有任何关系,但请考虑到您无法在大多数客户端操作系统上设置特定于域的 DNS 服务器,因此必须将客户端配置为对所有客户端使用 home-nets 绑定实例查询,而不仅仅是针对家庭网络地址的查询。

最后,您仍然需要为您希望通过 ssh 连接的每台机器转发端口,否则您将无法连接。

如果您可以获得 DNS 注册,您可以创建子域并将它们指向路由器上不同的端口转发规则(每个规则将您带到不同的主机),但这仍然需要为您计划的每台主机设置一个端口转发规则连接到。

考虑创建一个单独的服务器,您可以通过 ssh 连接到该服务器,然后从那里通过 ssh 连接到其他内部服务器。如果不通过路由器在该服务器上转发 tcp22 或将其设置为 DMZ 主机,则无法完成此操作,所有与转发规则不匹配的未经请求的流量都将被定向到该主机。如果您采用这种方法,请务必将其锁定。