Proxmox: 1 NIC, 1 публичный IP, не удается заставить работать интерфейс WAN в виртуальных машинах

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

Я хочу, чтобы хост (Proxmox) и pfSense находились в зоне DMZ, а остальные виртуальные машины находились бы во внутренней локальной сети, где весь трафик должен проходить через pfSense. Однако я не могу заставить его работать.

Что я сделал, так это установил мост br0 (содержащий публичный адрес, шлюз...) подключен к eth0 (iface eth0 inet manual). Это работает с хоста, так как у меня есть полное соединение, не так с pfSense или любой другой виртуальной машиной.

Основная проблема заключается в том, что я не уверен, какой IP мне следует использовать в pfSense, так как публичный IP уже определен в мосте. Настройка того же IP в pfSense не будет работать (кажется логичным). Как мне поступить?

1 ответ

Решение

Вам нужно будет

  1. создайте виртуальный адаптер (например, tap0), который принадлежит мосту, и дайте ему IP (скажем, 192.168.1.1)
  2. затем подключите все виртуальные машины к этому мосту и попросите их использовать 192.168.1.1 в качестве шлюза, и
  3. Настройте хост Proxmox для выполнения NAT, включив переадресацию ip:
    1. добавлять net.ipv4.ip_forward=1 в /etc/sysctl.conf
    2. бежать sysctl -p
    3. добавить в правило NAT с iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Документы Proxmox это достаточно хорошо (и более подробно).

Другие вопросы по тегам