Intereting Posts
Удаленный доступ к базе данных PostgresSql на NAS Synology DiskStation (DS216j) Почему не работает wget url / mediafile.ext> medafile2.ext? Переустановка Ubuntu через двойной загрузочный ноутбук Прикрепите терминал к рабочему столу X, работающему в VM удалить .gitignored файлы с помощью rsync aes-ni включен, но без поддержки ядра? Как добавить другой домен (SOA) в мою установку bind9, когда домен еще не делегирован. Каковы шаги делегации? rfkill unblock bluetooth отключается Как полностью синхронизировать локальный репозиторий с помощью Mercurial (bitbucket) Триггерное задание выполняется только один раз и только при низкой загрузке Как преобразовать zImage в uImage для загрузки с u-boot iptables – как отказаться от протоколов Извлечь URL из определенного шаблона (Google Alert) Не удалось подключить корневую файловую систему rw с журналом Как я могу прокручивать строки файла и находить файлы, соответствующие каждой строке?

Как назначить статические IP-адреса для HOST, BRIDGE и GUEST

Я изучаю сети, создавая небольшую виртуальную сеть в хосте CentOS. Мне нужно некоторое руководство на самом высоком уровне, чтобы начать планирование:


Сценарий:


У CentOS 7 HOST должен быть гостевой доступ CentOS 7, и оба HOST и GUEST должны иметь разные статические общедоступные IP-адреса. Я понимаю, что это достигается путем создания моста в HOST.

Физический блок HOST подключается через Ethernet к маршрутизатору / модему, который имеет IP-адрес GATEWAY 12.34.567.8aa . Доступно 5 общедоступных статических IP-адресов, в том числе 12.34.567.111 , 12.34.567.222 , 12.34.567.333 , 12.34.567.444 и 12.34.567.555

Как определить статические общедоступные IP-адреса для HOST, BRIDGE и GUEST? Должны ли они иметь три отдельных IP-адреса? Или, если HOST и BRIDGE имеют одинаковый IP-адрес?

Текущие IP-адреса, определенные в HOST, следующие. Соединение HOST с маршрутизатором / модемом является eno1 , а BRIDGE определяется как br1 .

 [root@remote-host ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether making:this:anonymous brd making:this:anonymous inet 12.34.567.111/29 brd 12.34.567.8xx scope global eno1 valid_lft forever preferred_lft forever inet6 making:this:anonymous scope global dynamic valid_lft 414553sec preferred_lft 414553sec inet6 making:this:anonymous scope global noprefixroute dynamic valid_lft 2419198sec preferred_lft 345598sec inet6 making:this:anonymous scope link valid_lft forever preferred_lft forever 3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether making:this:anonymous brd making:this:anonymous 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000 link/ether making:this:anonymous brd making:this:anonymous 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000 link/ether making:this:anonymous brd making:this:anonymous 50: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether making:this:anonymous brd making:this:anonymous inet 12.34.567.111/29 brd 12.34.567.8xx scope global br1 valid_lft forever preferred_lft forever inet6 making:this:anonymous scope link valid_lft forever preferred_lft forever 63: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br1 state UNKNOWN qlen 1000 link/ether making:this:anonymous brd making:this:anonymous inet6 making:this:anonymous scope link valid_lft forever preferred_lft forever [root@remote-host ~]# 

Согласно документации libvirt :

Мост в ЛВС

Это рекомендуемая конфигурация для общих гостевых подключений на хостах со статическими сетевыми конфигурациями.

Предоставляет мост от виртуальной машины непосредственно в локальной сети. Это предполагает, что на хосте есть мостовое устройство, у которого есть один или несколько физических персонажей хостов, порабощенных. Гостевая виртуальная машина будет иметь связанное с ней устройство туннеля, созданное с именем vnetN, которое также может быть переопределено элементом (см. Переопределение целевого элемента). Устройство tun будет порабощено мосту. Конфигурация диапазона IP / сети – это то, что используется в локальной сети. Это обеспечивает гостевой VM полный входящий и исходящий сетевой доступ, как и физическая машина.

Использование virsh для создания моста

Согласно документации RHEL , вы можете использовать virsh для создания моста, например br0 мост, основанный на интерфейсе eth0 :

 # virsh iface-bridge eth0 br0 

Если вам нужно / нужно удалить мост, сделайте

 # virsh iface-unbridge br0 

Создание сетевых скриптов

Если это не так, как вам нужно, создайте / отредактируйте init-скрипты в /etc/sysconfig/network-scripts/ вручную. Этот раздел находится непосредственно на странице документации libvirt :

В каталоге / etc / sysconfig / network-scripts необходимо создать 2 файла конфигурации. Первый (ifcfg-eth0) определяет ваш физический сетевой интерфейс и говорит, что он будет частью моста:

 # cat > ifcfg-eth0 <<EOF DEVICE=eth0 HWADDR=00:16:76:D6:C9:45 ONBOOT=yes BRIDGE=br0 NM_CONTROLLED=no EOF 

Очевидно, измените HWADDR, чтобы он соответствовал вашему фактическому адресу NIC. Вы также можете настроить MTU устройства здесь, например, MTU = 9000.

Второй файл конфигурации (ifcfg-br0) определяет мостовое устройство:

 # cat > ifcfg-br0 <<EOF DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0 NM_CONTROLLED=no EOF 

ПРЕДУПРЕЖДЕНИЕ: Строка TYPE = Bridge чувствительна к регистру – она ​​должна иметь верхний регистр «B» и нижний регистр «гребень»,

После изменения этой перезагрузки (или просто перезагрузки)

  # service network restart 

Последний шаг – отключить netfilter на мосту:

  # cat >> /etc/sysctl.conf <<EOF net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 EOF # sysctl -p /etc/sysctl.conf 

Рекомендуется делать это по соображениям производительности и безопасности. См. Ошибка Fedora # 512206. Кроме того, вы можете настроить iptables, чтобы разрешить весь трафик по всему мосту:

 # echo "-I FORWARD -m physdev --physdev-is-bridged -j ACCEPT" > /etc/sysconfig/iptables-forward-bridged # lokkit --custom-rules=ipv4:filter:/etc/sysconfig/iptables-forward-bridged # service libvirtd reload 

NetworManager и мосты

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

 # chkconfig NetworkManager off # chkconfig network on # service NetworkManager stop # service network start 

Итак, как только вы создаете интерфейс «bridge», поработите физический сетевой адаптер, как описано в документации, тогда вам нужно отредактировать конфигурацию виртуального гостя, чтобы поработить его сетевой адаптер на мосту на хосте.

 ... <devices> ... <interface type='bridge'> <source bridge='br0'/> </interface> <interface type='bridge'> <source bridge='br1'/> <target dev='vnet7'/> <mac address="00:11:22:33:44:55"/> </interface> ... </devices> 

Как только это будет сделано, маршрутизатор, к которому подключен физический сетевой адаптер вашего хоста, назначит адреса через DHCP для мостовых интерфейсов – как для хоста, так и для гостя.


В Serverfault есть вопросы и ответы, которые могут быть полезны при настройке гостевой конфигурации. По сути, используя virsh (при условии, что вы работаете с libvirt ), do

 virsh net-list virsh net-edit $NETWORKNAME 

Найдите раздел dhcp и отредактируйте что-нибудь подобное

 <dhcp> <range start='192.168.122.100' end='192.168.122.254'/> <host mac='52:54:00:6c:3c:01' name='vm1' ip='192.168.122.11'/> <host mac='52:54:00:6c:3c:02' name='vm2' ip='192.168.122.12'/> <host mac='52:54:00:6c:3c:03' name='vm3' ip='192.168.122.12'/> </dhcp> 

Примечание. Может существовать файл «hosts» в /var/lib/libvirt/dnsmasq/ с существующими сопоставлениями.

 nl /var/lib/libvirt/dnsmasq/myvirtnet.lan.hostsfile 1 52:54:00:39:ae:1c,192.168.122.242,minirhel.myvirtnet 2 52:54:00:9b:0a:42,192.168.122.133,rhel7.myvirtnet 3 52:54:00:f9:1e:45,192.168.122.134,rhel7.myvirtnet 4 52:54:00:b0:d5:38,192.168.122.205,redqcow.myvirtnet 5 52:54:00:af:c4:9c,192.168.122.206,redqcow.myvirtnet