linux路由第二个内部networking

在我的networkingconfiguration中,我有三个开关:

  1. 互联网(xx.xx.140.129 / 25)
  2. 内部SAN(10.1.1.0/24)
  3. iLopipe理(10.1.30.0/24)

我有一个Linux服务器,我用于pipe理需要访问所有三个networking,但它只有2个网卡。 我已经把交换机#2和#3连接在一起,所以它们之间有一条物理path,我尝试了ip route add 10.1.1.0/24 eth0 ,但是没有成功。 任何想法如何做到这一点?

 [root @ ilo]#route -n
内核IP路由表
目标网关Genmask标志度量参考使用Iface
 XX.XX.140.128 0.0.0.0 255.255.255.128 U 0 0 0 eth1
 10.1.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
 10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
 0.0.0.0 XX.XX.140.129 0.0.0.0 UG 0 0 0 eth1

如果您出于安全原因要分开stream量,则应使用VLAN标记。 为此,您将需要托pipe交换机。

如果您不需要为了安全而分开stream量,那么您应该为#2和#3使用相同的IP前缀

如果您仍想使用您的devise(例如,如果您打算稍后使用托pipe交换机分离networking),则可以在接口上使用IP别名(添加辅助IP地址)。

要debugging您的networking问题,请从networking堆栈上的物理层到应用程序之一:

  1. testing你的电缆。 你有链接在path上的所有接口? 例如,所有接口的所有以太网指示灯都闪烁?
  2. arpingping的设备。 尝试使用IP和主机名。
  3. 运行traceroute并查看数据包是如何路由的。 使用ip route get <IP_destination>debuggingip route get <IP_destination>来查找数据包路由到哪个接口。
  4. 使用telnetnc等查看应用程序是否正在应答。

编辑:运行:

 ip route del 10.1.1.0/24 dev eth0 # remove the fixed route ip addr add 10.1.1.1/24 dev eth0 # add an IP alias 

问题是eth0上没有来自10.1.30.0/24前缀的IP。

设置路由只是游戏的一部分,但是内部SANnetworking如何知道如何获得10.1.30.10? 它错过了它的路线。

最简单的解决scheme:为您的eth0分配一个子网10.1.1.0/24的IP:

 ip addr add 10.1.1.xyz/24 dev eth0