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

Измените маршрут OpenVZ для прохождения аварийного переключения IP

У меня есть один выделенный сервер с собственным IP-адресом и другой IP-адрес (отказоустойчивый), который ссылается на первый.

Я хочу изменить шлюз виртуальной машины Proxmox (openvz), которая работает на этом выделенном сервере, чтобы использовать IP-адрес аварийного переключения, а не IP-адрес главного сервера хоста.

После подключения к виртуальной машине, когда я выполняю трассировку

VE# traceroute www.google.fr

traceroute to www.google.fr (209.85.229.104), 30 hops max, 60 byte packets
 1  MY_SERVER_NAME.ovh.net (xxx.xxx.xxx.xxx FIRST_IP_MAIN_SERVER)  0.021 ms  0.010 ms  0.009 ms

Первая строка сообщает мне IP главного сервера хоста. Я бы хотел, чтобы traceroute отображал второй отказоустойчивый IP-адрес.

VE# route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.0.2.1       *               255.255.255.255 UH    0      0        0 venet0
default         192.0.2.1       0.0.0.0         UG    0      0        0 venet0

С помощью iptables

HOST# iptables -t nat -L

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere            
MASQUERADE  all  --  anywhere             anywhere            
SNAT       tcp  --  anywhere             10.10.101.2         tcp dpt:www state NEW,RELATED,ESTABLISHED,UNTRACKED to:SECOND_IP_FAILOVER
SNAT       all  --  10.10.101.2          anywhere            to:SECOND_IP_FAILOVER

10.10.101.2 - IP виртуальной машины (интерфейс venet0)

Любые идеи ?

Я не совсем уверен, правильно ли я вас понял, но может быть маршрутизация на основе источника это то, что ты хочешь?

В основном вы делаете следующее:

ip rule add from 10.10.101.2 table 42
ip route add 10.10.101.2/24 dev eth0 table 42
ip route add default dev eth0 via $gateway table 42

Вместо идентификатора таблицы 42 вы можете выбрать любое число (или символическое имя, если вы сопоставите их с помощью /etc/iproute2/rt_tables), но некоторые зарезервированы.

Ваша конфигурация, вероятно, немного отличается, например, я не знаю вашего шлюза и угадал сетевую маску.