在 centOS 上配置来自不同网络的多个 IP

在 centOS 上配置来自不同网络的多个 IP

所以我有一个 plesk centos 服务器。该服务器有公共 IP 并托管在数据中心。

我有多个 IP。可用的 IP 比如说 192.168.1.50 .51 .52

192.168.1.50 配置有 eth0,如下所示:

DEVICE=eth0
BOOTPROTO=none
BROADCAST=192.168.1.55
HWADDR=BC:AE:C5:15:C0:34
IPADDR=192.168.1.50
IPV6INIT=yes
IPV6_AUTOCONF=yes
NETMASK=255.255.255.248
NETWORK=192.168.1.48
ONBOOT=yes
GATEWAY=192.168.1.49
TYPE=Ethernet
ETHTOOL_OPTS="speed 10 duplex full autoneg off"

我需要添加一个新的 IP,比如说 192.168.2.90

我的配置如下:

DEVICE="eth0:2"
BOOTPROTO=none
IPADDR="192.168.2.90"
NETMASK="255.255.255.0"
TYPE=Ethernet
ETHTOOL_OPTS="speed 10 duplex full autoneg off"

它似乎不起作用,因为我无法从外部 ping 它。此外,提供这些 IP 的公司表示他们不需要做任何事情。

这里有什么问题?

编辑 tracert

Tracing route to xxxxxxxx [xxx.xxx.xxx.xxx]
over a maximum of 30 hops:

1     1 ms    <1 ms    <1 ms  zonhub.home [192.168.1.1]
2     7 ms     9 ms     6 ms  10.12.63.254
3    12 ms     7 ms    10 ms  10.137.200.161
4     9 ms     8 ms     8 ms  10.255.48.78
5     9 ms     8 ms    11 ms  Claranet.AS8426.gigapix.pt [193.136.250.50]
6     *        *        *     Request timed out.
7     *        *

编辑 2 我有另一台服务器运行该网络的单个 IP 并正常工作,以下是配置:

DEVICE=eth0
BOOTPROTO=none
HWADDR=00:e0:81:79:91:8a
IPADDR=192.168.2.15
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.2.1
TYPE=Ethernet
ETHTOOL_OPTS="speed 10 duplex full autoneg off"

答案1

这是设置路由所需的最小设置,以便第一个 IP 192.168.1.50 上的连接通过第一个网关 192.168.1.49 回复,第二个 IP 192.168.2.90 上的连接通过第二个网关 192.168.2.1 回复,最后传出连接在两个网关上都实现负载平衡。

/etc/sysconfig/网络脚本/ifcfg-eth0

NAME=eth0
HWADDR=BC:AE:C5:15:C0:34
IPADDR=192.168.1.50
NETMASK=255.255.255.248
DNS1=8.8.8.8
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0:1

NAME=eth0:1
HWADDR=BC:AE:C5:15:C0:34
IPADDR=192.168.2.90
NETMASK=255.255.255.0
ONBOOT=yes

/etc/sysconfig/network-scripts/route-eth0

192.168.1.50/29 dev eth0 src 192.168.1.50 table T1
default via 192.168.1.49 dev eth0 table T1
192.168.2.90/24 dev eth0 src 192.168.2.90 table T2
default via 192.168.2.1 dev eth0 table T2
default scope global nexthop via 192.168.1.49 dev eth0 weight 1 nexthop via 192.168.2.1 dev eth0 weight 1 

/etc/sysconfig/network-scripts/rule-eth0

from 192.168.2.90 table T2
from 192.168.1.50 table T1

附加到 /etc/iproute2/rt_tables

100 T1
101 T2

请注意,/etc/sysconfig/network 不应包含任何GATEWAY设置。

编辑:哎呀,我这里使用的是 6.0,可能无法在 5.x 上运行

答案2

我假设您将 IP 地址从真实的公共 IP 地址更改为一些虚假的私有 IP 地址,以保护无辜者(或有罪者)。

从外部到 192.168.2.90 的跟踪路由显示什么?按照您现在的设置,它必须经过 192.168.1.49。我非常怀疑情况并非如此(尽管这并非不可能,与 mdpc 所说的相反)。

我怀疑是沟通不畅。您的另一组 IP 位于 /29(255.255.255.248)中,它提供了 6 个可用 IP(总共 8 个 IP;1 个用于网关,1 个用于广播)。这是托管公司通常会提供给您的少量 IP。除非您花了很多钱,否则我非常怀疑他们是否为您分配了 /24(255.255.255.0,254 个 IP)。

答案3

定义从外部 ping 主机的含义。

根据定义,192.168.xx 只能在本地路由,一般无法通过互联网路由。因此,我根本无法 ping 通这个地址。

如果这些地址正确,并且您正在内部路由,则不能添加任何 IP,只能添加与所连接的路由器/网络兼容的 IP。因此,这将在 192.168.1.48(网络掩码为 255.255.255.248)区域,在本例中,192.168.2.90 很可能不兼容,因为使用的是相同的硬件接口 eth0。

答案4

(免责声明:我不是网络工程师)

如果你把它画出来可能会更容易:

在此处输入图片描述

(我知道这些线条很滑稽)。

据我所知,192.168.2.15/24 是可访问的,因为当您 ping 它时,您的数据包将通过提供商的网络,并且在那里的某个地方,路由器会将数据包发送到网关 192.168.2.1,网关会将数据包发送到服务器 192.168.2.15,该服务器与网关服务器位于同一子网中。同样,当您 ping 192.168.1.55 时,它将转到网关 192.168.1.49/29,网关会将数据包发送到其子网 192.168.1.50 上的服务器。

因此,当您 ping 192.168.2.90 时,数据包似乎经过网关 192.168.2.1。但是,由于该网络上没有 IP 为 192.168.2.90 的主机,因此它会失败。

但是,这假设网关位于两个不同的物理网络上。两条路由可能都在同一个物理网络上进行广告,在这种情况下,只需确保此网关:

192.168.2.1

是否可访问。如果可访问,您可能需要确保在 ifcfg-eth0:1 文件中指定了以下网关:

DEVICE="eth0:2"
BOOTPROTO=none
IPADDR="192.168.2.90"
NETMASK="255.255.255.0"
GATEWAY="192.168.2.1"
TYPE=Ethernet
ETHTOOL_OPTS="speed 10 duplex full autoneg off"

您可能还想确保您的服务器使用 sysctl.conf 中的以下设置正确转发数据包:

net.ipv4.ip_forward = 1

不过,我可能建议你与你的提供商沟通,并询问他们应该在服务器上进行哪些适当的配置才能使你的新 IP 可访问。他们至少应该为你提供适当的入门说明。

相关内容