Суббота, 16 января 2016 09:46

Proxmox настройка сети

Автор
Оцените материал
(3 голосов)

Настройка сети в Proxmox очень легка и сейчас я распишу несколько случаев. Предположим у нас в сервере (или ноде) всего 1 сетевая карта eth0 при установке proxmox'а он создал сетевой мост и вложил в него эту сетевую карточку и выдал на мосте такие настройки: ip 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1.

1. Каждой виртуальной машине выдается свой IP из 192.168.1.*

В данном случае все просто, при создании такой ВМ в качестве соединения мы выбираем мост с именем vmbr0

vmbr0

ВМ получит ip адрес сама если в сети 192.168.1.* выдаются адреса автоматически

 

2. ВМ находится во внутренней сети Proxmox.

Бывают ситуации когда или нет возможности выдать ВМ свой "внешний" адрес или когда его выдавать не целесобразно (либо на данной ВМ будут работать в 1с два бухгалтера, либо это серве VOIP или еще что либо) то мы создаем еще один сетевой мост, но делаем это через консоль, в /etc/network/interfaces допишем

 

auto vmbr1
iface vmbr1 inet static
address 192.168.12.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0

и применем новые настройки командой

/etc/init.d/networking restart

Теперь в настройках сети сервера (ноды) мы увидим еще один сетевой мост

vmbr1

Теперь при создании ВМ которой не нужен "внешний" адрес, в настройках сети выбираем сетевой мост vmbr1

Но у таких ВМ не будет сетевого доступа никуда. нам надо запустить трансляцию адресов, проще говоря НАТ. Как и куда записывать следующие правила iptables это дело каждого. у меня скрипт при загрузке все правила запускает, они там такие:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.12.0/24 -o $ext_if -j MASQUERADE

где ext_if это имя сетевого устройства смотрящего в мир, в данном случае это vmbr0, но теперь надо дать доступ к нашей ВМ из мира, для этого допишем еще одно правило iptables

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.10 --dport 2233 -j DNAT --to-destination 192.168.12.25:22

192.168.1.10 - ip сервера Proxmox

2233 - порт к которуму будут обращаться

192.168.12.25 - ip ВМ

22 - порт куда придет запрос

Что бы не прописывать нашим ВМ адреса в ручную, поднимим dhcp server

apt-get install isc-dhcp-server

и опишемс нашу подсеть в /etc/dhcp/dhcpd.conf

#subnet on vmbr1
subnet 192.168.12.0 netmask 255.255.255.0 {
 range 192.168.12.2 192.168.12.254;
 option routers 192.168.12.1;
 option domain-name-servers 8.8.8.8, 8.8.4.4;
}

В /etc/default/isc-dhcp-server укажем слушать на нжном нас интерфейсе vmbr1

INTERFACES="vmbr1"

 

 

 

Прочитано 26490 раз Последнее изменение Среда, 15 июня 2016 09:21
Другие материалы в этой категории: « proxmox 4 no-subscription Debian отключить IPv6 »

Комментарии   

0 #1 nur 05.06.2016 15:22
вот только что делать если проксмокс как и любой дебиан не видит сетевухи, причём прошивки все нужные в каталоге есть
Цитировать
+1 #2 admin 06.06.2016 09:20
Он не видит при установке?
покажите lspci -vvv
Цитировать
0 #3 Andrey 15.06.2016 09:18
А какой ip в данном случае будет шлюзом для ВМ?
непонятно. Внешний ip у хоста 192.168.1.10
Адрес у vmbr1 - 192.168.12.1
А по DHCP виртуалкам мы будем выдавать шлюз 192.168.11.1. А что это за шлюз то??
Цитировать
+1 #4 admin 15.06.2016 09:20
Цитирую Andrey:
А какой ip в данном случае будет шлюзом для ВМ?
непонятно. Внешний ip у хоста 192.168.1.10
Адрес у vmbr1 - 192.168.12.1
А по DHCP виртуалкам мы будем выдавать шлюз 192.168.11.1. А что это за шлюз то??

Спасибо, не заметил данной неточности.
Цитировать
+1 #5 Andrey 15.06.2016 09:37
Отличная статья, и главное как вовремя я её нашел :) как раз настраиваю Proxmox 4 на хостинге )
Спасибо большое, всё получилось сделать.

А я еще слышал, что как-то настраивают сеть с помощью dummy интерфейса. Т.е на хост сервере всего 1 сетевая карта (внешняя) с единственным внешним ip, который выдал хостер. Создаётся dummy интерфейс, к нему привязывается vmbr1 с внутренним адресом типа 192.168.1.1. и уже виртуалкам выдаются внутренние ip из этой же подсети..

Но как это реализовать, не разобрался. Не планируется ли статейки на этот счёт? :)
Цитировать
0 #6 admin 15.06.2016 09:40
Andrey
то есть у вас всего один сетевой интерфейс и группа ip, Вам проще сделать vmbr0 и выдавать виртуалкам тот же vmbr0, но прописывать внешние адреса для виртуалок вручную.
Цитировать

Добавить комментарий


Защитный код
Обновить