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

Proxmox NAT с туннелем GRE в качестве внешнего интерфейса

Конечная цель (диаграмма ASCII)

WAN->Router->Server->GRE Tunnel->VM network->VM #1, etc.

Сначала я должен кое-что объяснить.

У меня есть сервер под управлением Proxmox (Debian 8.7 x64). Его подключение к Интернету - eth0 (за NAT с перенаправлением протокола GRE)

Интерфейс GRE (gre1) создается и контролируется настраиваемым демоном, запущенным на хосте, но в остальном не затрагивает правила или маршруты брандмауэра. IP-адрес этого компьютера в туннеле GRE - 192.168.168.2, а удаленная конечная точка - 192.168.168.1.

У меня одна настройка сетевого моста (vmbr0). Вот соответствующий конфиг.

auto vmbr0
iface vmbr0 inet static
    address 10.2.0.1
    netmask 255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0

    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up   iptables -t nat -A POSTROUTING -s '10.2.0.0/24' -o gre1 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.2.0.0/24' -o gre1 -j MASQUERADE

На машине, которая является другим концом туннеля GRE, у меня уже есть iptables, настроенные для NAT должным образом, и я могу пинговать 192.168.168.1 и внешние пункты назначения, используя ping -I gre1 на хосте, однако внутри виртуальной машины я могу пинговать 192.168.168.2 и. 1, но не за границу.

Я подозреваю, что решением этой проблемы является некая таблица маршрутизации foo, поскольку я заставил ее работать раньше, заменив маршрут шлюза по умолчанию на хосте на 192.168.168.1 и вручную создав маршрут для конечной точки туннеля GRE через 192.168.1.1 (мой маршрутизатор) , однако это также заставляет весь трафик хоста проходить через туннель GRE, что мне не нужно, только трафик виртуальной машины.

Я сделал это, чтобы заставить весь трафик, включая трафик хоста, проходить через туннель GRE.

ip route add GRE_TUNNEL_ENDPOINT via 192.168.1.1 # to avoid running the GRE tunnel in itself
ip route change default via 192.168.168.1

Может быть, какие-то политики исходной маршрутизации в порядке?

Спасибо