2011-12-16 14 views
5

我們爲linux(debian)機器添加了第二個IP地址,以實現第二個SSL證書到新的Apache vhost。將傳出流量綁定到eth0而不是eth0:1

我們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地址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

可以追加的`IP route`輸出嗎? – fge 2011-12-16 09:24:40

+1

eth0:1實際上並不是一個接口(你被ifconfig-stop用來開玩笑)。 – 2011-12-16 12:58:18

回答

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接口。

0

一下添加到/etc/sysconfig/network

GATEWAYDEV=eth0 

部隊default gatewayeth0接口

相關問題