Настройка dhcp ipv6 ubuntu

Обновлено: 07.07.2024

В этой статье объясняется, как настроить статический IP-адрес в Ubuntu 20.04.

Обычно в большинстве сетевых конфигураций IP-адрес назначается динамически DHCP-сервером маршрутизатора. Установка статического IP-адреса может потребоваться в различных ситуациях, например, при настройке переадресации портов или при запуске медиа-сервера .

Настройка статического IP-адреса с помощью DHCP

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

Netplan

Ubuntu 17.10 и новее использует Netplan в качестве инструмента управления сетью по умолчанию. Предыдущие версии Ubuntu использовали ifconfig и его файл конфигурации /etc/network/interfaces для настройки сети.

Файлы конфигурации Netplan записываются в синтаксисе YAML с .yaml файла .yaml . Чтобы настроить сетевой интерфейс с помощью Netplan, вам необходимо создать описание YAML для интерфейса, и Netplan сгенерирует необходимые файлы конфигурации для выбранного инструмента рендеринга.

Netplan поддерживает два средства визуализации, NetworkManager и Systemd-networkd. NetworkManager в основном используется на настольных компьютерах, а Systemd-networkd используется на серверах без графического интерфейса.

Настройка статического IP-адреса на сервере Ubuntu

В Ubuntu 20.04 система идентифицирует сетевые интерфейсы, используя «предсказуемые имена сетевых интерфейсов».

Первым шагом к настройке статического IP-адреса является определение имени интерфейса Ethernet, который вы хотите настроить. Для этого используйте команду ip link , как показано ниже:

Команда печатает список всех доступных сетевых интерфейсов. В этом примере имя интерфейса ens3 :

Файлы конфигурации Netplan хранятся в каталоге /etc/netplan . Вероятно, вы найдете в этом каталоге один или несколько файлов YAML. Имя файла может отличаться от настройки к настройке. Обычно файл называется 01-netcfg.yaml , 50-cloud-init.yaml или NN_interfaceName.yaml , но в вашей системе он может быть другим.

Если ваш облачный экземпляр Ubuntu снабжен cloud-init, вам необходимо отключить его. Для этого создайте следующий файл:

Чтобы назначить статический IP-адрес в сетевом интерфейсе, откройте файл конфигурации YAML в текстовом редакторе :

Прежде чем изменять конфигурацию, давайте кратко объясним код.

В приведенной выше конфигурации также есть строка, показывающая тип средства renderer . networkd , если вы установили Ubuntu в серверном режиме, средство визуализации настроено на использование networkd в качестве серверной части.

Под типом устройства ( ethernets ) вы можете указать один или несколько сетевых интерфейсов. В этом примере у нас есть только один интерфейс ens3 который настроен для получения IP-адресации от DHCP-сервера dhcp4: yes .

Чтобы назначить статический IP-адрес интерфейсу ens3 , отредактируйте файл следующим образом:

  • Установите DHCP на dhcp4: no .
  • Укажите статический IP-адрес. В разделе addresses: вы можете добавить один или несколько IP-адресов IPv4 или IPv6, которые будут назначены сетевому интерфейсу.
  • Укажите шлюз.
  • В разделе nameservers установите IP-адреса серверов имен.

При редактировании файлов YAML убедитесь, что вы следуете стандартам отступа кода YAML. Если синтаксис неправильный, изменения не будут применены.

После этого сохраните файл и примените изменения, выполнив следующую команду:

Проверьте изменения, набрав:

Это оно! Вы назначили статический IP-адрес своему серверу Ubuntu.

Настройка статического IP-адреса на рабочем столе Ubuntu

Настройка статического IP-адреса на настольных компьютерах Ubuntu не требует технических знаний.

На экране «Действия» найдите «настройки» и щелкните значок. Откроется окно настроек GNOME. В зависимости от интерфейса, который вы хотите изменить, щелкните вкладку «Сеть» или «Wi-Fi». Чтобы открыть настройки интерфейса, щелкните значок шестеренки рядом с названием интерфейса.

На вкладке «Метод IPV4» выберите «Вручную» и введите свой статический IP-адрес, сетевую маску и шлюз. После этого нажмите кнопку «Применить».

Чтобы проверить изменения, откройте свой терминал либо с помощью Ctrl+Alt+T либо щелкнув значок терминала и запустите:

Настраивать будем Debian Squeeze. В Ubuntu в принципе то же самое.

Заходим на сайт Hurricane Electric, регистрируемся. Логинимся на сайте, и создаём туннель: вписываем свой IPv4 адрес и выбираем сервер поближе. Нам выделяют одну /64 подсеть, в которой будут находиться сервер и клиент как конечные точки туннеля.

В подсети /64 туннеля первый адрес — адрес сервера, второй — адрес клиента (то есть, наш).

Если у вас есть локальная сеть и вы хотите чтобы все машины в ней тоже получили IPv6 адреса, то запрашиваем ещё одну /64 подсеть («routed /64»). Если у вас 2 или более локальных сети за роутером, то запрашиваем /48 подсеть («routed /48»), которую будем нарезать на нужное количество /64. Все выделенные нам подсети будут маршрутизироваться через наш сервер.

Настраиваем туннель — интерфейс he-ipv6. Здесь используем подсеть /64 для туннеля. Вместо «переменных» вводим то, что получили на первом шаге.

Дописываем в конец /etc/network/interfaces

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address $CLIENT_IPv6
netmask 64
endpoint $SERVER_IPv4
local $CLIENT_IPv4
gateway $SERVER_IPv6
ttl 64

Таким образом, Google решил включать IPv6 в DNS в масштабе отдельных провайдеров. Hurricane Electric относится как раз к таким провайдерам. Они предоставляют DNS сервер 2001:470:20::2, через который все домены сервисов Google резолвятся в том числе и в IPv6 адреса.

Можно сразу вписать в /etc/resolv.conf этот сервер, а можно поднять локальный кеширующий bind и немного выиграть в скорости.

Есть два способа настройки: можно резолвить через этот сервер только адреса Google (но нужно знать их список), а можно резолвить вообще всё (и не использовать DNS серверы провайдера вообще). Предлагаю второй способ, он проще, и к тому же у меня нет списка всех адресов сервисов Google.

Правим файл /etc/bind/named.conf.options

acl mynetworks localhost;
192.168.0.0/16; // наша локальная сеть, если есть
2001:XXXX:XXXX:XXXX::/64; // наша IPv6 /64
2001:XXXX:XXXX::/48; // наша IPv6 /48, если есть
>;

options directory "/var/cache/bind";

Если всё хорошо, то можно использовать. Вписываем в /etc/resolv.conf

Если нет локальной сети — то всё готово :)

Для настройки машин в локальной сети предлагаю использовать stateless autoconfiguration. Это чем-то напоминает DHCP, но разница в том, что этот протокол staleless, то есть, сервер не хранит список выданных адресов. Принцип работы следующий: серверу выделяется одна /64, из которой он раздаёт адреса клиентам. Уникальность полученного IPv6-адреса обеспечивается тем, что в него включается MAC адрес клиента (немного преобразованный).

Пусть у нас на eth0 локальная сеть, а на eth1 — провайдер. Пока что IPv6 настроен только на интерфейсе he-ipv6. Поэтому eth0, смотрящий в локальную сеть должен получить статический IPv6-адрес для установки соединений с клиентами. Но мы не может назначить eth0 адрес из нашей туннельной /64, так как тогда получится что два интерфейса смотрят в одну и ту же подсеть. Можно разбить нашу /64 на две, но тогда не будет работать stateless autoconfiguration. Поэтому мы взяли себе ещё одну /64, из которой будем раздавать адреса в локальную сеть (важно подчеркнуть: это настоящие внешние IPv6 адреса). Пусть нам выдали 2001:XXXX:YYYY:ZZZZ::/64.

Если у нас несколько сетей за маршрутизатором, то мы взяли себе ещё и /48, из которой будем использовать необходимое количество подсетей /64. Пусть нам выдали 2001:XXXX:YYYY::/48. Дописываем ещё номер сети — будет занимать целых 2 байта и получаем: 2001:XXXX:YYYY:1::/64. Таким образом, у нас могло бы быть аж 65536 разных сетей. Адресом сервера будет 2001:XXXX:YYYY:1::1. Дальше пример с несколькими сетями не развиваю, думаю что довольно просто обобщить конфигурационные файлы на случай нескольких сетей.

Итак, у нас одна сеть за маршрутизатором, 2001:XXXX:YYYY:ZZZZ::/64. Дописываем в конец /etc/network/interfaces

iface eth0 inet6 static
address 2001:XXXX:YYYY:ZZZZ::1
netmask 64

interface eth0
AdvSendAdvert on;
MaxRtrAdvInterval 30;

prefix 2001:XXXX:YYYY:ZZZZ::1/64
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr off;
AdvValidLifetime 300;
AdvPreferredLifetime 120;
>;
>;

Включаем форвардинг:
/etc/sysctl.conf

Теперь все компьютеры из локальной сети должны автоматически получить IPv6 адреса и адрес шлюз. За процессом можно следить на сервере при помощи команды radvdump, а на клиентах проверять наличие адреса при помощи ip -6 a.

DNS-сервер придётся прописать клиентам вручную, stateless autoconfiguration этого не умеет.

Так как адреса клиентов основываются на MAC адресах, то в результате получаются адреса вида: 2001:528d:d4b6:1:215:f2ff:fe55:2d85. Работать с этим довольно тяжело, запомнить — невозможно. На помощь приходит multicast dns и его реализация в виде Avahi.

Проверяем наличие в /etc/avahi/avahi-daemon.conf строк:

Теперь все компьютеры в локальной сети получат имена вида hostname.local. Эти имена будут резолвиться по умолчанию в IPv4 адреса. Чтобы они резолвились по умолчанию в IPv6, правим строчку в /etc/nsswitch.conf.

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Теперь можно использовать имена hostname.local и по умолчанию будут устанавливаться IPv6 соединения.

Держите кеширующий прокси в локальной сети? Небольшая проблема: Squid получил полноценную поддержку IPv6 только в версии 3.1.0.x, которая сейчас находится в репозитории experimental. На самом деле ничего особо экспериментального, у меня нормально работает уже 4 месяца.

Устанавливаем squid3, в разрешающий ACL вписываем наши сети /64 и /48.

UPD. На linuxforum заметили, что Hurricane Electric выдаёт две /64, поэтому запрашивать /48 с одной локальной сетью не нужно. Обновил топик.

UPD2. В связи с появившимися копипастами напомнимаю, что перепечатка разрешена только с моего разрешения.

DHCP ( D ynamic H ost C ontrol P rotocol), как вы все знаете, это сетевой протокол, который автоматически назначает IP-адреса клиентским компьютерам в сети. Это устраняет утомительную работу по ручному назначению IP-адреса для каждой машины в большой сети. Кроме того, он устраняет конфликт, возникающий из-за ошибочного назначения одного и того же IP-адреса нескольким машинам. Мы можем определить диапазоны IP-адресов в конфигурации DHCP-сервера. Наряду с IP-адресом мы также можем определить другую информацию, такую ​​как маска подсети, шлюз по умолчанию, информация о DNS-сервере и т. Д., И затем эта информация будет распространяться на клиентские машины по сети.

В этой статье мы увидим, как установить DHCP-сервер в Ubuntu и настроить одного клиента для автоматического получения IP-адреса с этого DHCP-сервера. Мы будем использовать Ubuntu 18.04 LTS, описывающую процедуру, упомянутую в этой статье. Вы можете выполнить ту же процедуру в предыдущих выпусках Ubuntu.

Установка DHCP-сервера

Прежде чем приступить к установке DHCP-сервера, сначала обновите пакеты, выполнив в терминале следующую команду:

Затем введите в терминале следующую команду для установки сервера DCHP:


Подождите некоторое время, пока установка не будет завершена.

Настройка DHCP-сервера

После установки DHCP-сервер завершен, мы перейдем к его настройке. IP-адрес нашего DHCP-сервера - 192.168.110.1. Чтобы узнать IP-адрес вашего DHCP-сервера, введите в Терминале следующую команду:


Файл конфигурации DHCP находится по адресу / etc / dhcp / dhcpd.conf. Мы можем откройте этот файл, выполнив следующую команду в терминале

Определение подсети

Добавьте следующие строки в файл конфигурации, чтобы определить подсеть, диапазон IP-адресов, серверы доменов и доменных имен, как показано ниже:

Чтобы определить подсеть, добавьте следующие строки:

При определении информации о подсети (диапазон, шлюз по умолчанию, сервер доменных имен) обязательно заканчивайте строки точкой с запятой (; ) и заключите их в фигурные скобки <> .

Чтобы указать диапазон выделенных адресов, добавьте следующую строку. range определяет набор пулов IP-адресов, из которых IP-адреса выделяются клиентам DHCP.

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

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

Внесите изменения в соответствии со значениями вашей сети.


Глобальная конфигурация DHCP

Вот основные шаги, которые нам нужны в Чтобы настроить глобальные параметры для настройки DHCP-сервера.

1. Чтобы указать максимальное и максимальное время аренды, найдите в файле конфигурации параметры default-lease-time и max-lease-time и измените их значения.

2. Если у вас несколько интерфейсов, вам необходимо определить, какой интерфейс должен использовать сервер DHCP для обслуживания запросов DHCP.В файле конфигурации найдите и измените значение INTERFACESv4 и измените его в соответствии с интерфейсом, который мы хотим обрабатывать.


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

Управление службами DHCP

После завершения настройки вы можете использовать следующие команды для управления сервером DHCP:

Чтобы проверить, служба работает нормально, проверьте состояние службы DHCP, выполнив в терминале следующую команду:

Ниже приведен снимок экрана, показывающий состояние сервера DHCP. Вы можете видеть, что active (выполняется) выделен зеленым цветом, подтверждая, что DHCP-сервер работает нормально:


Есть еще несколько команд, которые мы можем использовать для запуска, остановки и перезапуска службы DHCP. .

Чтобы запустить службу DHCP, выполните следующую команду в Терминале:

Чтобы остановить службу DHCP, выполните следующую команду в Терминале:

Чтобы перезапустить службу DHCP, запустите следующая команда в терминале:

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

Нам потребуется настроить сетевые параметры на клиентском компьютере, чтобы получить IP-адрес от DHCP-сервера. Здесь мы будем использовать другую Ubuntu 18.04 LTS в качестве клиентского компьютера.

На клиентском компьютере откройте приложение Settings из меню Dash Ubuntu.


Затем выберите Network вкладка на левой панели приложения Настройки. Затем откройте настройки адаптера, нажав на значок шестеренки перед ним. Убедитесь, что он включен.


Откроется окно настроек адаптера. Выберите вкладку IPv4 в верхнем меню. Затем выберите параметр Автоматически (DHCP) . Затем нажмите Apply , чтобы сохранить изменения.


Затем перезапустите сетевые службы, выполнив в терминале следующую команду:

Теперь запустите терминал и введите следующую команду, чтобы найдите IP-адрес системы.


Вы увидите IP-адрес, который будет из диапазона, который мы определили в конфигурации DHCP-сервера. Если клиент по-прежнему не получает IP-адрес от сервера DHCP, перезапустите систему.

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

Чтобы узнать, какие адреса были назначены клиентам сервером DHCP, откройте машину, которая у вас есть. настроенный как сервер DHCP, и введите следующую команду в Терминале:

Срок аренды - это период времени, в течение которого IP-адрес назначается компьютеру.


С этого момента список, вы можете проверить наш DHCP-клиент с MAC: 00: 0c: 29: d4: cf: 69 предоставил IP-адрес 192.168.110.5 с DHCP-сервера.

Теперь настройка завершена, и у нас есть DHCP сервер запущен и работает. Теперь мы можем использовать этот DHCP-сервер для назначения IP-адресов.

Зачастую в больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов — DHCP. Это значительно упрощает настройку оборудования и экономит огромное количество времени. Используя DHCP нам не нужно производить настройку сети на каждом отдельном устройстве, нужно лишь подключить устройство к сети и DHCP сервер сделает все настройки автоматически. Каждый домашний WiFi роутер имеет в себе встроенный DHCP сервер, поэтому вам не нужно каждый раз при подключении к разным роутерам прописывать все настройки вручную, роутер делает это за вас.

  • Адрес ip;
  • Маску подсети;
  • IP адрес шлюза;
  • IP адрес DNS сервера;
  • Имя хоста;
  • Имя домена;
  • Адрес серверов времени(NTP);

Установка и настройка DHCP сервера

В Ubuntu установка и настройка DHCP сервера выполняется всего в несколько шагов, быстро и продуктивно. Для того, чтобы начать использовать сервер нужно установить программное обеспечение на компьютер, делается это при помощи команды:

Минимальная настройка DHCP сервера включает в себя редактирование только 2х файлов.

Первый файл который мы с вами отредактируем, это nano /etc/default/isc-dhcp-server и добавляем/редактируем всего одну строку: где «eth3» интерфейс к которому подключаются клиенты с внутренней сети и который будет слушать DHCP;

Теперь собственно и сама настройка DHCP сервера. Открываем файл nano /etc/dhcp/dhcpd.conf и удаляем все содержимое.
Сейчас мы с вами настроим сервер только для раздачи адресов всем устройствам, которые будут запрашивать у сервера адрес. Добавляем в файл строки:

  • default-lease-time — время аренды(в секундах) адреса у сервера, если клиент не запросил другое;
  • max-lease-time — максимальное время аренды адреса;
  • subnet — описывает сеть ip и её маску;
  • range — диапазон адресов с которых по запросу клиента будут предоставляться адреса;
  • optionrouters — адрес роутера. Это должен быть адрес интерфейса через который пользователи попадают в интернет.
  • optiondomain-name-servers — адрес DNS сервера. Указывает на то, что сервер расположен на этом же компьютере и слушает интерфейс с адресом 192.168.0.1
  • /etc/ init . d / isc - dhcp - server start — запуск сервера;
  • /etc/ init . d / isc - dhcp - server stop — остановка сервера;
  • /etc/ init . d / isc - dhcp - server restart — перезапуск сервера;

Если у вас возникнут вопросы по настройке или установке оставляйте ваши комментарии.

Как настроить статический IP-адрес в Ubuntu 18.04

Обычно IP-адреса назначаются динамически DHCP-сервером маршрутизатора. Установка статического IP-адреса на вашем компьютере с Ubuntu может потребоваться в различных ситуациях, например при настройке переадресации портов или запуске медиа-сервера в вашей сети.

Настройка статического IP-адреса с помощью DHCP

Самый простой и рекомендуемый способ назначить статический IP-адрес устройству в вашей локальной сети - это настроить статический DHCP на вашем маршрутизаторе. Статическое резервирование DHCP или DHCP - это функция, присутствующая на большинстве маршрутизаторов, которая заставляет DHCP-сервер автоматически назначать один и тот же IP-адрес определенному сетевому устройству каждый раз, когда устройство запрашивает адрес у DHCP-сервера. Это работает путем назначения статического IP-адреса уникальному MAC-адресу устройства. Шаги по настройке резервирования DHCP различаются от маршрутизатора к маршрутизатору, поэтому рекомендуется обращаться к документации поставщика.

Netplan

Начиная с выпуска 17.10, Netplan является инструментом управления сетью по умолчанию в Ubuntu, заменяя файл конфигурации /etc/network/interfaces , который ранее использовался для настройки сети в Ubuntu.

Netplan использует файлы конфигурации в синтаксисе YAML. Чтобы настроить сетевой интерфейс с помощью Netplan, вам необходимо создать описание YAML для этого интерфейса, и Netplan сгенерирует необходимые файлы конфигурации для выбранного вами инструмента визуализации.

Netplan в настоящее время поддерживает два средства визуализации NetworkManager и Systemd-networkd. NetworkManager в основном используется на настольных компьютерах, а Systemd-networkd используется на серверах без графического интерфейса.

Настройка статического IP-адреса на сервере Ubuntu

В более новых версиях Ubuntu используются «предсказуемые имена сетевых интерфейсов», которые по умолчанию начинаются с en[letter][number] .

Первый шаг - определить имя интерфейса Ethernet, который вы хотите настроить. Для этого используйте ip link команду, как показано ниже:


Команда распечатает список всех доступных сетевых интерфейсов. В этом случае имя интерфейса ens3 :

Файлы конфигурации Netplan хранятся в /etc/netplan каталоге и имеют расширение .yaml . Вероятно, вы найдете в этом каталоге один или два файла YAML. Файл может отличаться от настройки к настройке. Обычно файл называется либо 01-netcfg.yaml , 50-cloud-init.yaml либо NN_interfaceName.yaml , но в вашей системе он может быть другим.

Откройте файл конфигурации YAML в текстовом редакторе :

Прежде чем изменять конфигурацию, давайте вкратце объясним код.

Каждый файл Netplan Yaml начинается с network ключа, который содержит как минимум два обязательных элемента. Первый обязательный элемент - это версия формата конфигурации сети, а второй - тип устройства. Тип устройства может быть ethernets , bonds , bridges или vlans .

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

Под типом устройства (в данном случае ethernets ) вы можете указать один или несколько сетевых интерфейсов. В этом примере у нас есть только один интерфейс ens3 , настроенный для получения IP-адресации от DHCP-сервера dhcp4: yes .

Чтобы присвоить ens3 интерфейсу статический IP-адрес , отредактируйте файл следующим образом:

  • Установите DHCP на dhcp4: no .
  • Укажите статический IP-адрес 192.168.121.199/24 . В разделе addresses: вы можете добавить один или несколько IP-адресов IPv4 или IPv6, которые будут назначены сетевому интерфейсу.
  • Укажите шлюз gateway4: 192.168.121.1
  • В разделе nameservers установите IP-адреса серверов имен. addresses: [8.8.8.8, 1.1.1.1]

При редактировании файлов YAML убедитесь, что вы следуете стандартам отступа кода YAML. Если в конфигурации есть синтаксические ошибки, изменения не будут применены.

После этого сохраните и закройте файл и примените изменения с помощью:


Проверьте изменения, набрав:

Вот и все! Вы назначили статический IP-адрес своему серверу Ubuntu.

Настройка статического IP-адреса на рабочем столе Ubuntu

Настройка статического IP-адреса на настольных компьютерах Ubuntu не требует технических знаний.

На экране «Действия» найдите «сеть» и щелкните значок «Сеть». Это откроет настройки конфигурации сети GNOME. Щелкните значок шестеренки.



Откроется диалоговое окно настроек сетевого интерфейса:



В разделе «Метод IPV4» выберите «Вручную» и введите свой статический IP-адрес, сетевую маску и шлюз. После этого нажмите кнопку «Применить».



Теперь, когда вы настроили статический IP-адрес, откройте свой терминал либо с помощью Ctrl+Alt+T сочетания клавиш, либо щелкнув значок терминала и проверьте изменения, набрав:


На выходе будет показан IP-адрес интерфейса:

Вывод

Вы узнали, как назначить статический IP-адрес на вашем компьютере с Ubuntu 18.04

Читайте также: