5

我们向 linux (debian) 机器添加了第二个 IP 地址,以便为新的 Apache vhost 实施第二个 SSL 证书。

我们ifconfig现在看起来像这样:

eth0      Link encap:Ethernet  Hardware Adresse 00:0c:29:1b:ab:6c
          inet Adresse:999.999.999.39  Bcast:999.999.999.63  Maske:255.255.255.192
          inet6-Adresse: (...)/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:219336884 errors:0 dropped:0 overruns:0 frame:0
          TX packets:223169420 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:1971307659 (1.8 GiB)  TX bytes:713489565 (680.4 MiB)

eth0:1    Link encap:Ethernet  Hardware Adresse (...)
          inet Adresse:999.999.999.40  Bcast:999.999.999.63  Maske:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

问题:所有传出流量(MySQL 到外部数据库服务器的连接,来自 postfix 的传出 SMTP 连接)现在似乎通​​过 eth0:1 离开,因此第二个(新)IP 999.999.999.40。

我们如何强制所有传出流量通过 eth0、IP 地址 999.999.999.39 离开?

路线输出:

[n1 ~ #] route
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
localnet        *               255.255.255.192 U     0      0        0 eth0
10.10.10.0      *               255.255.255.0   U     0      0        0 eth1
default         gateway4.XXX    0.0.0.0         UG    0      0        0 eth0
default         gateway4.XXX    0.0.0.0         UG    0      0        0 eth0

找到解决方案:

感谢您的提示,ip route这是要走的路,现在它可以按需要工作。

ip rule add from 999.999.999.39 table t1
ip rule add from 999.999.999.40 table t2
ip route del default via 999.999.999.1
ip route add default 999.999.999.1 dev eth0 table t1
ip route flush cache
4

2 回答 2

4

我认为您必须使用route命令来告诉系统如何路由数据包。就像是 :

route add -net APACHE_VHOST_IP netmask 255.255.255.0 dev eth0:1

强制 APACHE_VHOST_IP 目标中的数据包使用 eth0:1 接口。

route add -net MYSQL_SERVER_IP netmask 255.255.255.0 dev eth0

强制 MYSQL_SERVER_IP 目标中的数据包使用 eth0 接口。

于 2011-12-16T09:02:00.647 回答
0

将此添加到/etc/sysconfig/network

GATEWAYDEV=eth0

强制接口default gateway_eth0

于 2015-07-01T14:38:45.233 回答