Продолжаем знакомство с сетевыми настройками виртуальных машин. Во второй части мы рассмотрим настройку различных типов сетевых соединений, начиная с установки ОС и заканчивая настройкой сетевых интерфейсов установленной системы.
DHCP
Для использования связки NAT/Сеть NAT + Виртуальный адаптер хоста, необходимо отключить DHCP для устройства VirtualBox Host-Only Ethernet Adapter. Отключение DHCP сервера обеспечивает статические ip-адреса для машин использующих VirtualBox Host-Only Ethernet Adapter.
Откройте настройки (Ctrl+G) и перейдите в раздел "Сеть", вкладка "Виртуальные сети хоста" и выберите устройство VirtualBox Host-Only Ethernet Adapter. Кликните по нему два раза, для открытия настроек устройства. В открывшемся окошке перейдите на вкладку "DHCP сервер" и уберите галочку со значения "Включить сервер".
При использовании NAT + Виртуальный адаптер хоста, больше ничего настраивать не нужно и можно переходить к установке системы.
В случае использования Сеть NAT + Виртуальный адаптер хоста, помимо отключения DHCP, необходимо добавить Сеть NAT и отключить DHCP и для нее.
Откройте настройки и перейдите в раздел "Сеть". На вкладке "Сети NAT" добавьте сеть, кликнув по зеленой иконке с плюсиком, в открывшемся окне снимите галочку со значения "Поддержка DHCP".
NAT + Виртуальный адаптер хоста в Ubuntu & Debian
Окно выбора сетевого интерфейса для первоначальной настройки.
Выбираем enp0s3 или eth0 в зависимости от системы, это будет первый сетевой адаптер работающий в NAT режиме. Система автоматически задаст конфигурацию интерфейса.
После установки системы редактируем конфигурационный файл сетевых интерфейсов.
nano /etc/network/interfaces
В файле есть конфигурация enp0s3/eth0 для режима NAT.
# The primary network interface auto enp0s3 iface enp0s3 inet dhcp
Интерфейс настроен на автоматическое получение адреса (dhcp), но поскольку это NAT, то адрес будет только один - 10.0.2.15/24. Здесь оставляем все как есть.
Добавим конфигурацию второго интерфейса - enp0s8/eth1, работающего в режиме Виртуального адаптера хоста.
# Виртуальный адаптер хоста auto enp0s8 iface enp0s8 inet static address 192.168.56.100 netmask 255.255.255.0
Значение auto указывает что интерфейс стартует при запуске системы, static что назначенный ip-адрес будет постоянным, netmask задает маску подсети.
Файл должен выглядеть так.
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet dhcp # Виртуальный адаптер хоста auto enp0s8 iface enp0s8 inet static address 192.168.56.100 netmask 255.255.255.0
Запустим интерфейс для применения настроек.
ifup enp0s8
Проверим настройки.
ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:e7:70:2d brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fee7:702d/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:a3:fe:a4 brd ff:ff:ff:ff:ff:ff inet 192.168.56.100/24 brd 192.168.56.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fea3:fea4/64 scope link valid_lft forever preferred_lft forever
NAT + Виртуальный адаптер хоста в CentOS
При использовании NAT + Виртуальный адаптер хоста во время установки, в разделе "СЕТЬ И ИМЯ УЗЛА" будут доступны два сетевых интерфейса.
Выбираем первый адаптер enp0s3 работающий в NAT режиме. Его достаточно просто включить и все настройки будут применены автоматически.
Выбираем enp0s8 и нажимаем "Настроить" в нижнем правом углу окна. Переходим на вкладку "Параметры IPv4" и выбираем ручную настройку. Нажимаем "Add" и вводим значения ip-адреса - 192.168.56.100 и маски подсети - 24. После чего нажимаем "Сохранить".
Включаем адаптер чтобы применить настройки.
После настройки активным будет первый интерфейс, второй будет отключен.
После установки редактируем файл интерфейса enp0s8.
nano /etc/sysconfig/network-scripts/ifcfg-enp0s8
Изменяем значение параметра ONBOOT с no на yes. Если этого не сделать, то интерфейс не будет запускаться при загрузке системы и его придется запускать вручную.
ONBOOT=yes
Запускаем интерфейс enp0s8.
ifup enp0s8
Проверяем настройки.
ip a 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:79:69:f0 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3 valid_lft 85396sec preferred_lft 85396sec inet6 fe80::a00:27ff:fe79:69f0/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:53:aa:83 brd ff:ff:ff:ff:ff:ff inet 192.168.56.100/24 brd 192.168.56.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe53:aa83/64 scope link valid_lft forever preferred_lft forever
Сеть NAT + Виртуальный адаптер хоста в Ubuntu & Debian
Окно выбора сетевого интерфейса для первоначальной настройки.
Выбираем enp0s3 или eth0, при попытке автоматической настройки интерфейса система выдаст предупреждение.
Системе не удалось получить настройки от DHCP сервера. Нажмите <Продолжить> и выберите ручную настройку сети.
Вводим ip-адрес с указанием длины маски подсети - 10.0.2.5/24 и нажимаем <Продолжить>.
Исходя из указанного ip-адреса система автоматически подставит значение шлюза, нажимаем <Продолжить>.
Адреса DNS серверов тоже можно оставить по умолчанию.
Редактируем конфигурационный файл интерфейсов.
nano /etc/network/interfaces
В файле уже есть конфигурация первого интерфейса enp0s3/eth0, работающего в режиме Сеть NAT.
# The primary network interface auto enp0s3 iface enp0s3 inet static address 10.0.2.5 netmask 255.255.255.0 network 10.0.2.0 broadcast 10.0.2.255 gateway 10.0.2.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 10.0.2.1
Добавим конфигурацию второго интерфейса - enp0s8/eth1 - Виртуальный адаптер хоста.
# Виртуальный адаптер хоста auto enp0s8 iface enp0s8 inet static address 192.168.56.100 netmask 255.255.255.0
Значение auto указывает что интерфейс будет стартовать при запуске системы, static указывает что назначенный ip-адрес будет постоянным, netmask задает маску подсети.
Файл должен выглядеть так.
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet static address 10.0.2.5 netmask 255.255.255.0 network 10.0.2.0 broadcast 10.0.2.255 gateway 10.0.2.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 10.0.2.1 # Виртуальный адаптер хоста auto enp0s8 iface enp0s8 inet static address 192.168.56.100 netmask 255.255.255.0
Запустим интерфейс для применения настроек.
ifup enp0s8
Проверим настройки.
ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:37:04:14 brd ff:ff:ff:ff:ff:ff inet 10.0.2.5/24 brd 10.0.2.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe37:414/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:8f:05:3d brd ff:ff:ff:ff:ff:ff inet 192.168.56.100/24 brd 192.168.56.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe8f:53d/64 scope link valid_lft forever preferred_lft forever
Сеть NAT + Виртуальный адаптер хоста в CentOS
При использовании Сеть NAT + Виртуальный адаптер хоста во время установки, в разделе "СЕТЬ И ИМЯ УЗЛА" будут доступны два сетевых интерфейса.
Выбираем первый адаптер enp0s3 работающий в Сеть NAT режиме. Для ручной настройки нажимаем кнопку "Настроить" в нижнем правом углу окна. В открывшемся окне переходим на вкладку "Параметры IPv4" и выбираем ручную настройку. Нажимаем кнопку "Add" и вводим значения ip-адреса - 10.0.2.5 и маски подсети - 24. Значения шлюза и DNS-сервера - 10.0.2.1, после чего нажимаем кнопку "Сохранить".
Включаем адаптер для применения настроек.
Выбираем второй адаптер enp0s8 работающий в режиме Виртуального адаптера хоста. Для ручной настройки нажимаем кнопку "Настроить" в нижнем правом углу окна. Переходим на вкладку "Параметры IPv4" и выбираем ручную настройку. Нажимаем кнопку "Add" и вводим значения ip-адреса - 192.168.56.100 и маски подсети - 24. Нажимаем "Сохранить".
Включаем адаптер для применения настроек.
После настройки активным будет первый интерфейс, второй будет отключен.
Редактируем файл интерфейса enp0s8.
nano /etc/sysconfig/network-scripts/ifcfg-enp0s8
Изменяем значение параметра ONBOOT с no на yes. Если этого не сделать, то интерфейс не будет запускаться при загрузке системы и его придется запускать вручную.
ONBOOT=yes
Запускаем интерфейс enp0s8.
ifup enp0s8
Проверяем настройки.
ip a 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:79:69:f0 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3 valid_lft 85396sec preferred_lft 85396sec inet6 fe80::a00:27ff:fe79:69f0/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:53:aa:83 brd ff:ff:ff:ff:ff:ff inet 192.168.56.100/24 brd 192.168.56.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe53:aa83/64 scope link valid_lft forever preferred_lft forever
NAT/Сеть NAT + Проброс портов
С помощью проброса портов Virtualbox делает доступными службы к которым проброшен порт. Для приложений хост-системы все выглядит так, будто службы работают на той же машине что и они сами. Для каждой службы надо пробрасывать отдельный порт.
Рассмотрим проброс порта на примере SSH клиента PuTTY. В сетевых настройках виртуальной машины, на вкладке "Адаптер 1" нажимаем "Проброс портов". В открывшемся окне добавляем правило, щелкнув по зеленой иконке с плюсиком.
Правила проброса портов пишутся следующим образом:
- Имя - может быть любым, чтобы не путаться я называю правило именем протокола или службы, работу которого оно обеспечивает.
- Протокол - указывается протокол который использует служба.
- Адрес хоста - под адресом хоста подразумевается адрес машины на который будут идти запросы на соединение. Обычно указывается localhost 127.0.0.1
- Порт хоста - порт хост-системы на который поступают запросы на соединение. От 50000 и выше идут свободные порты.
- Адрес гостя - адрес виртуальной машины в NAT сети - 10.0.2.15
- Порт гостя - порт виртуальной машины на котором работает нужная служба. Поскольку SSH работает на 22 порту, то указываем 22 порт.
Проверим порт и подключимся к виртуальной машине.
Проброс портов для Сеть NAT ничем не отличается от NAT, только производится в настройках самой сети.
Переходим в настройки программы, раздел "Сеть", вкладка "Сети NAT". Открываем настройки сети и нажимаем кнопку "Проброс портов". Все остальное происходит точно также как при настройке для NAT режима.
Сетевой мост в Ubuntu & Debian
Настройка адаптера в режиме сетевого моста происходит автоматически в процессе установки ОС. Если поддержка DHCP отключена, то соединение настраивается вручную.
<Продолжить> - Настроить сеть вручную.
Вводим ip-адрес и маску подсети исходя из рабочего диапазона вашего маршрутизатора.
Основываясь на значении ip шлюз будет указан автоматически.
Указываем DNS сервер. Можно оставить по умолчанию (совпадает со значением шлюза) или вводим свои значения.
После установки системы проверим настройки интерфейса.
ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:e0:d3:a4 brd ff:ff:ff:ff:ff:ff inet 192.168.1.200/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fee0:d3a4/64 scope link valid_lft forever preferred_lft forever
На примере Ubuntu содержание файла /etc/network/interfaces должно быть примерно следующим, в Debian сетевой интерфейс будет называться eth0.
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet static address 192.168.1.200 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 192.168.1.1 dns-search dev
Сетевой мост в CentOS
Настройка адаптера в режиме сетевого моста происходит автоматически в процессе установки ОС. Если поддержка DHCP отключена, то соединение настраивается вручную.
Для автоматической настройки интерфейса его достаточно просто включить и настройки будут применены автоматически.
Для ручной настройки интерфейса нажмите кнопку "Настроить" в нижнем правом углу окна. Переходим на вкладку "Параметры IPv4" и выбираем ручную настройку. Нажимаем "Add" и вводим значения ip-адреса, шлюза, маски подсети и DNS-сервера. Нажимаем "Сохранить".
Включаем интерфейс чтобы применить настройки.
После установки проверим настройки интерфейса.
ip a 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:b4:f8:0b brd ff:ff:ff:ff:ff:ff inet 192.168.1.210/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::d98b:c1e7:61c6:3c30/64 scope link valid_lft forever preferred_lft forever
Файл должен выглядеть примерно так.
TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="enp0s3" UUID="27a19db9-5b46-40ef-b555-b81b9f51904d" DEVICE="enp0s3" ONBOOT="yes" IPADDR="192.168.1.210" PREFIX="24" GATEWAY="192.168.1.1" DNS1="192.168.1.1" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_PRIVACY="no"