两个路由器之间的端口转发,最终 IP 错误

两个路由器之间的端口转发,最终 IP 错误

情况是这样的:

  • 我有 AdSL 调制解调器连接到第一个路由器“A”-本地 IP 192.168.2.1
  • 我将 SSH 端口转发到第二个路由器“B” - IP 192.168.1.1
  • 在路由器“B”上,我将 SSH 端口转发到机器 - 192.168.1.100

一切正常,我可以远程登录到我的 SSH 服务器,但问题是,当我检查 SSH 日志时,所有登录尝试的 IP 地址都是本地的。例如:

Mar 28 13:09:12 myserver sshd[14956]: Failed password for invalid user admin from 192.168.2.1 port 44341 ssh2

当我转发 http 端口时也会发生同样的事情。

如何修复?我需要知道正确的 IP 地址才能限制 ssh 访问。

第一个路由器是 Mikrotik,第二个是 CISCO,我在服务器上使用 CentOS。

       +-----------+    +-----------+    +-------------+
 ASDL  | Router A  |    | Router B  |    | SSH Server  |
------>| Miktrotik |--->|   Cisco   |--->|   CentOS    |
 modem |192.168.2.1|    |192.168.1.1|    |192.168.1.100|
       +-----------+    +-----------+    +-------------+ 

答案1

你不能这样做,因为你正在使用 NAT。你应该把过滤功能放在第一个路由器上。

答案2

这是否可行取决于网络设置。如果保留了原始客户端 IP,则从服务器返回的数据包将遵循默认路由进入互联网。但是,它们必须通过路由器“B”路由,然后通过路由器“A”,以便这些路由器恢复对进入您网络的数据包上的服务器 IP 地址所做的更改。

如果从服务器到互联网的默认路由确实通过这些路由器传输数据包,那么就可以按照您的要求进行操作,假设两个路由器在转发流量时都能够保留客户端 IP。

由于服务器看到路由器“A”的 IP,因此路由器“B”似乎已配置为保留客户端 IP。因此,您只需重新配置路由器“A”以保留客户端 IP,因为它正在转发数据包。

我不了解 Mikrotik,所以我无法告诉您如何配置路由器“A”,只是您缺少那部分。

相关内容