Вопрос или проблема
Я пытаюсь настроить свой 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]
Объяснение конфигурации:
-
Версия и рендерер: Укажите
version: 2
и выберитеrenderer: networkd
для управления настройками сети. -
Wi-Fi интерфейс: Для wlan0 настройте её как DHCP, укажите SSID и пароль для подключения к Wi-Fi сети.
-
Ethernet интерфейс:
- Для eth0 отключите DHCP (dhcp4: no).
- Установите статический IP-адрес:
10.0.0.1/24
и укажите шлюзgateway4: 10.0.0.1
. - Добавьте список DNS-серверов.
-
IPv6 настройки: Похожим образом настройте eth0 для IPv6, отключив DHCP и указав статический адрес и шлюз.
Ошибки в файле
Ошибка, с которой вы столкнулись, указывает на проблемы с отступами. В YAML-файлах отступы имеют значение. Убедитесь, что используется только пробел и не смешивайте их с табуляциями.
Шаг 2: Применение конфигурации
После редактирования файла сохраните изменения и примените новую настройку с помощью команды:
sudo netplan apply
Если вы хотите проверить конфигурацию перед её применением, используйте:
sudo netplan --debug generate
Это поможет выявить возможные ошибки в конфигурации до её применения.
Заключение
Теперь ваш Raspberry Pi должен быть настроен для использования статического IP-адреса для Ethernet и для работы с DHCP-сервером. Также он будет маршрутизировать трафик с подключенных клиентов через Wi-Fi. Убедитесь, что вы установили соответствующее программное обеспечение DHCP, чтобы завершить настройку.
Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь задать их. Надеюсь, эта информация будет полезной для вашей работы с Raspberry Pi и Ubuntu!