Как перенаправить публичный IP через VPN-туннель

Как перенаправить публичный IP через VPN-туннель

Я новичок в этом деле и просмотрел много других похожих вопросов, но не смог найти ответа.

У меня есть два сервера в SoYouStart, и на одном сервере у меня есть HAProxy VM. Оба сервера соединены туннелем Strongswan VPN. У меня также есть Failover IP, который слушает HAProxy на порту 80, 443 и нескольких других.

Конфигурация сети HAProxy VM1:

iface eth0 inet static
    address 192.168.100.2
    netmask 255.255.255.224
    network 192.168.100.0
    broadcast 192.168.100.31
    gateway 192.168.100.30
    post-up ip addr add FAILOVER_IP dev $IFACE
    pre-down ip addr del FAILOVER_IP dev $IFACE

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

ip route add FAILOVER_IP/32 via 192.168.100.2 dev vmbr1

Все работает, но теперь я хотел бы перенаправить трафик на этот отказоустойчивый IP через мой VPN-туннель для всех виртуальных машин на сервере 2.

Я попробовал эти правила, но они не работают.

Сервер 2:

iptables -t nat -A PREROUTING -i eth0 -d FAILOVER_IP -m connmark 
         --mark 0xE010E798 -j DNAT --to-destination 192.168.100.2

Сервер 1:

iptables -t nat -A POSTROUTING -i eth0 -d 192.168.100.2/32 
         --match connmark --mark 0xE010E798 -j SNAT --to-source FAILOVER_IP

Пожалуйста, кто-нибудь может мне помочь разобраться, что я делаю не так? Моя цель — иметь второй экземпляр HAProxy на сервере 2 и перенаправлять внутренний трафик на активный экземпляр HAProxy.

Спасибо.

решение1

Нашел ответ. Во-первых, я не знал, что эта отметка применяется только к локальной машине. Вторая ошибка была в том, что я использовал SNAT на сервере 1, который меняет адрес отправителя, но мне нужно было снова изменить адрес назначения, и мне пришлось изменить интерфейс. Мои рабочие правила:

Сервер 2

iptables -t nat -A PREROUTING -i vmbr1 -p tcp -d FAILOVER_IP 
         -j DNAT --to-destination 192.168.100.2

Сервер 1

iptables -t nat -A PREROUTING -p tcp -d 192.168.100.2 
         -j DNAT --to-destination FAILOVER_IP

Связанный контент