Назад | Перейти на главную страницу

Подключение к локальному VIP: использован неправильный исходящий интерфейс

У меня проблема, когда мои исходящие соединения используют неправильный интерфейс. Я считаю, что маршрутизация настроена правильно.

Я сталкиваюсь с проблемами, когда, как в последнем случае, соединение использует VIP БД в качестве исходящего интерфейса, а затем VIP базы данных переназначается другому блейд-серверу. Программа остается, но VIP ушел.

Вот IP-адреса, когда база данных локальная:

[root@xxxx-b1 ~]# ip addr list
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
 2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether redacted
3: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether redacted
    inet 172.18.3.12/22 brd 172.18.3.255 scope global bond0
    inet 172.18.3.10/22 brd 172.18.3.255 scope global secondary bond0:0
    inet6 readcted/64 scope link 
       valid_lft forever preferred_lft forever

База данных является вторичной связью 0: 0.

Вот мой маршрут:

[root@xxxx-b1 ~]# ip route list
172.18.0.0/22 dev bond0  proto kernel  scope link  src 172.18.3.12 
169.254.0.0/16 dev bond0  scope link  metric 1003 
default via 172.18.0.1 dev bond0  src 172.18.3.12 

Вот пример использования telnet для подключения к базе данных, когда VIP базы данных является локальным:

[root@xxxx-b1 ~]# telnet 172.18.3.10 2315 &
[1] 13676
[root@xxxx-b1 ~]# Trying 172.18.3.10...
Connected to 172.18.3.10.
Escape character is '^]'.

[1]+  Stopped                 telnet 172.18.3.10 2315
[root@xxxx-b1 ~]# netstat -np | grep telnet
tcp  0  0 172.18.3.10:53583  172.18.3.10:2315   ESTABLISHED 13676/telnet        

Что мне не хватает? Есть ли способ заставить это исходящее соединение использовать адрес bond0 (172.18.3.12) вместо VIP базы данных? Установка src параметр на маршруте вроде не помогает. Может, это просто невозможно?

Спасибо за любой отзыв!