Привязать исходящий трафик к eth0 вместо eth0: 1 - PullRequest
5 голосов
/ 16 декабря 2011

Мы добавили второй IP-адрес на машину linux (debian) для реализации второго SSL-сертификата для нового Apache vhost.

Наш 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 с внешним DB-сервером, исходящие SMTP-соединения из postfix) проходит через 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

Ответы [ 2 ]

4 голосов
/ 16 декабря 2011

Думаю, вам придется поиграть с командой 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 голосов
/ 01 июля 2015

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

GATEWAYDEV=eth0

Сил default gateway до eth0 интерфейс

...