dhcpcd.conf для статического и динамического IP-адреса

Вопрос или проблема

Короче говоря: мне нужно настроить два интерфейса для одного физического интерфейса, один с статическим и один с динамическим IP-адресом. Я знаю, как это сделать в /etc/network/interfaces, но мой устройство использует dhcpcd.conf.

Длинная история:

У меня есть два Raspberry Pi с Raspbian в доме моих родителей. Оба имеют статический IP-адрес, и один из них использует клиент OpenVPN, который позволяет мне получать доступ к этой сети, потому что весь сетевой IP-адрес скрыт за NAT провайдера.

Теперь мои родители получают обновление подключения с плохого шумного DSL на новую блестящую оптическую линию. Так что мне нужно подготовиться, потому что DSL-роутер будет заменен, и его конфигурация тоже будет изменена, в основном подсеть, вероятно, изменится, и статические адреса перестанут работать.

Я добавил второй интерфейс в /etc/network/interfaces одного из устройств, чтобы получить любой IP через DHCP:

auto eth0:1
iface eth0:1 inet dhcp

Как только он подключается, он связывается с моим сервером здесь через ssh, чтобы я мог к нему подключиться и обновить статическую конфигурацию.

На другом устройстве установлена более новая версия Raspbian, которая использует dhcpcd. Я хотел бы сделать то же самое (второй интерфейс, IP от DHCP), но не знаю, как.

Моя текущая конфигурация:

# Разрешите пользователям этой группы взаимодействовать с dhcpcd через управляющий сокет.
#controlgroup wheel

# Уведомите DHCP-сервер о нашем имени хоста для DDNS.
hostname

# Использовать аппаратный адрес интерфейса для идентификатора клиента.
clientid
# или
# Используйте тот же DUID + IAID, что установлен в DHCPv6 для DHCPv4 ClientID согласно RFC4361.
# Некоторые DHCP-серверы, не соответствующие RFC, не отвечают с установленными параметрами.
# В этом случае закомментируйте duid и активируйте clientid выше.
#duid

# Сохранять конфигурацию интерфейса, когда dhcpcd выходит.
persistent

# Поддержка быстрого коммита.
# Безопасно включить по умолчанию, потому что для фактической работы требуется эквивалентная опция, установленная на сервере.
option rapid_commit

# Список параметров для запроса у DHCP-сервера.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Большинство дистрибутивов поддерживают NTP.
option ntp_servers
# Соблюдать сетевой MTU. Это применяется к маршрутам DHCP.
option interface_mtu

# Идентификатор сервера необходим согласно RFC2131.
require dhcp_server_identifier

# Генерировать стабильные частные IPv6-адреса вместо аппаратных.
slaac private

# Пример статической конфигурации IP:
interface eth0
        static ip_address=192.168.1.3/24
        #static ip6_address=fd51:42f8:caae:d92e::ff/64
        static routers=192.168.1.1
        static domain_name_servers=192.168.1.1 8.8.8.8

interface eth0:1
        # не знаю, что здесь указать #

# Возможно вернуться к статическому IP, если DHCP не работает:
# определить статический профиль
#profile static_eth0
#static ip_address=192.168.1.23/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

# возврат к статическому профилю на eth0
#interface eth0
#fallback static_eth0

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

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

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

sudo systemctl disable --now dhcpcd

Я также думаю, что алиас интерфейса в /etc/network/interfaces должен быть статическим IP, потому что только оригинальный интерфейс может назначить шлюз, поэтому в случае неправильной статической конфигурации у вас не будет соединения. Больше информации в debianwiki.

Ответ или решение

Как настроить dhcpcd.conf для статического и динамического IP-адреса на Raspberry Pi

Для настройки двух интерфейсов на одном физическом интерфейсе Raspberry Pi, где один будет иметь статический IP-адрес, а другой динамический, необходимо правильно организовать файл конфигурации dhcpcd.conf. При этом важно учесть, что у вас нет физического доступа к устройству, поэтому изменения должны быть выполнены корректно.

Установка статического и динамического IP

1. Основные параметры конфигурации

Ваш текущий файл dhcpcd.conf должен содержать следующие ключевые элементы для настройки:

interface eth0
    static ip_address=192.168.1.3/24
    static routers=192.168.1.1
    static domain_name_servers=192.168.1.1 8.8.8.8

Здесь eth0 — это основной интерфейс, который будет иметь статический IP-адрес 192.168.1.3 с маршрутизатором 192.168.1.1.

2. Конфигурация для динамического IP

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

interface eth0:1
    alias eth0
    require dhcp

Алиас eth0:1 позволит второму виртуальному интерфейсу использовать DHCP для получения IP-адреса. Важно, чтобы основной интерфейс eth0 оставался основным для маршрутизации, поскольку он настроен на статический IP-адрес.

Полный пример конфигурации dhcpcd.conf

Ниже предоставлен полный пример файла dhcpcd.conf, с учетом ваших запросов:

# Позволить пользователям этой группы взаимодействовать с dhcpcd через управляющий сокет.
#controlgroup wheel

# Укажите имя хоста
hostname

# Используйте аппаратный адрес интерфейса для идентификатора клиента.
clientid

# Обеспечьте сохранение конфигурации интерфейса при выходе dhcpcd.
persistent

# Включите клиента DHCP с использованием динамического IP
interface eth0
    static ip_address=192.168.1.3/24
    static routers=192.168.1.1
    static domain_name_servers=192.168.1.1 8.8.8.8

interface eth0:1
    require dhcp

3. Постскриптум

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

sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.bak

Это позволит вам избежать потери доступа к устройству.

Следуя приведенным рекомендациям, вы сможете подготовить Raspberry Pi к новым условиям, получив как статический, так и динамический IP-адреса без потери связи с устройством. Если возникнут сложности, внимательно проверьте конфигурацию и убедитесь, что все параметры указаны верно, чтобы избежать проблем с подключением.

Оцените материал
Добавить комментарий

Капча загружается...