56.3.3. Сеть на основе NAT
Сеть на основе NAT идеальна, когда требуется только доступ из ВМ к внешней сети. При этом сервер libvirt действует как маршрутизатор, и трафик ВМ исходит с IP-адреса сервера.
Виртуальная сеть default (доступна после установки libvirt) основана на NAT. Можно также создать собственную сеть на основе NAT.
Настройка виртуальной сети на основе NAT:
В консоли:
Создать файл
/tmp/nat_network.xml
со следующим содержимым:
<network>
<name>nat_network</name>
<forward mode="nat"/>
<ip address="192.168.20.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.20.128" end="192.168.20.254"/>
</dhcp>
</ip>
</network>
Определить новую сеть, используя файл
/tmp/nat_network.xml
:
# virsh net-define /tmp/nat_network.xml
# virsh net-autostart nat_network
# virsh net-start nat_network
В virt-manager:
Настройка ВМ:
В консоли:
Новая ВМ:
# virt-install --network network=nat_network ...
Существующая ВМ:
открыть конфигурацию XML ВМ в текстовом редакторе:
# virsh edit alt-server
найти раздел <interface>:
<interface type='network'>
<mac address='52:54:00:85:11:34'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
если необходимо изменить существующий интерфейс, заменить название сети на nat_network:
<interface type='network'>
<mac address='52:54:00:85:11:34'/>
<source network='nat_network'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
если необходимо добавить дополнительный интерфейс Ethernet, добавить новый раздел <interface> (libvirt сгенерирует случайный MAC-адрес для нового интерфейса, если <mac> опущен):
<interface type='network'>
<source bridge="nat_network"/>
</interface>
В virt-manager: