Opennebula guide up internet for VM
1. Создание бриджа в Debian
apt update && apt install bridge-utils -y
2. Добавьте в файл /etc/network/interfaces стоки
# Внутренний мост для OpenNebula
auto br1
iface br1 inet static
address 192.168.100.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
3. Настройка Nat через iptables что бы подняся интерфейс советую командой systemctl restart networking
3.1 Включаем IP Forwarding
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-opennebula-nat.conf
sysctl -p /etc/sysctl.d/99-opennebula-nat.conf
3.2 Настраиваем правила (подставьте ваш внешний интерфейс вместо eth0):
(Узнать имя внешнего интерфейса можно командой ip route | grep default)
# Очистка (необязательно, если уже настраивали)
iptables -t nat -F
# Основное правило NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Разрешаем прохождение пакетов
iptables -A FORWARD -i br1 -o eth0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
3.3 Созраняем правила
apt install iptables-persistent -y
# Во время установки на вопрос "Save current IPv4 rules?" ответьте "Yes"
4. По желанию проброс портов (DNAT)
# Проброс порта 2222 хоста на 22 порт ВМ
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to-destination 192.168.100.10:22
5. Последний штрих
5.1 Заходим в Network > Virtual Network и создаем сеть
В General пишем name, например internet
В Conf Network делаем mode: Bridged
В 'Context' делаем как показано на рис снизу
Теперь нажимаем Update заходим в Addresses нажимаем на +Address Range и выбираем так как показано на скрине, в size пишем сколько вы хотите создать mac адресов, точнее лимит на колличество устройств
6. Поднимаем dns bind9
6.1 Устанавливаем bind9
apt update
apt install bind9
6.2 Настраиваем /etc/bind/named.conf.options
nano /etc/bind/named.conf.options
Сам файл /etc/bind/named.conf.options
6.3 Чтобы настройки применились пишем команду systemctl restart bind9
7. Поднимаем dhcp сервер на ранее созданом br1.
7.1 устанавливаем нужный пакет
sudo apt update
sudo apt install isc-dhcp-server
7.2 Что бы dhcp работал именно на br1 нужно отредатировать файл /etc/default/isc-dhcp-server
sudo sed -i 's/^INTERFACESv4=".*"/INTERFACESv4="br1"/' /etc/default/isc-dhcp-server
7.3 Так же редактируем файл конфигурации sudo nano /etc/dhcp/dhcpd.conf, то что приведено будет ниже, нужно просто вставить в конец файла
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.2 192.168.100.254;
option routers 192.168.100.1;
# Указываем IP вашего сервера как основной DNS
option domain-name-servers 192.168.100.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.100.255;
default-lease-time 600;
max-lease-time 7200;
}
7.4 Перезапускаем сервис и смотрим статус если статус active поздравляю dhcp работает
sudo systemctl restart isc-dhcp-server
systemctl status isc-dhcp-server