首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux路由计算机A到计算机C

Linux路由计算机A到计算机C
EN

Server Fault用户
提问于 2009-08-11 16:30:15
回答 5查看 453关注 0票数 0

我有计算机A,计算机B和计算机C。计算机A和B连接,计算机B和C连接。我怎样才能让计算机A和C相互通信?我假设我需要在每台机器上添加一些路线,但我不确定它们到底应该是什么样子。为了举例说明,假设计算机A为10.0.1.1,计算机C为10.0.2.1,计算机B为10.0.1.2。别把他们搞混了!

谢谢

EN

回答 5

Server Fault用户

发布于 2009-08-11 17:00:29

你需要B计算机上的另一个NIC,它的地址与C计算机的地址相同,所以假设你有这个地址&它的ip是10.0.2.5

我们还假设这些网络作为C类的/24子网

使计算机A的默认网关为10.0.1.2 (计算机B)

使计算机C有一个默认网关10.0.2.5 (计算机B)

在计算机B上运行此程序:

代码语言:javascript
复制
 echo 1 > /proc/sys/net/ipv4/ip_forward
 ip route add 10.0.2.0/24 via 10.0.2.5
 ip route add 10.0.1.0/24 via 10.0.1.2
票数 1
EN

Server Fault用户

发布于 2009-08-11 17:08:27

将子网掩码更改为255.255.0.0,并将所有机器连接到同一个交换机,不需要任何路由

票数 1
EN

Server Fault用户

发布于 2009-10-08 09:30:53

这可能只是一个合并子网的问题(通过更改IP或放松子网掩码),这取决于您的设置。

假设这不是那么容易,那么基本上,您需要为一般情况做三件事:

  1. 告诉计算机B充当路由器。这就是前面提到的"echo 1>/proc/sys/net/ip 4/ip_forward“。这只是告诉linux内核接受其他机器的数据包,并使用机器的路由表将它们发送到目的地。
  2. 告诉A通过B与C对话,在A上工作,"ip路由通过b_ip添加b_ip“应该这样做。
  3. 告诉C与A到B对话。在C上工作,"ip路由通过b_ip添加b_ip“应该是这样做的。

但是,如果A和C都使用B作为它们的默认网关,那么它们将(根据定义)假设所有东西都应该通过B,因此在这种情况下,步骤2和步骤3是不必要的。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/52821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档