Статический IP-адрес Raspberry Pi и DHCP-сервер Ubuntu 18.04

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

Я пытаюсь настроить свой Raspberry Pi 4B на базе Ubuntu 18.04 с статическим IP-адресом (чтобы затем настроить DHCP-сервер) и использовать WiFi для интернет-трафика (маршрутируя любых клиентов, подключающихся к DHCP, через WiFi-соединение), но я не могу определить статический IP-адрес для LAN, используя netplan, у меня есть конфигурация:
`network:
#Подключение LAN для ipv4 DHCP сервера
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
– 10.0.0.1/24
gateway4: 10.0.0.1
nameservers:
addresses: [8.8.8.8, 4.4.4.4.4]

    # Подключение LAN ipv6 - использование для DHCP сервера
    version: 2
    renderer: networkd
    ethernets:
            eth0:
    addresses:
            - 2001:1::1/64
    gateway6: 2001:1::2
    nameservers:
            addresses: [8.8.8.8, 4.4.4.4]

    # Подключение wifi
    wifis:
            wlan0:
    dhcp4: true
    dhcp6: true
    access-points:
            "SSID-name":
    password: "WiFi Password"

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

sudo netplan -debug generate
/etc/netplan/50-cloud-init.yaml:11:17: Ошибка в определении сети: ожидалось сопоставление (проверьте отступы)
                eth0
                ^

Это мой текущий рабочий файл netplan. Мне также удалось установить WiFi в качестве основного интернет-соединения, что я и хотел, чтобы использовать соединение eth0 для DHCP-сервера (как только он будет установлен).

    network:
    # Подключение wifi
    version: 2
    renderer: NetworkManager
    wifis:
            wlan0:
                    dhcp4: true
                    dhcp6: true
                    access-points:
                            "SSID-Name":
                                    password: "password"

    # Подключение LAN для ipv4 DHCP сервера
    version: 2
    renderer: NetworkManager
    ethernets:
            eth0:
                    dhcp4: no
                    addresses:
                            - 10.0.0.1/24
                    nameservers:
                            addresses: [8.8.8.8, 4.4.4.4]

    # Подключение LAN ipv6 - использование для DHCP сервера
    version: 2
    renderer: NetworkManager
    ethernets:
            eth0:
                    dhcp6: no
                    addresses:
                         - 2001:1::1/64
                    nameservers:
                            addresses: [8.8.8.8, 4.4.4.4]

Я также решил установить NetworkManager в качестве рендерера, потому что планирую использовать графический интерфейс на этом Pi, чтобы сразу видеть статус WiFi.

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

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

Ваша задача состоит в том, чтобы настроить Raspberry Pi 4B с Ubuntu 18.04 для использования статического IP-адреса на Ethernet-интерфейсе (eth0) и настройки DHCP-сервера, который будет обслуживать подключенные устройства, одновременно используя Wi-Fi (wlan0) для доступа в интернет. В данной статье мы обсудим, как правильно настроить сетевой интерфейс с помощью Netplan и решить возникшие проблемы с отступами в конфигурационном файле.

Понимание Netplan и конфигурационных файлов

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

Шаг 1: Правильная конфигурация файла Netplan

Ваш текущий YAML-файл имеет несколько проблем с синтаксисом и структурой. Вот исправленная версия вашего файла /etc/netplan/50-cloud-init.yaml:

network:
    version: 2
    renderer: networkd

    # Подключение Wi-Fi
    wifis:
        wlan0:
            dhcp4: true
            dhcp6: true
            access-points:
                "SSID-name":
                    password: "WiFi Password"

    # LAN соединение для DHCP-сервера IPv4
    ethernets:
        eth0:
            dhcp4: no
            addresses:
                - 10.0.0.1/24
            gateway4: 10.0.0.1
            nameservers:
                addresses: [8.8.8.8, 4.4.4.4]

    # LAN соединение для DHCP-сервера IPv6
    ethernets:
        eth0:
            dhcp6: no
            addresses:
                - 2001:1::1/64
            gateway6: 2001:1::2
            nameservers:
                addresses: [8.8.8.8, 4.4.4.4]

Объяснение конфигурации:

  1. Версия и рендерер: Укажите version: 2 и выберите renderer: networkd для управления настройками сети.

  2. Wi-Fi интерфейс: Для wlan0 настройте её как DHCP, укажите SSID и пароль для подключения к Wi-Fi сети.

  3. Ethernet интерфейс:

    • Для eth0 отключите DHCP (dhcp4: no).
    • Установите статический IP-адрес: 10.0.0.1/24 и укажите шлюз gateway4: 10.0.0.1.
    • Добавьте список DNS-серверов.
  4. IPv6 настройки: Похожим образом настройте eth0 для IPv6, отключив DHCP и указав статический адрес и шлюз.

Ошибки в файле

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

Шаг 2: Применение конфигурации

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

sudo netplan apply

Если вы хотите проверить конфигурацию перед её применением, используйте:

sudo netplan --debug generate

Это поможет выявить возможные ошибки в конфигурации до её применения.

Заключение

Теперь ваш Raspberry Pi должен быть настроен для использования статического IP-адреса для Ethernet и для работы с DHCP-сервером. Также он будет маршрутизировать трафик с подключенных клиентов через Wi-Fi. Убедитесь, что вы установили соответствующее программное обеспечение DHCP, чтобы завершить настройку.

Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь задать их. Надеюсь, эта информация будет полезной для вашей работы с Raspberry Pi и Ubuntu!

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

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