- Отключение IPv6 протокола
- В CentOS
- В Debian & Ubuntu
- Сетевые настройки
- Интерфейсы Ethernet
- Определение Ethernet интерфейсов
- Логические имена интерфейсов Ethernet
- Настройки интерфейса Ethernet
- Адресация IP
- Временное назначение IP адреса
- Динамическое присвоение IP адреса (клиент DHCP)
- Статическое присвоение IP адреса
- Интерфейс Loopback (обратной петли)
- Разрешение имен
- Настройка клиента DNS
- Статические имена хостов
- Настройка переключения сервиса имен
- Строительство мостов 🙂
- Ссылки
- Команда ip
- Ещё статьи о Debian
- Настройка сети в Debian
- Управление пакетами с помощью aptitude в Debian…
- SSH Подключение с использованием открытого ключа…
- Насторйка OpenSSH
- Linux HTML-редакторы
- Как обновить Debian 6 Squeeze до Debian 7 Wheezy
- Настройка DNS в Debian
- Настройка IP адреса
- Настройка сетевых интерфейсов в CentOS
- Получение информации о сетевых интерфейсах
- NAT + Виртуальный адаптер хоста в CentOS
- NAT + Виртуальный адаптер хоста в Ubuntu & Debian
- 2 ответа
- Другие вопросы по тегам:
- Похожие вопросы:
- Настройка DNS в CentOS
- Как узнать свой ip-адрес
- Сетевой мост в CentOS
- Настройка сетевых интерфейсов в Debian & Ubuntu
- DHCP
- Сеть NAT + Виртуальный адаптер хоста в CentOS
- Сетевой мост в Ubuntu & Debian
- NAT/Сеть NAT + Проброс портов
- Изменение hostname в Debian
- Изменение hostname в CentOS
- Добавление статических маршрутов
- Сеть 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.
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
files сперва пытается разрешить статическое имя хоста в /etc/hosts.
mdns4_minimal пытается разрешить имя с использованием параллельного (multicast) DNS.
dns представляет собой наследуемый последовательный (legacy unicast) DNS запрос.
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
Вот и всё!
Меня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта 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
Если в выводе пусто, значит конфигурация верна.
Теперь можно применить настройки:
$ 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 + Виртуальный адаптер хоста во время установки, в разделе «СЕТЬ И ИМЯ УЗЛА» будут доступны два сетевых интерфейса.
Выбираем первый адаптер enp0s3 работающий в NAT режиме. Его достаточно просто включить и все настройки будут применены автоматически.
Включаем адаптер чтобы применить настройки.
После настройки активным будет первый интерфейс, второй будет отключен.
После установки редактируем файл интерфейса 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 в зависимости от системы, это будет первый сетевой адаптер работающий в 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 отключена, то соединение настраивается вручную.
Для автоматической настройки интерфейса его достаточно просто включить и настройки будут применены автоматически.
Включаем интерфейс чтобы применить настройки.
После установки проверим настройки интерфейса.
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 — старт при загрузке.
Строки начинающиеся со слов «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 сервер» и уберите галочку со значения «Включить сервер«.
При использовании NAT + Виртуальный адаптер хоста, больше ничего настраивать не нужно и можно переходить к установке системы.
В случае использования Сеть NAT + Виртуальный адаптер хоста, помимо отключения DHCP, необходимо добавить Сеть NAT и отключить DHCP и для нее.
Откройте настройки и перейдите в раздел «Сеть«. На вкладке «Сети NAT» добавьте сеть, кликнув по зеленой иконке с плюсиком, в открывшемся окне снимите галочку со значения «Поддержка DHCP«.
Сеть NAT + Виртуальный адаптер хоста в CentOS
При использовании Сеть NAT + Виртуальный адаптер хоста во время установки, в разделе «СЕТЬ И ИМЯ УЗЛА» будут доступны два сетевых интерфейса.
Включаем адаптер для применения настроек.
Включаем адаптер для применения настроек.
После настройки активным будет первый интерфейс, второй будет отключен.
Редактируем файл интерфейса 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 отключена, то соединение настраивается вручную.
<Продолжить> — Настроить сеть вручную.
Основываясь на значении 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
NAT/Сеть NAT + Проброс портов
С помощью проброса портов Virtualbox делает доступными службы к которым проброшен порт. Для приложений хост-системы все выглядит так, будто службы работают на той же машине что и они сами. Для каждой службы надо пробрасывать отдельный порт.
Рассмотрим проброс порта на примере SSH клиента PuTTY. В сетевых настройках виртуальной машины, на вкладке «Адаптер 1» нажимаем «Проброс портов«. В открывшемся окне добавляем правило, щелкнув по зеленой иконке с плюсиком.
Правила проброса портов пишутся следующим образом:
- Имя — может быть любым, чтобы не путаться я называю правило именем протокола или службы, работу которого оно обеспечивает.
- Протокол — указывается протокол который использует служба.
- Адрес хоста — под адресом хоста подразумевается адрес машины на который будут идти запросы на соединение. Обычно указывается localhost 127.0.0.1
- Порт хоста — порт хост-системы на который поступают запросы на соединение. От 50000 и выше идут свободные порты.
- Адрес гостя — адрес виртуальной машины в NAT сети — 10.0.2.15
- Порт гостя — порт виртуальной машины на котором работает нужная служба. Поскольку SSH работает на 22 порту, то указываем 22 порт.
Проверим порт и подключимся к виртуальной машине.
Проброс портов для Сеть NAT ничем не отличается от NAT, только производится в настройках самой сети.
Переходим в настройки программы, раздел «Сеть«, вкладка «Сети NAT«. Открываем настройки сети и нажимаем кнопку «Проброс портов«. Все остальное происходит точно также как при настройке для NAT режима.
Изменение 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
Окно выбора сетевого интерфейса для первоначальной настройки.
Выбираем enp0s3 или eth0, при попытке автоматической настройки интерфейса система выдаст предупреждение.
Системе не удалось получить настройки от DHCP сервера. Нажмите <Продолжить> и выберите ручную настройку сети.
Адреса 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
Файл должен выглядеть так.
# 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