在 Ubuntu 上连接两个网络段(如 个人终端A 192.168.1.10 和 个人终端B 192.168.2.10),需要配置路由和网络转发功能,使这两个网段能够相互通信。以下是实现方法:

步骤 1:确认网络配置

1. 确保 Ubuntu 机器有两个网络接口,并且分别连接到了两个网段。

检查网络接口:

ip addr

假设:

  • 接口 eth0 的 IP 是 192.168.1.1/24
  • 接口 eth1 的 IP 是 192.168.2.1/24

2. 测试两个网段是否可以分别与 Ubuntu 机器通信:

ping 192.168.1.1
ping 192.168.2.1

步骤 2:在 ubuntu系统设备 上启用 IP 转发

Linux 默认禁止 IP 转发。需要启用该功能以允许路由流量。

1.临时启用 IP 转发(立即生效,重启后失效):

sudo sysctl -w net.ipv4.ip_forward=1

2. 永久启用 IP 转发: 编辑配置文件 /etc/sysctl.conf,找到或添加以下行

net.ipv4.ip_forward = 1

应用更改:

sudo sysctl -p

步骤 3:设置路由规则

让 Ubuntu 作为路由器,在两个网段之间转发流量。

方法 1:通过静态路由

确保 192.168.1.x192.168.2.x 的主机知道如何到达对方网段。

192.168.1.x 网段的网关设备(或主机)上,添加静态路由:

ip route add 192.168.2.0/24 via 192.168.1.1

192.168.2.x 网段的网关设备(或主机)上,添加静态路由:

ip route add 192.168.1.0/24 via 192.168.2.1

方法 2:使用 NAT(伪装)

如果无法修改其他设备的路由表,可以用 NAT 将流量伪装。

配置 iptables:

sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

保存规则:

sudo apt install iptables-persistent
sudo netfilter-persistent save

步骤 4:验证配置

1. 从 192.168.2.x 网段的主机,测试访问 192.168.1.x 的主机:

ping 192.168.1.10

2. 从 192.168.1.x 网段的主机,测试访问 192.168.2.x 的主机:

ping 192.168.2.10

注意事项

  • 防火墙配置:确保 Ubuntu 的防火墙(如 ufwiptables)允许两个网段之间的通信
sudo ufw allow from 192.168.24.0/24 to any
sudo ufw allow from 192.168.9.0/24 to any
  • 网关配置:确保每个网段的设备设置了默认网关,指向 Ubuntu 的 IP 地址。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐