2011-12-16 15 views
5

Abbiamo aggiunto un secondo IP Adress ad una macchina Linux (Debian) per implementare un secondo SSL-certificato per un nuovo vhost Apache.traffico in uscita Bind a eth0 invece che eth0: 1

nostro ifconfig appare come segue:

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 

Problema: Tutto il traffico in uscita (connessioni MySQL a DB-server esterno, le connessioni SMTP in uscita dal suffisso) ora sembra lasciare attraverso eth0: 1, quindi il secondo (nuovo) IP 999.999.999.40.

Come possiamo forzare tutto il traffico in uscita a lasciare attraverso eth0, IP-adress 999.999.999.39?

uscita del percorso:

[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 

soluzione trovata:

Grazie per i vostri suggerimenti, ip route era la strada da percorrere, ora funziona, se lo desideri.

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

Puoi aggiungere l'output di 'ip route' per favore? – fge

+1

eth0: 1 non è in realtà un'interfaccia (sei stato partorito da ifconfig-smettere di usarlo per il tuo bene). –

+0

Ti ho capito bene? Hai un server con più IP. Hai Apache con più Virtualhosts. Sembra, ho un problema simile. Puoi guardare il mio caso? Se è lo stesso, è possibile recuperare le modifiche apportate dai comandi della soluzione? http://serverfault.com/questions/511793/how-configure-apache-virtual-hosts-to-different-ips-for-outgoing-connection – BASILIO

risposta

4

penso che dovrete giocare con il comando route per dire al sistema come instradare i pacchetti. Qualcosa di simile:

route add -net APACHE_VHOST_IP netmask 255.255.255.0 dev eth0:1 

per forzare il pacchetto nelle strette di APACHE_VHOST_IP di utilizzare l'eth0: 1 interfaccia.

E

route add -net MYSQL_SERVER_IP netmask 255.255.255.0 dev eth0 

per forzare il pacchetto nelle strette di MYSQL_SERVER_IP utilizzare l'interfaccia eth0.

+0

Questo renderebbe necessario definire tutti gli IP di destinazione, non lo farebbe vero? Vorrei forzare tutto il traffico in uscita a eth0. eth0: 1 in realtà ha solo bisogno di ascoltare – MiDo

+0

quindi definire la route predefinita su eth0 –

+0

Sembra che lo sia già (aggiunta dell'output di 'route' alla domanda) – MiDo

0

Aggiungi questo al /etc/sysconfig/network

GATEWAYDEV=eth0 

Forze default gateway-eth0 interfaccia

Problemi correlati