2011-12-16 3 views
5

Мы добавили второй IP-адрес к Linux-машине (debian), чтобы реализовать второй SSL-сертификат для нового Apache-хоста.Связать исходящий трафик с 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

Вы можете добавить вывод 'ф route' пожалуйста? – fge

+1

eth0: 1 на самом деле не интерфейс (вы kidded ifconfig-stop, используя его для вашего же блага). –

+0

Я правильно понял? У вас есть один сервер с несколькими IP-адресами. У вас есть Apache с несколькими Virtualhosts. Похоже, у меня такая же проблема. Можете ли вы посмотреть мое дело? Если это то же самое, то можно восстановить изменения, которые будут сделаны вашими решениями? http://serverfault.com/questions/511793/how-configure-apache-virtual-hosts-to-different-ips-for-outgoing-connection – BASILIO

ответ

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

Это сделало бы необходимым определить все целевые IP-адреса, а не Это? Я хотел бы заставить ВСЕ исходящий трафик до eth0. eth0: 1 на самом деле нужно только прослушать – MiDo

+0

, а затем определить маршрут по умолчанию для eth0 –

+0

Кажется, что уже есть (добавлен вывод 'route' на вопрос) – MiDo

0

Добавить это /etc/sysconfig/network

GATEWAYDEV=eth0 

силы default gateway в eth0 интерфейс

 Смежные вопросы

  • Нет связанных вопросов^_^