Знакомство с Virtualbox. Сетевые настройки программы и виртуальных машин. Часть — 2

Знакомство с Virtualbox. Сетевые настройки программы и виртуальных машин. Часть - 2 Хостинг
Содержание
  1. Отключение IPv6 протокола
  2. В CentOS
  3. В Debian & Ubuntu
  4. Сетевые настройки
  5. Интерфейсы Ethernet
  6. Определение Ethernet интерфейсов
  7. Логические имена интерфейсов Ethernet
  8. Настройки интерфейса Ethernet
  9. Адресация IP
  10. Временное назначение IP адреса
  11. Динамическое присвоение IP адреса (клиент DHCP)
  12. Статическое присвоение IP адреса
  13. Интерфейс Loopback (обратной петли)
  14. Разрешение имен
  15. Настройка клиента DNS
  16. Статические имена хостов
  17. Настройка переключения сервиса имен
  18. Строительство мостов 🙂
  19. Ссылки
  20. Команда ip
  21. Ещё статьи о Debian
  22. Настройка сети в Debian
  23. Управление пакетами с помощью aptitude в Debian…
  24. SSH Подключение с использованием открытого ключа…
  25. Насторйка OpenSSH
  26. Linux HTML-редакторы
  27. Как обновить Debian 6 Squeeze до Debian 7 Wheezy
  28. Настройка DNS в Debian
  29. Настройка IP адреса
  30. Настройка сетевых интерфейсов в CentOS
  31. Получение информации о сетевых интерфейсах
  32. NAT + Виртуальный адаптер хоста в CentOS
  33. NAT + Виртуальный адаптер хоста в Ubuntu & Debian
  34. 2 ответа
  35. Другие вопросы по тегам:
  36. Похожие вопросы:
  37. Настройка DNS в CentOS
  38. Как узнать свой ip-адрес
  39. Сетевой мост в CentOS
  40. Настройка сетевых интерфейсов в Debian & Ubuntu
  41. DHCP
  42. Сеть NAT + Виртуальный адаптер хоста в CentOS
  43. Сетевой мост в Ubuntu & Debian
  44. NAT/Сеть NAT + Проброс портов
  45. Изменение hostname в Debian
  46. Изменение hostname в CentOS
  47. Добавление статических маршрутов
  48. Сеть NAT + Виртуальный адаптер хоста в Ubuntu & Debian

Отключение IPv6 протокола

Если IPv6 не поддерживается вашим маршрутизатором или провайдером, то имеет смысл его отключить, поскольку замедляется общая работа сети; дольше определяются имена сайтов, выполняются ненужные попытки получения IPv6 адресов, это приводит к лишним задержкам.

Узнать свой IPv6 адрес можно следующим способом

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: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:8b:f1:17 brd ff:ff:ff:ff:ff:ff
    inet 93.170.169.118/23 brd 93.170.169.255 scope global ens3
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe8b:f117/64 scope link 
       valid_lft forever preferred_lft forever

Строка начинающаяся с — inet6 fe80::5054:ff:fe8b:f117/64 и есть искомый адрес. Поддержка IPv6 включена в Linux по умолчанию, но это не означает что его может поддерживать ваш провайдер. Чтобы проверить поддержку IPv6 вашим провайдером, можно выполнить пинг ipv6.google.com. Если обмен пакетами происходит, то протокол поддерживается, если нет, то будет следующее.

root@techlist:~# ping6 ipv6.google.com
connect: Network is unreachable

Перед тем как отключить поддержку IPv6 протокола надо узнать какая из программ использует его на текущий момент.

netstat -tulnp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1157/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1257/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1157/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1257/master         
udp        0      0 127.0.0.1:323           0.0.0.0:*                           564/chronyd         
udp6       0      0 ::1:323                 :::*                                564/chronyd

Все что начинается с ::: это IPv6, его используют три демона: sshd, chronyd и master (postfix). Для того чтобы исключить ошибки в дальнейшей работе, надо отключить IPv6 для каждого.

sshd:
nano /etc/ssh/sshd_config

Раскомментируем строки и заменим any на inet:
#AddressFamily any
#ListenAddress 0.0.0.0

AddressFamily inet
ListenAddress 0.0.0.0

postfix:
nano /etc/postfix/main.cf

Находим строку и меняем значение all на ipv4:
inet_protocols = all
inet_protocols = ipv4

Создадим файл chronyd:
nano /etc/sysconfig/chronyd
Добавим в него строку:
OPTIONS=-4

В CentOS

Отключение поддержки IPv6 протокола в CentOS происходит следующим образом.

Редактируем sysctl.conf:
nano /etc/sysctl.conf

Добавим:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Редактируем network:
nano /etc/sysconfig/network

Добавим:
NETWORKING_IPV6=no
IPV6INIT=no

Перезагрузим систему:
reboot
ifconfig

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.6  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 08:00:27:71:cf:76  txqueuelen 1000  (Ethernet)
        RX packets 33  bytes 4394 (4.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 37  bytes 7067 (6.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Строк вида  inet6 fe80::5054:ff:fe8b:f117
            inet6 ::1
нигде нет, значит порядок.

Также можно убрать все строки начинающиеся с IPV6 в конфигурационном файле интерфейса.

nano /etc/sysconfig/network-scripts/ifcfg-enp0s3

Убираем строки за ненадобностью:
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no

В Debian & Ubuntu

В Debian отключение поддержки IPv6 происходит правкой файла sysctl.conf или правкой файла grub.

nano /etc/sysctl.conf

Нужно добавить в файл:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохранить и выйти.

Применить изменения в файле sysctl.conf

sysctl -p
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
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:54:00:8b:f1:17 brd ff:ff:ff:ff:ff:ff
    inet 93.170.169.118/23 brd 93.170.169.255 scope global ens3
       valid_lft forever preferred_lft forever

Иногда бывает что IPv6 приходится отключать путем редактирования параметров загрузки ядра.

nano /etc/default/grub

Нужно найти строку GRUB_CMDLINE_LINUX="" и изменить ее следующим образом
GRUB_CMDLINE_LINUX="ipv6.disable=1"

Точно также можно изменить значение строки GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

Эффект будет тот же самый

Теперь нужно обновить конфигурацию загрузчика.

update-grub2

Потом перезагрузить систему.

reboot
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:65:57:69 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.220/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever

Тут тоже нет строк начинающихся с «inet6», значит порядок.

Сетевые настройки

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

Интерфейсы Ethernet

Интерфейсы Ethernet идентифицируются системой с использованием имен ethX, где X является числовым значением. Первый интерфейс обычно обозначается как eth0, второй как eth1, и все последующие с увеличивающимися номерами по порядку.

Определение Ethernet интерфейсов

Для быстрого определения всех доступных сетевых интерфейсов вы можете использовать команду ifconfig как показано ниже.

ifconfig -a | grep eth
eth0      Link encap:Ethernet  HWaddr 00:15:c5:4a:16:5a

Другое приложение, которое может помочь идентифицировать все доступные вашей системе сетевые интерфейсы, это команда lshw. В примере ниже lshw показывает один Ethernet интерфейс с логическим именем eth0 вместе с информацией по шине, деталями драйвера и всеми поддерживаемыми возможностями.

sudo lshw -class network
  *-network
       description: Ethernet interface
       product: BCM4401-B0 100Base-TX
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: eth0
       version: 02
       serial: 00:15:c5:4a:16:5a
       size: 10MB/s
       capacity: 100MB/s
       width: 32 bits
       clock: 33MHz
       capabilities: (snipped for brevity)
       configuration: (snipped for brevity)
       resources: irq:17 memory:ef9fe000-ef9fffff

Логические имена интерфейсов Ethernet

Логические имена интерфейсов настраиваются в файле /etc/udev/rules.d/70-persistent-net.rules. Если вы захотите определить какой интерфейс получит определенное логическое имя, найдите строку по совпадению физического MAC адреса интерфейса и измените значение NAME=ethX на желаемое логическое имя. Перегрузите систему для применения изменений.

Настройки интерфейса Ethernet

ethtool — это программа, которая показывает и изменяет настройки сетевых карт, такие как автоопределение, скорость порта, режим дуплекса и функция Wake-on-LAN (пробуждение системы через сеть). Эта программа не устанавливается по умолчанию, но доступна к установке из репозиториев.

sudo apt-get install ethtool

Ниже приведен пример как посмотреть возможности карты и настроить параметры интерфейса Ethernet.

sudo ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Half 1000baseT/Full 
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Current message level: 0x000000ff (255)
        Link detected: yes

Изменения, сделанные с использованием команды ethtool, временные и будут утеряны после перезагрузки. Если вы хотите сохранить настройки, просто добавьте требуемую команду ethtool в строку pre-up в файле /etc/network/interfaces.

Ниже приведен пример как интерфейс, определенный как eth0, может быть постоянно настроен на скорость порта 1000Мб/с в режиме полного дуплекса.

auto eth0
iface eth0 inet static
pre-up /sbin/ethtool -s eth0 speed 1000 duplex full

Несмотря на то, что пример выше показывает интерфейс, настроенный статично, это работает и с другими методами, такими как DHCP. Этот пример слишком примитивен, чтобы продемонстрировать всю важность и возможности использования строки pre-up по отношению к настройке интерфейсов.

Адресация IP

Следующая секция описывает процесс настройки IP адреса вашей системы и шлюза по умолчанию, необходимые для подключения к локальной сети и интернету.

Временное назначение IP адреса

Для временной настройки сети вы можете использовать стандартные команды, такие как ip, ifconfig и route, которые присутствуют также и в других системах на базе GNU/Linux. Эти команды позволят изменить настройки, которые будут применены мгновенно, но они не будут постоянными и будут утеряны после перезагрузки.

Для временной настройки IP адреса вы можете использовать команду ifconfig следующим образом. Только замените IP адрес и маску подсети на соответствующие требованиям вашей сети.

sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0

Для проверки настройки IP адреса eth0 вы можете использовать команду ifconfig таким образом:

ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:15:c5:4a:16:5a  
          inet addr:10.0.0.100  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::215:c5ff:fe4a:165a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:466475604 errors:0 dropped:0 overruns:0 frame:0
          TX packets:403172654 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2574778386 (2.5 GB)  TX bytes:1618367329 (1.6 GB)
          Interrupt:16

Для настройки шлюза по умолчанию вы можете использовать команду route следующим образом. Измените адрес шлюза по умолчанию на требуемый для вашей сети.

sudo route add default gw 10.0.0.1 eth0

Для проверки настройки шлюза по умолчанию используйте команду route таким образом:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth0

Если вам требуется DNS для временной настройки сети, вы можете добавить IP адреса DNS серверов в файл /etc/resolv.conf. Пример ниже показывает как указать два DNS сервера в /etc/resolv.conf, которые могут быть заменены на сервера использующиеся в вашей сети. Более пространное описание настройки DNS клиента приведено в следующей секции.

nameserver 8.8.8.8
nameserver 8.8.4.4

Если вам больше не требуется эта конфигурация и вы хотите отменить все IP настройки интерфейса, вы можете использовать команду ip с опцией flush как показано ниже:

ip addr flush eth0

Сброс IP настроек с использованием команды ip не очистит содержимое /etc/resolv.conf. Вам придется удалять или менять эти значения вручную.

Динамическое присвоение IP адреса (клиент DHCP)

Чтобы настроить ваш сервера на использование DHCP для динамического присвоения адреса, добавьте dhcp метод в адресную секцию inet для соответствующего интерфейса в файле /etc/network/interfaces. Пример ниже предполагает, что вы настраиваете ваш первый интерфейс Ethernet, обозначенный как eth0.

auto eth0
iface eth0 inet dhcp

Добавив настройку интерфейса как показано выше, вы можете вручную включить интерфейс командой ifup, которая активизирует процесс DHCP через dhclient.

Читайте также:  Как быстро включить репозиторий CentOS для облегчения доступа к программному обеспечению

sudo ifup eth0

Для отключения интерфейса вручную вы можете воспользоваться командой ifdown, которая запустит процесс освобождения DHCP и остановки интерфейса.

sudo ifdown eth0

Статическое присвоение IP адреса

Для настройки вашей системы под использование статического присвоения IP адреса добавьте метод static в секцию inet для соответствующего интерфейса в файле /etc/network/interfaces. Пример ниже предполагает, что вы настраиваете ваш первый интерфейс Ethernet, обозначенный как eth0. Измените значения адреса, маски сети и шлюза для соответствия требованиям вашей сети.

auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1

Добавив настройку интерфейса как показано выше, вы можете вручную включить интерфейс командой ifup.

sudo ifup eth0

Для отключения интерфейса вручную вы можете воспользоваться командой ifdown.

sudo ifdown eth0

Интерфейс Loopback (обратной петли)

Интерфейс loopback определяется системой как lo и по умолчанию задает адрес 127.0.0.1. Он может быть выведен командой ifconfig.

ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2718 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2718 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:183308 (183.3 KB)  TX bytes:183308 (183.3 KB)

По умолчанию может присутствовать две строки в /etc/network/interfaces отвечающих за автоматическую настройку интерфейса loopback. Рекомендуется оставить эти настройки без изменений пока не возникнет специфической причины для их изменения. Пример этих двух строк приведен ниже.

auto lo
iface lo inet loopback

Разрешение имен

Под разрешением имени по отношению к IP сетям подразумевается процесс определения IP адреса по имени хоста, упрощающий идентификацию ресурса в сети. Данная секция раскрывает как правильно настроить вашу систему для разрешения имен с помощью DNS и статических записей имен хостов.

Настройка клиента DNS

Традиционно файл /etc/resolv.conf был статическим файлом настроек, который очень редко требовалось изменять или он менялся автоматически по запросам DHCP клиента. В настоящее время компьютер может переключаться с одной сети на другу слишком часто и структура resolveconf теперь используется для отслеживания этих изменений и автоматического обновления настроек разрешений. Это выглядит как промежуточный слой между программами, которые предоставляют информацию от серверов имен, и приложениями, которым она требуется. Resolvconf делает доступной информацию через подключение сценариев, связанных с настройкой сетевых интерфейсов. Наиболее значимое отличие для пользователя в том, что любые ручные изменения /etc/resolv.conf будут потеряны при перезаписи по каждому срабатыванию триггеров resolveconf. Вместо этого resolveconf использует ловушки клиента DHCP и /etc/network/interfaces для генерации списка серверов имен и доменов, чтобы положить в /etc/resolv.conf, который теперь является символьной ссылкой:

/etc/resolv.conf -> ../run/resolvconf/resolv.conf

Для настройки разрешений добавьте IP адреса серверов имен, соответствующие вашей сети, в файл /etc/network/interfaces. Вы также можете добавить необязательный список подбора DNS суффиксов для получения доменных имен. Для каждой другой разрешенной опции настройки resolv.conf вы можете добавить внутри абзаца по отдельной строке с этой опцией с префиксом имени dns-. Результирующий файл может выглядеть так:

iface eth0 inet static
    address 192.168.3.3
    netmask 255.255.255.0
    gateway 192.168.3.1
    dns-search example.com
    dns-nameservers 192.168.3.45 192.168.8.10

Опции поиска также могут использоваться разные доменные имена, таким образом DNS запросы будут дополняться ими в том порядке, как они вводились. Например, ваша сеть может иметь несколько поддоменов для поиска; родительский домен example.com и два поддомена sales.example.com и dev.example.com.

Если у вас несколько доменов, в которых вы собираетесь искать, ваша конфигурация может выглядеть так:

iface eth0 inet static
    address 192.168.3.3
    netmask 255.255.255.0
    gateway 192.168.3.1
    dns-search example.com sales.example.com dev.example.com
    dns-nameservers 192.168.3.45 192.168.8.10

Если вы попытаетесь проверить хост с именем server1, ваша система автоматически запросит DNS по их полным доменным именам (FQDN) в следующем порядке:

Если совпадений не будет, DNS сервер предоставит результат notfound и запрос DNS потерпит неудачу.

Статические имена хостов

Статические имена хостов — это локально определенные соотношения «имя хоста-IP», находящиеся в файле /etc/hosts. Значения, определенные в файле hosts, по умолчанию превалируют над DNS. Это означает, что если система пытается разрешить имя и находит его в /etc/hosts, она не будет пытаться смотреть записи в DNS. В некоторых конфигурациях, особенно когда доступ в интернет не требуется, сервера, соединенные с ограниченным количеством ресурсов, могут просто использовать статический список имен вместо DNS.

Далее приведен пример файла hosts, где ряд локальных серверов определены обычными именами хостов, алиасами и их эквивалентами полных имен (FQDN).

127.0.0.1	localhost
127.0.1.1	ubuntu-server
10.0.0.11	server1 vpn server1.example.com
10.0.0.12	server2 mail server2.example.com
10.0.0.13	server3 www server3.example.com
10.0.0.14	server4 file server4.example.com

В примере выше обратите внимание, что каждый сервер имеет алиас в добавок к их правильным коротким и полным именам. server1 соотносится с именем vpn, server2 определен как mail, server3 как www и server4 как file.

Настройка переключения сервиса имен

Последовательность, в которой ваша система выбирает метод разрешения имен по IP адресам управляется настроечным файлом переключателя сервиса имен (NSS) /etc/nsswitch.conf. Как отмечено в предыдущей секции, обычно статические имена хостов, определенные в системном файле /etc/hosts, имеют приоритет перед разрешением имен через DNS. Далее пример строки, отвечающей за этот порядок перебора имен хостов в файле /etc/nsswitch.conf.

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
  1. files сперва пытается разрешить статическое имя хоста в /etc/hosts.

  2. mdns4_minimal пытается разрешить имя с использованием параллельного (multicast) DNS.

  3. dns представляет собой наследуемый последовательный (legacy unicast) DNS запрос.

  4. mdns4 представляет параллельный (multicast) DNS запрос.

Для изменения последовательности вышеупомянутых методов разрешения имен вы можете просто заменить строку hosts: на значение по вашему выбору. Например, если вы предпочитаете использовать последовательный DNS до параллельного DNS, вы можете изменить строку в /etc/nsswitch.conf как показано ниже:

hosts:          files dns [NOTFOUND=return] mdns4_minimal mdns4

Строительство мостов 🙂

Соединение нескольких интерфейсов — наиболее продвинутая настройка, но очень полезная во множестве сценариев. Один вариант — установка взаимодействия между несколькими сетевыми интерфейсами и затем использование защитного экрана (firewall) для фильтрования трафика между двумя сегментами сети. Другой сценарий — использование связывания на системе с одним интерфейсом для разрешения виртуальным машинам иметь прямой доступ во внешнюю сеть. Следующий пример раскрывает последний сценарий.

Перед настойкой взаимодействия вам потребуется установить пакет bridge-utils. Для установки пакета введите в терминале:

sudo apt-get install bridge-utils

Далее настройте взаимодействие, отредактировав /etc/network/interfaces:

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
        address 192.168.0.10
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

Введите значения соответствующие вашим физическому интерфейсу и сети.

Теперь перезапустите сеть для разрешения взаимодействия интерфейсов:

sudo /etc/init.d/networking restart

Теперь новый мост между интерфейсами поднят и работает. Утилита brctl предоставит полезную информацию о статусе моста, определяет какие интерфейсы участвуют во взаимодействии и т.д. Смотрите man brctl для дополнительной информации.

Ссылки


Команда ip

В случаях поиска неисправностей, для отладки и т.д. сетевые интерфейсы можно настроить с помощью команды ip. Но надо помнить, что эти настройки будут действовать только до перезагрузки операционной системы! Получить информацию по сетевым интерфейсам:

# ip link show

Получить информацию по ip адресам:

# ip addr show

# ip address del 192.168.123.35/24 dev enp0s3

Назначить ip адрес вместо удалённого:

# ip address add 192.168.123.254/24 brd + dev enp0s3

Получить информацию по маршрутам:

# ip route show

Добавить основной шлюз:

# ip route add default via 192.168.123.1

Добавить маршрут в сеть 192.168.111.0/24 через шлюз 192.168.123.2

# ip route add 192.168.111.0/24 via 192.168.123.2

Вот и всё!

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

Ещё статьи о Debian


    • Настройка сети в Debian


    • Управление пакетами с помощью aptitude в Debian…


    • SSH Подключение с использованием открытого ключа…


    • Насторйка OpenSSH


    • Linux HTML-редакторы


    • Как обновить Debian 6 Squeeze до Debian 7 Wheezy

Настройка DNS в Debian

Назначить DNS сервера в Debian можно несколькими способами. Правкой файла /etc/resolv.conf и использованием утилиты resolvconf, только не путайте, это совершенно разные вещи.

Прежде чем настраивать DNS нужно узнать стоит ли пакет resolvconf или нет. Узнать можно так:

dpkg -l

Если есть такая строка в выводе, то resolvconf установлен:
ii  resolvconf         1.76.1       all            name server information handler

Если  resolvconf не установлен, то можно добавить адреса DNS сразу в файл /etc/resolv.conf, сохранить изменения и перезапустить интерфейс.

nano /etc/resolv.conf

Содержание файла:
nameserver 192.168.1.1 # тут у меня адрес шлюза/роутера

Можно добавить столько серверов, сколько необходимо, например DNS гугла:
nameserver 8.8.8.8
nameserver 8.8.4.4

Со временем система обживается, появляются новые программы изменяющие содержимое файла resolv.conf, поэтому лучше использовать утилиту resolvconf. Если утилита отсутствует, например при минимальной установке системы, то ее необходимо поставить.

apt-get install -y resolvconf

После установки файл /etc/resolv.conf заменяется ссылкой на /etc/resolvconf/run/resolv.conf. Если понадобится внести свои значения DNS, то сделать это можно через файл интерфейсов.

nano /etc/network/interfaces

Добавляем свои DNS, прописываем значения
dns-nameservers 8.8.8.8 8.8.4.4  # писать адреса через пробел

Перезапустим интерфейс:
ifdown eth0 && ifup eth0

Проверяем:
cat /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 192.168.1.1

После чего добавленные DNS адреса, пропишутся в файл resolv.conf автоматически.

Настройка IP адреса

Вот настройка сетевых интерфейсов при помощи конфигурационных файлов в Ubuntu значительно отличается от Debian. Это потому-что в Ubuntu используется система для управления сетью – Netplan. И нужно будет изучить конфигурационные файлы и команды этой системы.

Конфигурационные файлы Netplan находятся в каталоге “/etc/netplan“, а конфигурационный файл созданный при установки системы – “/etc/netplan/00-installer-config.yaml“.

Посмотрим на этот конфиг с помощью утилиты cat:

$ cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens18:
      dhcp4: true
    ens19:
      dhcp4: true
  version: 2

Такой формат конфигурационных файлов называется – YAML (произносится как “ямл”).

Разберём этот файл построчно:

  • network: – говорит о том, что сейчас будем настраивать сеть;
    • ethernets: – начинается настройка сетевых интерфейсов;
      • ens18: – настраиваем интерфейс ens18;
        • dhcp4: true – ip адрес будет получен по dhcp;
      • ens19: – настраиваем интерфейс ens19;
        • dhcp4: true – ip адрес будет получен по dhcp;
    • version: 2 – версия YAML.

Разбирать формат YAML не буду, просто покажу как назначить статичные ip адреса и отключить dhcp.

Число в имени файла – означает приоритет, и чем оно выше, тем выше приоритет у файла. Создадим новый конфиг, имя можно придумать любое, но чтобы этот файл стал главнее текущего, установим приоритет 02-:

$ sudo nano /etc/netplan/02-network.yaml
network:
  ethernets:
    ens18:
      dhcp4: no
      addresses: [ 172.28.90.75/20 ]
      routes:
       - to: default
         via: 172.28.80.10
      nameservers:
        addresses: [ 77.88.8.8, 77.88.8.1 ]
    ens19:
      dhcp4: no
      addresses: [ 192.168.0.10/24 ]
  version: 2

После создания конфигурационного файла проверим его на синтаксис:

$ sudo netplan generate

Если в выводе пусто, значит конфигурация верна.

Читайте также:  Топ 12 лучших хостингов сайтов на Wordpress 2022

Теперь можно применить настройки:

$ sudo netplan apply

После этого, вам придётся заново подключится к серверу по ssh, по другому ip адресу.

Итак, мы указали ip адреса для обоих интерфейсов, а также назначили на одном из низ шлюз по умолчанию (routes: – to default) и dns сервера (nameservers).

И запомните, на сервере Ubuntu 22.04, не нужно использовать утилиты ifdown и ifup. Здесь работает netplan, и применять настройки нужно с помощью этой утилиты, предварительно проверив конфигурацию.

Настройка сетевых интерфейсов в CentOS

Настройка сетевых интерфейсов в CentOS происходит правкой конфигурационных файлов. Файлы интерфейсов хранятся в директории /etc/sysconfig/network-scripts, каждый отвечает за свой интерфейс, таким образом сколько интерфейсов, столько и файлов. Во время установки создается дефолтный файл с именем — ifcfg-enp0s3.

Содержание файла ifcfg-enp0s3:

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="cac20b32-66a0-46bd-9b68-ec786f52d2f8"
DEVICE="enp0s3"
ONBOOT="yes"

Рассмотрим самые важные параметры и значения, чтобы понимать что к чему. Более подробно все параметры описаны в официальной документации Red Hat.

  • TYPE — задает тип сетевого адаптера, в данном случае «Ethernet».
  • BOOTPROTO — способ назначения ip-адреса. Может иметь значения: dhcp — динамический ip-адрес, static или none — статический ip-адрес.
  • DEFROUTE — использовать интерфейс в качестве маршрута по умолчанию. Значения yes или no.
  • IPV4_FAILURE_FATAL — В случае отсутствия IPv4 протокола закрывать соединение, по умолчанию no.
  • NAME — имя интерфейса.
  • DEVICE — имя устройства.
  • UUID — идентификационный номер интерфейса.
  • ONBOOT — старт интерфейса при загрузке, значения yes или no.
  • IPV6INIT — включение поддержки IPv6 протокола, значения yes или no.
  • IPV6_AUTOCONF
    IPV6_DEFROUTE
    IPV6_PEERDNS
    IPV6_PEERROUTES
    IPV6_FAILURE_FATAL — дополнительные параметры для IPv6 протокола.
  • BOOTPROTO=none — изменяем на none, тем самым указывая что ip будет статическим.
  • IPADDR=192.168.1.6 — назначаем сам адрес.
  • NETMASK=255.255.255.0 — задаем маску подсети.
  • GATEWAY=192.168.1.1 — указываем адрес шлюза.
  • DNS1=192.168.1.1 — задаем адреса DNS серверов.

После внесенных изменений файл должен принять следующий вид, естественно с поправками на ваши значения адресов.

TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.6 
NETMASK=255.255.255.0 
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=cac20b32-66a0-46bd-9b68-ec786f52d2f8
DEVICE=enp0s3
ONBOOT=yes

Перезапустим интерфейс для применения изменений.

ifdown enp0s3 && ifup enp0s3

Получение информации о сетевых интерфейсах

В прошлой статье мы разобрали настройку сети в системе Debian 11, а в этой разберём всё тоже самое но для Ubuntu 22.04.

Посмотреть на доступные сетевые интерфейсы мы точно также можем с помощью утилиты lshw. И на сервере Ubuntu эта утилита предустановлена.

$ sudo lshw -C network
  *-network:0
       description: Ethernet controller
       product: Virtio network device
       vendor: Red Hat, Inc.
       physical id: 12
       bus info: pci@0000:00:12.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: msix bus_master cap_list rom
       configuration: driver=virtio-pci latency=0
       resources: irq:11 ioport:e0e0(size=32) memory:fea93000-fea93fff memory:fe40c000-fe40ffff memory:fea00000-fea3ffff
     *-virtio3
          description: Ethernet interface
          physical id: 0
          bus info: virtio@3
          logical name: ens18
          serial: 02:6e:f0:fb:d4:71
          capabilities: ethernet physical
          configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 ip=172.28.90.34 link=yes multicast=yes
  *-network:1
       description: Ethernet controller
       product: Virtio network device
       vendor: Red Hat, Inc.
       physical id: 13
       bus info: pci@0000:00:13.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: msix bus_master cap_list rom
       configuration: driver=virtio-pci latency=0
       resources: irq:10 ioport:e100(size=32) memory:fea94000-fea94fff memory:fe410000-fe413fff memory:fea40000-fea7ffff
     *-virtio4
          description: Ethernet interface
          physical id: 0
          bus info: virtio@4
          logical name: ens19
          serial: 82:dd:88:27:00:a5
          capabilities: ethernet physical
          configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 link=yes multicast=yes

В этом примере у меня два сетевых интерфейса: ens18 (02:6e:f0:fb:d4:71) и ens19 (82:dd:88:27:00:a5). При этом ip адрес назначен только на ens18 (172.28.90.34).

Мы уже знаем что утилита lshw в основном используется, чтобы узнать имя и возможности сетевой карты, то есть информацию о железе. А для получения настроек сетевых интерфейсов нужно использовать команду – ip. Работает эта команда точно также как в Debian, поэтому заострять на ней внимание не буду.

$ ip addr show ens18
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 02:6e:f0:fb:d4:71 brd ff:ff:ff:ff:ff:ff
    inet 172.28.90.34/20 brd 172.28.95.255 scope global dynamic ens18
       valid_lft 258376sec preferred_lft 258376sec
    inet6 fe80::6e:f0ff:fefb:d471/64 scope link
       valid_lft forever preferred_lft forever

$ ip addr show ens19
3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 82:dd:88:27:00:a5 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::80dd:88ff:fe27:a5/64 scope link
       valid_lft forever preferred_lft forever

В примере выше видно, что ens18 имеет назначенный ip адрес, а ens19 нет. Но оба интерфейса активны (state UP).

NAT + Виртуальный адаптер хоста в CentOS

При использовании NAT + Виртуальный адаптер хоста во время установки, в разделе «СЕТЬ И ИМЯ УЗЛА» будут доступны два сетевых интерфейса.

virtualbox настройкиВыбираем первый адаптер enp0s3 работающий в NAT режиме. Его достаточно просто включить и все настройки будут применены автоматически.

virtualbox настройки

virtualbox настройкиВключаем адаптер чтобы применить настройки.

virtualbox настройки

После настройки активным будет первый интерфейс, второй будет отключен.

После установки редактируем файл интерфейса 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

Окно выбора сетевого интерфейса для первоначальной настройки.

virtualbox настройкиВыбираем 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

Файл должен выглядеть так.

# 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

2 ответа

Для Настольных версий Ubuntu (которые используют NetworkManager) /etc/network/interfaces файл должен содержать только следующее определение петлевого интерфейса:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

, Если Ваш /etc/network/interfaces файл действительно абсолютно пуст, то вставьте вышеупомянутое в него, сохраните и перезагрузка.

ifconfig eth0 IP_ADDRESS netmask 255.255.255.0 up

я наткнулся на подобную проблему здесь . Хотя в виртуальной среде это могло бы быть в состоянии помочь Вам. Можно также видеть очень простую структуру такого файла и заполнить остальных, как Вы считаете целесообразным.

Другие вопросы по тегам:

Похожие вопросы:

Настройка DNS в CentOS

За настройку DNS-серверов в CentOS отвечают два файла: сам файл сетевого интерфейса и файл resolv.conf в директории /etc.

Если править отдельно resolv.conf, то после перезапуска интерфейса изменения не сохранятся. Они будут автоматически заменены на значения указанные в файле ifcfg-enp0sX. Это из-за того что в файле интерфейса есть параметр «PEERDNS=yes«, когда он включен происходит замена адресов DNS в файле resolv.conf, на значения из файла интерфейса.

Редактируем файл интерфейса:
nano /etc/sysconfig/network-scripts/ifcfg-enp0s3

Добавляем несколько DNS серверов:
DNS1=192.168.1.1 # роутер
DNS2=8.8.8.8     # DNS Гугла

Перезапускаем интерфейс:
ifdown enp0s3 && ifup enp0s3

Смотрим resolv.conf:
cat /etc/resolv.conf

; generated by /usr/sbin/dhclient-script
nameserver 192.168.1.1
nameserver 8.8.8.8

Чтобы изменить значения DNS серверов в CentOS, достаточно внести правку в файл интерфейса, при включенном параметре PEERDNS.

Как узнать свой ip-адрес

ifconfig | grep inet
    inet addr:93.170.169.118  Bcast:93.170.169.255  Mask:255.255.254.0
    inet6 addr: fe80::5054:ff:fe8b:f117/64 Scope:Link
    inet addr:127.0.0.1  Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host

ip addr | grep inet
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
    inet 93.170.169.118/23 brd 93.170.169.255 scope global ens3
    inet6 fe80::5054:ff:fe8b:f117/64 scope link 

На данный момент команда ifconfig является хоть и устаревшей, но еще работающей командой (В CentOS требуется установить пакет net-tools). Начиная с ядра версии 2.2 ей на смену пришел пакет iproute2, состоящий из утилит: ip, tc, ss.

Сетевой мост в CentOS

Настройка адаптера в режиме сетевого моста происходит автоматически в процессе установки ОС. Если поддержка DHCP отключена, то соединение настраивается вручную.

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

virtualbox настройка

virtualbox настройкаВключаем интерфейс чтобы применить настройки.

virtualbox настройкаПосле установки проверим настройки интерфейса.

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"

Настройка сетевых интерфейсов в Debian & Ubuntu

За конфигурацию интерфейсов в Debian отвечает файл interfaces, расположенный в каталоге /etc/network/. В Debian & Ubuntu все интерфейсы прописываются в одном файле. В Debian интерфейсы именуются eth0, eth1 и т.д. В Ubuntu — enp0s3 и т.д.

Содержание файла interfaces:
# 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
allow-hotplug eth0
iface eth0 inet dhcp
  • allow-hotplug eth0 — инициализация интерфейса eth0 при определении ядром, грубо говоря запуск.
  • iface eth0 inet dhcp — назначение динамического адреса для eth0, значение inet dhcp.
  • iface lo inet loopback — интерфейс обратной петли lo, локальный интерфейс другими словами.
  • auto lo — старт при загрузке.
Читайте также:  Разблокируйте свою почтовую учетную запись Thunderbird с легкостью

Строки начинающиеся со слов «auto», используются для идентификации интерфейсов при их подъеме командой ifup -a (c доп. опцией -a), именно так поднимает интерфейсы система при загрузке. Имена интерфейсов следуют за словом «auto» в этой же строке, ifup поднимет их в порядке перечисления. Строк начинающихся с «auto» может быть несколько.

Строки, начинающиеся со слов «allow-» используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами.

  • inet static — указывает на статический ip-адрес
  • address — задает ip-адрес
  • netmask — указание маски подсети
  • gateway — указание шлюза
  • network — указание адреса подсети
  • broadcast — указание широковещательного канала.
  • dns-nameservers — указывает имена DNS-серверов (Если установлен пакет resolvconf)
Конечный вид файла с внесенными изменениями:
# 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 eth0                   
iface eth0 inet static      
address 192.168.1.7         
netmask 255.255.255.0       
gateway 192.168.1.1         
network 192.168.1.0         
broadcast 192.168.1.255

Для применения изменений перезапустим интерфейс.

ifdown eth0 && ifup eth0

DHCP

Откройте настройки (Ctrl+G) и перейдите в раздел «Сеть«, вкладка «Виртуальные сети хоста» и выберите устройство VirtualBox Host-Only Ethernet Adapter. Кликните по нему два раза, для открытия настроек устройства. В открывшемся окошке перейдите на вкладку «DHCP сервер» и уберите галочку со значения «Включить сервер«.

virtualbox настройкиПри использовании NAT + Виртуальный адаптер хоста, больше ничего настраивать не нужно и можно переходить к установке системы.

В случае использования Сеть NAT + Виртуальный адаптер хоста, помимо отключения DHCP, необходимо добавить Сеть NAT и отключить DHCP и для нее.

Откройте настройки и перейдите в раздел «Сеть«. На вкладке «Сети NAT» добавьте сеть, кликнув по зеленой иконке с плюсиком, в открывшемся окне снимите галочку со значения «Поддержка DHCP«.

virtualbox настройки

Сеть NAT + Виртуальный адаптер хоста в CentOS

При использовании Сеть NAT + Виртуальный адаптер хоста во время установки, в разделе «СЕТЬ И ИМЯ УЗЛА» будут доступны два сетевых интерфейса.

virtualbox настройки

virtualbox настройкиВключаем адаптер для применения настроек.

virtualbox настройки

virtualbox настройкиВключаем адаптер для применения настроек.

virtualbox настройки

После настройки активным будет первый интерфейс, второй будет отключен.

Редактируем файл интерфейса 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

Сетевой мост в Ubuntu & Debian

Настройка адаптера в режиме сетевого моста происходит автоматически в процессе установки ОС. Если поддержка DHCP отключена, то соединение настраивается вручную.

virtualbox настройки

<Продолжить> — Настроить сеть вручную.

virtualbox настройкиОсновываясь на значении ip шлюз будет указан автоматически.

virtualbox настройки

Указываем DNS сервер. Можно оставить по умолчанию (совпадает со значением шлюза) или вводим свои значения.

virtualbox настройки

После установки системы проверим настройки интерфейса.

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

NAT/Сеть NAT + Проброс портов

С помощью проброса портов Virtualbox делает доступными службы к которым проброшен порт. Для приложений хост-системы все выглядит так, будто службы работают на той же машине что и они сами. Для каждой службы надо пробрасывать отдельный порт.

Рассмотрим проброс порта на примере SSH клиента PuTTY. В сетевых настройках виртуальной машины, на вкладке «Адаптер 1» нажимаем «Проброс портов«. В открывшемся окне добавляем правило, щелкнув по зеленой иконке с плюсиком.

virtualbox настройкиПравила проброса портов пишутся следующим образом:

  • Имя — может быть любым,  чтобы не путаться я называю правило именем протокола или службы, работу которого оно обеспечивает.
  • Протокол — указывается протокол который использует служба.
  • Адрес хоста — под адресом хоста подразумевается адрес машины на который будут идти запросы на соединение. Обычно указывается localhost 127.0.0.1
  • Порт хоста — порт хост-системы на который поступают запросы на соединение. От 50000 и выше идут свободные порты.
  • Адрес гостя — адрес виртуальной машины в NAT сети — 10.0.2.15
  • Порт гостя — порт виртуальной машины на котором работает нужная служба. Поскольку SSH работает на 22 порту, то указываем 22 порт.

Проверим порт и подключимся к виртуальной машине.

virtualbox настройки

Проброс портов для Сеть NAT ничем не отличается от NAT, только производится в настройках самой сети.

Переходим в настройки программы, раздел «Сеть«, вкладка «Сети NAT«. Открываем настройки сети и нажимаем кнопку «Проброс портов«. Все остальное происходит точно также как при настройке для NAT режима.

virtualbox настройки

Изменение hostname в Debian

Существует несколько способов изменения hostname в Debian. Первый способ самый простой, но временный, он действует до первой перезагрузки. Выполните команду — hostname newname, где newname надо заменить на имя которое хотите присвоить системе.

Например я хочу изменить имя системы на techlist

hostname techlist

# Проверяем
root@Test:~# hostname
techlist

Как я уже говорил, оно действует только до первой перезагрузки системы, так как при загрузке системы идет считывание имени из файла /etc/hostname.

Чтобы изменить имя системы при помощи файла /etc/hostname, отредактируем его:

nano /etc/hostname

Добавить нужное имя:
techlist

Чтобы применить изменения внесенные в файл hostname, надо выполнить скрипт hostname.sh

выполняем скрипт:
/etc/init.d/hostname.sh start

перезагружаем систему:
reboot

проверяем:
root@techlist:~# hostname
techlist

Изменение hostname в CentOS

Для изменения hostname в CentOS нужно проделать несколько манипуляций с конф. файлами. Чтобы узнать текущее имя выполним команду hostname.

[root@test ~]# hostname
test

Текущее имя системы test. Я хочу изменить его на techlist, делаем следующее.

Вносим изменения в файл network:
nano /etc/sysconfig/network

Добавим в файл строку:
HOSTNAME=techlist

Вносим изменения в файл hosts:
nano /etc/hosts

Добавим ip-адрес и имя в файл:
192.168.1.6 techlist / ваш ip ваше имя

Вносим изменения в файл sysctl.conf
nano /etc/sysctl.conf

Добавим в конец файла:
kernel.hostname = techlist

Перезапустим network для принятия изменений:
systemctl restart network

Проверяем изменения:
[root@test ~]# hostname
techlist

Добавление статических маршрутов

Добавлять статические маршруты нужно также в уже знакомом файле “/etc/netplan/02-network.yaml“:

$ sudo nano /etc/netplan/02-network.yaml
network:
  ethernets:
    ens18:
      dhcp4: no
      addresses: [ 172.28.90.75/20 ]
      routes:
       - to: default
         via: 172.28.80.10
       - to: 192.168.5.0/24
         via: 172.28.80.5
         on-link: true
      nameservers:
        addresses: [ 77.88.8.8, 77.88.8.1 ]
    ens19:
      dhcp4: no
      addresses: [ 192.168.0.10/24 ]
  version: 2

При добавлении маршрута нужно указать:

  • - to: 192.168.5.0/24 – префикс (сеть назначения);
  • via: 172.28.80.5 – через какой шлюз нужно добираться до сети назначения;
  • on-link: true – активировать маршрут при поднятии интерфейса.

Применим настройки и проверим маршрут с помощью команды ip:

$ sudo netplan apply

$ ip route show
default via 172.28.80.10 dev ens18 proto static
172.28.80.0/20 dev ens18 proto kernel scope link src 172.28.90.75
192.168.0.0/24 dev ens19 proto kernel scope link src 192.168.0.10
192.168.5.0/24 via 172.28.80.5 dev ens18 proto static onlink

В примере выше – 192.168.5.0/24 via 172.28.80.5 dev ens18 proto static onlink – и есть наш дополнительный статический маршрут.

Сеть NAT + Виртуальный адаптер хоста в Ubuntu & Debian

Окно выбора сетевого интерфейса для первоначальной настройки.

virtualbox настройкиВыбираем enp0s3 или eth0, при попытке автоматической настройки интерфейса система выдаст предупреждение.

virtualbox настройкиСистеме не удалось получить настройки от DHCP сервера. Нажмите <Продолжить> и выберите ручную настройку сети.

virtualbox настройкиАдреса DNS серверов тоже можно оставить по умолчанию.

virtualbox настройки

Редактируем конфигурационный файл интерфейсов.

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

Файл должен выглядеть так.

# 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

Оцените статью
Хостинги