我们在linux(debian)机器上添加了第二个IP-Adress,以便为新的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连接到外部数据库服务器,来自后缀的传出SMTP连接)现在似乎通过eth0:1,因此第二个(新)IP 999.999.999.40。
我们如何通过eth0,IP-adress 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
答案 0 :(得分: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接口。
答案 1 :(得分:0)
将此添加到/etc/sysconfig/network
GATEWAYDEV=eth0
强制default gateway
到eth0
界面