端口转发至不在 LAN 中的 IP

端口转发至不在 LAN 中的 IP

我正在管理 SSH 服务器,并尝试通过路由器配置端口转发,以便访问子网外的内容。服务器位于子网 IP 地址,192.168.86.97但是,当我尝试将路由器配置为端口转发到此 IP 或除 之外的任何 IP 时192.168.0.X,我收到错误

内部 IP 地址不在 LAN 内。

为了解决这个问题,我尝试使用以下方法为设备分配一个范围内的静态 IP 192.168.0.X

sudo ip address add 192.168.0.97/24 dev eno1

但是,这个 IP 地址分配似乎没有反映在服务器本身以外的任何其他机器上。也就是说,服务器可能ping 自身,但192.168.0.97子网上没有其他设备可以 ping 通192.168.0.97。我想解决这个问题,我的问题是

  1. 192.168.86.97内部IP地址不在LAN内是什么意思?
  2. 我如何为这台机器分配一个范围内的 IP 地址192.168.0.X,以便端口转发正常工作?

我尝试将路由器的 LAN 更改为192.168.86.X,但这只会使网络上的所有 IP 地址跳转到192.168.87.X。执行此操作后,以下是这些命令的结果

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 30:9c:23:df:3a:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.97/24 brd 192.168.0.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet 192.168.87.32/24 brd 192.168.87.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::d97d:409f:4793:c98e/64 scope link
       valid_lft forever preferred_lft forever
3: wlp26s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 30:24:32:b8:4d:6d brd ff:ff:ff:ff:ff:ff

ip route show

default via 192.168.87.1 dev eno1 proto dhcp src 192.168.87.32 metric 202
192.168.0.0/24 dev eno1 proto kernel scope link src 192.168.0.97
192.168.87.0/24 dev eno1 proto dhcp scope link src 192.168.87.32 metric 202

答案1

检查您的路由器和服务器之间是否有其他设备。

原来,路由器和服务器之间有一个无线信号扩展器。路由器分配的 IP 地址在 范围内192.168.0.X,但信号扩展器分配的 IP 也在 范围内192.168.86.X。这就是设备 IP 没有分配到路由器 LAN 的原因。

为了彻底解决问题,我只是将路由器配置为将端口转发到信号扩展器,然后将信号扩展器配置为转发该端口再次到服务器。

相关内容