Хочу реализовать такую схему: есть публичный статический IP
-адрес из пула (маска подсети /29
) который провайдер выдал организации, при обращении на него я попадаю на шлюз PfSense 2.5.0
, а уже за ним виртуальные машины. К примеру я смогу самолично разобрать как установить Exchange 2010
(как у меня на работе, дабы в последствии сделать апгрейд на другую версию) от и до, а не только как я сделать еще одним сервер с ролью Mailbox
. Т.е. у меня будет мини организации которая обрамлена виртуализации Debian 10 + Proxmox 6.4.4
на отдельной стоящей машине, а внутри виртуальные машины с различными сервисами: Почтовый сервер, Терминальный сервер, доступ к ним по VPN
. Это нужно чтобы учиться на практике дабы по том на рабочую конфигурации переносить настройки от и до со всеми нюансами который я разберу в тестовой конфигурации по максимально приближенной к боевой.
К примеру можно арендовать сервер в дата-центре на который выделяется один публичный IP
-адрес, дополнительных не предвидится, IP-KVM
будет и нужно несколько VM
на нем, дабы по-максимому использовать имеющиеся мощности. И вот для этого данная заметка от и до решает поставленную задачу.
Я нашел в интернете схему как это будет выглядеть:
Шаг №1:
Устанавливаю через диск Zalman ZM-VE500
на системный блок предварительно записанный образ Proxmox
из папки _iso
. Чтобы установить Proxmox
перевожу диск Zalman
в режим VCD Mode
Menu — Mode Select — VCD Mode
, выбираю папку Proxmox
, а внутри образ proxmox-ve 6.4.1
система установлена.
Шаг №2:
Далее изменяю настройки сети для Proxmox
(я их себе задокумментировал)
root@proxmox:~# nano /etc/network/interfaces # network interface settings; autogenerated # Please do NOT modify this file directly, unless you know what # you're doing. # # If you want to manage parts of the network configuration manually, # please utilize the 'source' or 'source-directory' directives to do # so. # PVE will preserve these directives, but will NOT read its network # configuration from sourced files, so do not attempt to move any of # the PVE managed interfaces into external files! auto lo iface lo inet loopback auto enp2s0 iface enp2s0 inet static address XXX.XXX.XXX.XXX/29 gateway XXX.XXX.XXX.XXX post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A PREROUTING -i enp2s0 -p tcp -m multiport ! --dport 22,8006 -j DNAT --to 10.0.0.2 post-up iptables -t nat -A PREROUTING -i enp2s0 -p udp -j DNAT --to 10.0.0.2 auto vmbr0 iface vmbr0 inet manual bridge-ports none bridge-stp off bridge-fd 0 auto vmbr1 iface vmbr1 inet static address 10.0.0.1/30 bridge-ports none bridge-stp off bridge-fd 0 post-up iptables -t nat -A POSTROUTING -s '10.0.0.0/30' -o enp2s0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/30' -o enp2s0 -j MASQUERADE #между proxmox & pfsense auto vmbr2 iface vmbr2 inet static address 10.90.90.1/24 bridge-ports none bridge-stp off bridge-fd 0 bridge-stf off #lan network
После сохраняю внесенные изменения и отправляю систему в перезагрузку и я получил рабочую схему задуманного.
root@proxmox:~# ip r default via XXX.XXX.XXX.XXX dev enp2s0 onlink 10.0.0.0/30 dev vmbr1 proto kernel scope link src 10.0.0.1 10.90.90.0/24 dev vmbr2 proto kernel scope link src 10.90.90.1 XXX.XXX.XXX.XXX/29 dev enp2s0 proto kernel scope link src XXX.XXX.XXX.XXX
Где
XXX.XXX.XXX.XXX/29
— этоWAN
адрес по которому я получаю доступ к своей системе виртуализацииProxmox 6.4.4
10.90.90.0/24
внутренняя сеть за шлюзомPfsense 2.5.0
и я могу подключиться из вне по 8006/tcp & 22/tcp
на нее, ну а далее для почтового сервера который будет настроить проброс портов: 993 (IMAPS), 25(SMTP),587,110(POP3),134(IMAP)
и т.д.
Шаг №3:
Поднимаю внутри Debian 10 + Proxmox 6.4.4
шлюз для внутренней сети:
т.е. 10.0.0.2
— это WAN
-сеть, а 10.90.90.2/24
это LAN
сеть инфраструктуры, где уже создаваемые виртуальные машины:
VM (10.90.90.3) Windows Server 2012 R2 Std (Domain Controller, DNS, DHCP и т.д)
Задача выполнена, на этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.