映射 IP 以使用特定网络

映射 IP 以使用特定网络

我(有时)有两个不同的网络与我的 Ubuntu 系统连接。一种是 WLAN,一种是 LAN。两者都是本地网络,但 WLAN 由 DHCP 服务器运行/管理。

我现在想要连接到 DHCP 服务器,但无法访问它,因为它是通过 LAN 连接进行路由的(其中没有具有该 IP 的 PC)。

如果我同时连接到两个网络,如何确保 DHCP 服务器的 IP 通过 WLAN 路由,并且所有其他连接正常通过 LAN 路由?

route -n结果:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.22    0.0.0.0         UG    600    0        0 wlp3s0
link-local      *               255.255.0.0     U     1000   0        0 enp0s25
192.168.1.0     *               255.255.255.0   U     100    0        0 enp0s25
192.168.1.0     *               255.255.255.0   U     600    0        0 wlp3s0

笔记:这里 wlp3s0 是我的 WiFi 接口,enp0s25 是普通的以太网连接。

我发现了一些与 IP 表和/或修改if-up.d文件有关的东西,但我的知识不足以正确使用它们或进行必要的修改。我也不希望每次都进行这些重新路由,除非我同时连接到这两个网络。

更新#1:这是离线系统,处于研究状态不需要安全性。它只需要工作,没有太多其他的。

更新#2:我使用的是 Ubuntu 16.04 LTS

答案1

在终端以超级用户身份输入此命令,您应该没问题:

ip route add <IP-address-of-your-server-on-WLAN> dev wlp3s0

事实上,每次(重新)启动计算机时都必须输入它。考虑到您所描述的整体背景,我认为这是可以承受的。

如果您的 WLAN 接口随着时间的推移可能会获得不同的名称,只需使用它获得的任何名称来代替wlp3s0字符串

此外,上面的命令仅适用于您指定的特定 IP 地址。如果您有更多地址需要重新路由,您可能只需为每个地址键入一个命令(如果它们只是少数几个)。否则将需要更复杂的配置命令。

但是,从我当前的配置来看,除非您要重新路由的 IP 地址正是 192.168.1.22 默认网关,否则当您连接到两个接口时,上面的命令仍然无法将您连接到 Internet 。这也需要额外的调整。

答案2

根据您在评论中的回复,我不知道是否有可能实现您想要做的事情。

有几个问题可能会在网络方面导致此问题;如果您无法查看或修改网络配置,那么这会变得更加困难。

  • 其中之一是“无线隔离”,它专门禁止 WLAN 客户端访问网络上的其他地址。
  • 另一个是你的路由;上面的路由表显示您的默认路由是无线接口wlp3s0

根据您的操作系统分布和网络堆栈,enp0s25如果您配置了静态路由

配置静态路由的细节取决于操作系统分布和网络堆栈实用程序;我建议您查看操作系统的网络配置文档,或向我们提供有关您的发行版版本的详细信息。

相关内容