Fernus
@Fernus
Техник - Механик :)

Proxmox. Настройка сети с несколькими VM и внешними IP + локальная сеть?

Что имеем:

- Сервер с установленным Proxmox (далее P);
- На сервере P создано 3 виртуальные машины (далее VM1, VM2, VM3);
- Провайдер выделил подсеть с внешними IP(11 шт);

Шлюз по умолчанию: X.X.X.193
Маска подсети: 255.255.255.240
Широковещательный адрес: X.X.X.207
Адрес подсети: X.X.X.192/28

- Начальная схема IP по серверам:

P -> X.X.X.194
VM1 -> X.X.X.200
VM2 -> X.X.X.199
VM3 -> X.X.X.198

Задача:
1. Выделить каждому серверу IP по схеме выше;
2. Каждая из VM должна иметь доступ в интернет под своим IP, а так же видна в интернете под своим же IP.
При этом должна быть "опция" для каждой VM для запрета доступа всем "извне".
3. Связать VM1 и VM3 в локальную сеть.
Т.е. нужна "опция", чтобы любые VM можно было объединять в одну сеть.

Суть проблемы:

Не получается правильно реализовать 3 пункт задачи...

Ниже приведу примеры конфигов на серверах для решения первых двух пунктов...но понимаю, что пошёл немного не правильным путём из-за наличия 3 пункта задачи...

P - сервер:
/etc/netwotk/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
    address X.X.X.194/28
    gateway X.X.X.193
    bridge-ports eth0
    bridge-stp off
    bridge-fd 0



На кажой из VM(1, 2, 3) такие сетевые настройки:

address <ТУТ_IP_ДЛЯ_КАЖДОЙ_VM_ПО_СХЕМЕ_ИЗ_ЗАДАЧИ>/28
gateway X.X.X.193
netmask 255.255.255.240


Направьте в какую сторону смотреть?

UPD:

Вот конфиг при котором вроде как локальная сеть есть...но когда пингую машины между собой, то пинг 0.2...будто по инету пакеты идут...

P - сервер:
/etc/netwotk/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
    address X.X.X.194/28
    gateway X.X.X.193
    bridge-ports eth0
    bridge-stp off
    bridge-fd 0
    dns-nameservers X.X.X.X X.X.X.X
    bridge_maxwait 0
    pre-up brctl addbr vmbr0
    up ip route add X.X.X.198/32 dev vmbr0
    up ip route add X.X.X.200/32 dev vmbr0
    pointopoint X.X.X.193

auto vmbr1
iface vmbr1 inet static
    address 10.20.30.1/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094
    post-up   iptables -I FORWARD -s '10.20.30.0/24' -j ACCEPT
    post-up   iptables -t nat -I POSTROUTING -s '10.20.30.0/24' -o vmbr1 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.20.30.0/24' -o vmbr1 -j MASQUERADE



Настройки сети на каждой из VM, например в ОС Debian:
allow-hotplug ens18
iface ens18 inet static
    address <ТУТ_IP_ДЛЯ_КАЖДОЙ_VM_ПО_СХЕМЕ_ИЗ_ЗАДАЧИ>
    gateway X.X.X.193
    netmask 255.255.255.240
    dns-nameservers X.X.X.X X.X.X.X
    post-up ip route add X.X.X.194 dev ens18
    post-up ip route add default via X.X.X.194 dev ens18
    pre-down ip route del default via X.X.X.194 dev ens18
    pre-down ip route del X.X.X.194 dev ens18
    
auto ens19
iface ens19 inet static
    address 10.20.30.2
    netmask 255.255.255.0


UPD2:

При такой настройке, как я понимаю, хост сервер (P) должен быть связан локально со всеми VM...и в обе стороны должна быть локальная связь...так же?

Вот какие данные на сервере P:
root:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         X.X.X.193     0.0.0.0         UG    0      0        0 vmbr0
10.20.30.0      0.0.0.0         255.255.255.0   U     0      0        0 vmbr1
X.X.X.192     0.0.0.0         255.255.255.240 U     0      0        0 vmbr0
root:~# traceroute 10.20.30.2
traceroute to 10.20.30.2 (10.20.30.2), 30 hops max, 60 byte packets
 1  10.20.30.2 (10.20.30.2)  0.222 ms  0.200 ms  0.191 ms


Вот на одной из VM:
root:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         X.X.X.193     0.0.0.0         UG    0      0        0 ens18
10.20.30.0      0.0.0.0         255.255.255.0   U     0      0        0 ens19
localnet        0.0.0.0         255.255.255.240 U     0      0        0 ens18
X.X.X.194     0.0.0.0         255.255.255.255 UH    0      0        0 ens18
root@pg:~# traceroute 10.20.30.1
traceroute to 10.20.30.1 (10.20.30.1), 30 hops max, 60 byte packets
 1  10.20.30.1 (10.20.30.1)  0.275 ms  0.251 ms  0.246 ms
  • Вопрос задан
  • 566 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Смотреть на что? Как добавлять интерфейсы с присвоенными им локальными IP/маской?
Ответ написан
@waryag_twar
вы вообще не туда смотрите. вам надо на проксмоксе сделать простой бридж, с параметрами, выданными провайдером, и оставить его как есть. всё.
на машинах просто прописываете адреса из списка провайдера. всё.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы