Пример настроек сети

Материал из ISPWiki
Перейти к: навигация, поиск

Иерархия: VMmanager KVM -> Сети
VMmanager Cloud -> Сети

Постановка задачи

В данной статье описан пример настройки сети с использованием двух сетевых интерфейсов. eth0 подключен во внешнюю сеть 149.154.66.0/28, eth1 подключен в локальную сеть 10.0.0.0/24

Задача - обеспечить работу виртуальных машин как с публичными, так и с приватными ip адресами. Машины с публичными адресами смотрят в глобальную сеть (eth0), машины с внутренними адресами смотрят в локальную сеть (eth1). Машины с приватными ip адресами имеют доступ в интернет.

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

IP адреса

В разделе «Управление IP адресами» создаем сети, которые в дальнейшем будут использоваться при создании виртуальных машин.

149.154.66.0/28 с типом public 
10.0.0.0/24 (gw 10.0.0.10)  с типом private
"Управление IP адресами"

Сетевой мост

В разделе "Сети" создаем второй бридж для локальной сети, подключенный к eth1.

"Создание сетевого моста"

В результате получаем два сетевых моста, подключенных к разным интерфейсам

# brctl show 
bridge name	bridge id		STP enabled	interfaces 
virbr0		8000.5254005822e7	yes		virbr0-nic 
vmbr0		8000.00304893d2c6	no		eth0 
vmbr1		8000.00304893d2c7	no		eth1

Gateway для локальной сети

На vmbr1 добавляем адрес 10.0.0.10, который будет выступать в качестве gw для локальной сети.

Пример конфигурации vmbr1:

#cat /etc/sysconfig/network-scripts/ifcfg-vmbr1 
DEVICE=vmbr1 
ONBOOT=yes 
IPADDR=10.0.0.10 
NETMASK=255.255.255.0 
TYPE=Bridge 
STP=off

NAT

Чтобы обеспечить доступ виртуальных машин в глобальную сеть настраиваем nat

iptables -t nat -A POSTROUTING -o vmbr0 -j SNAT --to-source 149.154.66.12

где 149.154.66.12 - белый ip сервера на vmbr0

Проверяем, что форвардинг включен, иначе включаем

# sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

Настройка шаблонов виртуальных машин

В разделе "Шаблоны VM" создаем новый шаблон, например, с названием Private который использует локальную сеть.

"Шаблоны VM"

Создание виртуальных машин

При создании виртуальных машин, обратите внимание на следующие параметры:

Шаблон VM: Public - для виртуальных машин с публичными ip адресами, Private - для виртуальных машин с приватными ip адресами. Выбор шаблона определяет к какому бриджу, а соответственно и сетевому интерфейсу будет подключена виртуальная машина.

Тип IP адреса: Public - для виртуальных машин с публичными ip адресами, Private - для виртуальных машин с приватными ip адресами. Тип ip адреса определяет из какой сети будет выделен ip адрес для виртуальной машины.

"Создание виртуальных машин c публичным ip адресом"
"Создание виртуальных машин с приватным ip адресом"


Дополнительная информация

В случае, когда одна из виртуальных машин выполняет роль маршрутизатора (например на базе pfSense или Mikrotik) необходимо на хостовой машине отключать антиспуфинг.

P.S.

Если не стоит задача подключать виртуальные машины с локальными адресами в сетевой интерфейс, отличный от eth0, то для использования локальных ip достаточно только создать в разделе "Управление IP адресами" сеть с типом nat и использовать адреса из этой сети.

Проверено на CentOS 6.5, VMmanager Basic 5.19