跨不同子网的多 NIC 路由

跨不同子网的多 NIC 路由

我有一个家庭网络,标准地址为 192.168.0.xxx,可从路由器中的 DHCP 服务器获取。

我有一个系统“X”,它有双 NIC:

  • eno1 与 192 子网绑定
  • eno2 静态定义为 10.0.0.1 子网并连接到 RPi
    • X 的 IP = 10.0.0.99
    • RPi 的 IP = 10.0.0.100

我希望能够从另一个主机“Y”(在子网 192 上)通过“X” ssh 进入 RPi。

我想我可以将 RPi sshd 端口号设置为不同的值(例如 2222),然后设置内部端口转发,其中“X”将其接收的端口 2222 数据包路由到 RPi 端口 2222。

所以我不知道该如何做到这一点,或者这是否是最好的主意...有什么想法?

答案1

无需摆弄端口号,只需在系统“X”上设置适当的路由(/proc/sys/net/ipv4/ip_forward如果是 Linux,则启用转发),并且,如果系统“X”不是网关,则还要在 192.168.0.xxx 子网主机中设置路由。

然后您可以从 192.168.0.xxx 子网到达 10.0.0.100。

编辑

我假设您的 10.0.0.0 子网是 /24-er 子网(网络掩码255.255.255.0;如果不是,请根据您使用的网络掩码修改以下内容。您没有提供有关网络设置的足够信息,因此假设 X 已192.168.0.123/24打开eno1。确保此地址是静态的并且不会更改;如果您的路由器使用 DHCP,请使用路由器的 Web 界面为 X 分配静态 IP,例如使用 MAC 地址eno1

首先尝试手动设置路线:

在任何 Linux(包括 CentOS)上:ip route add 10.0.0.0/24 via 192.168.0.123 dev eth0,其中eth0192.168.0.xxx您设置路由的机器上的网络接口。

在 Windows 上:打开终端,输入route add 10.0.0.0 mask 255.255.255.0 192.168.0.123

然后使用 etc. 测试ping路由是否有效。tcpdump -ni eno1如果出现任何问题,请在系统 X 上使用 etc. 进行调试。

如果一切正常,请将路由设为静态。这取决于您的 CentOS 设置;在 Windows 上,请参见这里类似的教程很容易找到,谷歌一下。还可以考虑谷歌一下一般的网络教程,这样你就能了解你刚才做的事情为什么有效。

相关内容