Настройка сети в Libvirt

Thank you for reading this post, don't forget to subscribe!

Настрой­ки сети сохра­ня­ют­ся здесь: /etc/libvirt/qemu/networks

Созда­дим сеть по умол­ча­нию. Отре­дак­ти­ру­ем уже суще­ству­ю­щую сеть.

Обра­ти­те вни­ма­ние на UUID. У вас он может быть дру­гим. Вставь­те сле­ду­ю­щий код в открыв­шем­ся редакторе:

В дан­ном фай­ле мы зада­ем сеть 172.30.0.0/24. Сеть будет орга­ни­зо­ва­на на мосту(bridge) с назва­ни­ем lxcnet. IP адре­са будут раз­да­вать­ся авто­ма­ти­че­ски по DHCP от 172.30.0.100 до 172.30.0.254. Авто­ма­ти­че­ски будет про­пи­сан DNS сер­ве­ра 1.1.1.1 и 8.8.8.8. Для хоста "test" будет авто­ма­ти­че­ски выда­вать­ся IP адрес 172.30.0.5.

IP адрес посто­ян­но может выда­вать­ся не все­гда. Дело в том, что, если хост под­клю­ча­ет­ся пер­вый раз, то dnsmasq запо­ми­на­ет MAC адрес и имя хоста машине, и выда­ет ему IP. Если явно про­пи­сан хост, то выда­ет ста­тич­ный IP. НО! Если будет под­клю­чать­ся вто­рой хост с таким же име­нем, но дру­гим MAC адре­сом, то dnsmasq выдаст дру­гой IP адрес. Даже если маши­на пер­вая была уже выклю­че­на. Сер­вер dnsmasq запо­ми­на­ет IP адре­са на 24 часа. Если вы хоти­те исполь­зо­вать ста­ти­че­ские IP адре­са для кон­тей­не­ра, то их мож­но про­пи­сать в раз­де­ле xml interface в самом контейнере.

После того, как мы настро­и­ли сеть, добав­ля­ем ее в автозапуск.

Пере­за­пус­ка­ем сеть:

После каж­до­го редак­ти­ро­ва­ния настро­ек сети ее надо перезапускать.

Добавление хостов на лету

Ино­гда нуж­но доба­вить новые ста­ти­че­ские адре­са, не пере­за­гру­жая сеть. Для это­го суще­ству­ют сле­ду­ю­щая комманда:

Как узнать IP адреса хостов в libvirt?

Для того, что­бы узнать IP, нуж­но выпол­нить комманду:

Настройка iptables

Вклю­ча­ем NAT

Для авто­ма­ти­че­ской настрой­ки созда­дим скрип­ты iptables. Создай­те папку

Создай­те файл:

nano /etc/iptables/rules.v4

nano /etc/iptables/rules.v6

nano /etc/network/if-up.d/00-iptables

Уста­но­ви­те флаг выпол­не­ния на создан­ном файле