Gur*_*sad 2 linux dns static-ip nat
我目前家里有一个 DSL 调制解调器,它有一个静态 IP(比如说77.77.77.77)。
这个调制解调器连接到一个无线路由器,该路由器连接了几台机器。
为简单起见,从现在开始,我将后面的网络77.77.77.77称为home-net
我的目标是能够ssh在home-net不诉诸丑陋port-forwarding和端口映射的情况下进入任何机器。
为了实现这一点,我的计划是:
77.77.77.77 home-net到hosts任何机器上我想ssh从port-forwarding在home-net路由器上设置DNS 查询bind接收这些 DNS 查询并将它们解析为 LAN IP我不完全理解如何实现它..我希望将 DNS 查询发送到home-net询问有问题的系统(示例pc1),该系统将被转发到运行的机器上bind,该机器将把它解析为某个 LAN IP。 .我不确定这是否足以解决问题..
我还没有能够实现或测试这个..可悲的是,使用设置 DNS 服务器bind似乎比我估计的要复杂得多..
我的问题是:
home-net没有SSH 的情况下连接到任何机器port-forwarding?
ssh usr1@pc1.home-net和ssh usr2@pc2.home-net(均为默认端口 22)? 你问题中的一切都是完全错误的。
我的目标是能够通过 ssh 连接到 home-net 后面的任何机器,而无需求助于丑陋的端口转发和端口映射。
解决此问题的唯一方法是拥有多个公共 IP 地址。如果您只有一个 IP,这是典型的住宅 ISP 连接,您必须求助于端口转发。
但是,我将在下面描述另一种方式。
为了实现这一点,我的计划是:
- 将条目 77.77.77.77 home-net 添加到我想从中进行 ssh 的任何机器上的主机
- 在家庭网络路由器上设置端口转发以进行 DNS 查询
- 运行 bind 的机器(在同一网络上)接收这些 DNS 查询并将它们解析为 LAN IP 如果您
以上是所有错误的地方。
/etc/hosts文件仅用于该本地系统上的 DNS 解析。它与任何其他系统无关。其他系统无法访问此文件。bind您的网络上运行的一个。它甚至可以按照您的描述返回 LAN IP。 问题是这些 LAN IP 在您的网络之外对您没有任何好处,除非它们是 ISP 分配的公共 IP。您无法从外部连接到它们。 简化很多 - 基本上,192.168.XX 范围内的 IP 是私有范围,不能路由到公共 Internet。现在,一切都没有丢失。如果您想从外部创建一条进入您网络的路径,这是可能的,而实现方法是通过 VPN。OpenVPN 可以做到这一点,值得研究。
让您开始研究的快速概览:
ddclient配置。如果我正确理解您提出的解决方案,答案是否定的,除非您转发 ssh,否则这将不起作用。即使您获得了家庭网络 IP,从外部客户端的角度来看,它们也是不可路由的,因为它们不是可公开路由的地址。您的客户端可以使用家庭网络 IP 作为目的地来格式化数据包,但是它到达的第一个路由器会丢弃它。
DNS 确实与问题或解决方案几乎没有任何关系,但请考虑到您无法在大多数客户端操作系统上设置特定于域的 DNS 服务器,因此必须将客户端配置为对所有客户端使用 home-nets 绑定实例查询,而不仅仅是针对家庭网络地址的查询。
最后,您仍然需要为您希望通过 ssh 连接的每台机器转发端口,否则您将无法连接。
如果您可以获得 DNS 注册,您可以创建子域并将它们指向路由器上不同的端口转发规则(每个规则将您带到不同的主机),但这仍然需要为您计划的每台主机设置一个端口转发规则连接到。
考虑创建一个单独的服务器,您可以通过 ssh 连接到该服务器,然后从那里通过 ssh 连接到其他内部服务器。如果不通过路由器在该服务器上转发 tcp22 或将其设置为 DMZ 主机,则无法完成此操作,所有与转发规则不匹配的未经请求的流量都将被定向到该主机。如果您采用这种方法,请务必将其锁定。
| 归档时间: |
|
| 查看次数: |
791 次 |
| 最近记录: |