HI, традиционно, ALL.
Дурная голова снова не даёт покоя кривым рукам).
Решил я навести порядок на своём многострадательном шлюзе посредством запихивания всего в гипервизор (proxmox over debian) и раскидывания по виртуалкам, и упёрся в такой момент.
Сеть выглядит так: провайдер-гипервизор-НАТ-виртуалка-локалка.
Конфиг гипервизора:
auto lo
iface lo inet loopback
allow-hotplug eth1
iface eth1 inet manual
allow-hotplug eth2
iface eth2 inet manual
auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set eth1 up # line maintained by pppoeconf
provider dsl-provider
auto vmbr0
iface vmbr0 inet static
address 192.168.0.1
netmask 255.255.255.0
bridge_ports eth2
bridge_stp off
bridge_fd 0
auto vmbr1
iface vmbr1 inet static
address 192.168.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
/etc/rc.local
iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o ppp0 -j MASQUERADE
Таким образом интернет натится в виртуалку.
Проблема в том, что по задумке гипервизор не должен этим заниматься, но по-другому завернуть интернет в виртуалку не вышло. Сначала я попытался засунуть eth1 в vmbr1 и поднять PPPoE изнутри виртуалки, но у меня ничего не вышло. vmbr1 доступен, но PPPoE через него отчего-то не поднимается. Устал, поднял ppp0 из гипервизора, занатил интернет в нём же, в виртуалках интернет есть. Потом пробовал засунуть ppp0 в тот же бридж-не сработало. Теперь следующая проблема: в виртуалке по той же задумке два интерфейса, на внутреннем висят всякие сервера типа DHCP и тд для локалки. Как пропустить трафик из интернета через виртуалку без NAT? Ибо нат за натом городить не хочется.
nat