Вопрос или проблема
Я пытаюсь установить статический IP на новой операционной системе Raspbian Lite.
Раньше я мог установить статический IP-адрес на старых системах Debian, изменяя файл /etc/network/interfaces
, но в этой ОС такого файла нет. Когда я добавляю файл со следующим содержимым:
auto eth0
iface eth0 static
address 192.168.1.15/24
gateway 192.168.1.1
интерфейс отключается. Он даже не принимает значение DHCP. Что я упускаю / делаю не так?
С https://www.raspberrypi.com/documentation/computers/configuration.html#networking :
Примечание: Начиная с Raspberry Pi OS Bookworm, Network Manager является инструментом конфигурации сети по умолчанию. Более ранние версии Raspberry Pi OS использовали dhcpd и другие инструменты для конфигурации сети.
С NetworkManager есть имя соединения, которое отделено от имени сетевого устройства и предназначено только для восприятия человеком; имя по умолчанию зависит от того, какой интерфейс NetworkManager создал соединение по умолчанию, но может быть, например, Проводное соединение 1
. Оно может даже совпадать с именем сетевого устройства, к которому это соединение предназначено, например, eth0
.
Имея определение соединения, отделенное от имен сетевых устройств, можно определять параметры соединения для конкретной WiFi-сети всего один раз, а затем использовать это определение с любым WiFi-адаптером, который подключен к системе, или будет подключен в будущем. Но для простых проводных сетевых конфигураций это является еще одним шагом.
Когда у вас есть более одного активного сетевого устройства, я предпочитаю использовать имя соединения в качестве краткого читаемого описания цели соединения, например Производство
или Резервное копирование
. Но когда в системе всего одно проводное сетевое устройство и нет причин иметь несколько возможных конфигураций для него, я лично предпочитаю использовать имя сетевого устройства в качестве имени соединения.
Итак, сначала запустите nmcli connection show
, чтобы просмотреть текущие определения соединений и сетевые устройства, к которым они применяются. Чтобы просмотреть содержимое конкретного определения соединения, запустите, например, nmcli connection show "Проводное соединение 1"
.
Если уже существует определение соединения, вы можете использовать nmcli connection modify
, чтобы изменить его.
Все подкоманды nmcli
можно сократить до самой короткой неоднозначной формы, чтобы сэкономить время на набор: я склонен сокращать nmcli connection show
до nmcli c show
и nmcli connection modify
до nmcli c mod
и так далее.
Например, если существует предыдущее определение Проводное соединение 1
:
nmcli connection modify "Проводное соединение 1" connection.id eth0 #переименовать соединение в "eth0" для удобства набора
nmcli c mod eth0 connection.interface-name eth0 #убедиться, что соединение связано с конкретным интерфейсом
nmcli c mod eth0 ipv4.method manual
nmcli c mod eth0 ipv4.addresses 192.168.1.15/24
nmcli c mod eth0 ipv4.gateway 192.168.1.1
nmcli c mod eth0 connection.autoconnect yes #чтобы оно автоматически запускалось при загрузке
Затем, чтобы сразу активировать соединение с новыми настройками:
nmcli c up eth0
Для получения дополнительных сведений смотрите эту страницу для общих настроек соединения (connection.*
), эту страницу для настроек, специфичных для IPv4 (ipv4.*
), или эту страницу для всех категорий настроек NetworkManager.
Если нет существующего соединения, вам нужно будет создать его сначала:
nmcli c add \
connection.type ethernet \
connection.id Производство \
connection.interface-name eth0 \
ipv4.method manual \
ipv4.addresses 192.168.1.15/24 \
ipv4.gateway 192.168.1.1 \
connection.autoconnect yes
Затем активируйте его, как и раньше:
nmcli c up Производство
Кроме того, вы можете проверить, установлен ли nmtui
: это удобный основанный на меню интерфейс NetworkManager, который работает на текстовых дисплеях.
Ответ или решение
Для установки статического IP-адреса на более новых версиях операционной системы Raspbian (которая основана на Debian) необходимо использовать инструмент управления сетями, называемый Network Manager. В отличие от предыдущих версий, где вы могли редактировать файл /etc/network/interfaces
, начиная с Raspbian OS Bookworm, Network Manager стал стандартным инструментом для управления сетевыми соединениями.
1. Проверка существующих соединений
Сначала вам стоит проверить, какие соединения уже существуют на вашем устройстве. Для этого выполните следующую команду в терминале:
nmcli connection show
Это позволит вам увидеть список всех определений соединений и связанные с ними сетевые устройства.
2. Изменение существующего соединения
Если у вас уже есть активное соединение, например, "Wired connection 1", вы можете изменить его параметры для установки статического IP-адреса:
nmcli connection modify "Wired connection 1" connection.id eth0 # Переименовать соединение для удобства
nmcli connection modify eth0 connection.interface-name eth0 # Убедиться, что соединение связано с конкретным интерфейсом
nmcli connection modify eth0 ipv4.method manual # Установка метода IPv4 как статического
nmcli connection modify eth0 ipv4.addresses 192.168.1.15/24 # Задание статического IP
nmcli connection modify eth0 ipv4.gateway 192.168.1.1 # Задание шлюза по умолчанию
nmcli connection modify eth0 connection.autoconnect yes # Автоматическое подключение при загрузке
После изменения параметров активируйте соединение немедленно:
nmcli connection up eth0 # Активировать с новым конфигом
3. Создание нового соединения
Если соответствующего соединения не существует, вам нужно его создать:
nmcli connection add \
connection.type ethernet \ # Тип соединения: Ethernet
connection.id Production \ # Идентификатор соединения для удобства
connection.interface-name eth0 \ # Имя сетевого интерфейса
ipv4.method manual \ # Метод IPv4: статический
ipv4.addresses 192.168.1.15/24 \ # Статический IP-адрес
ipv4.gateway 192.168.1.1 \ # Шлюз
connection.autoconnect yes # Подключение при загрузке
Также как и в предыдущем случае, активируйте новое соединение:
nmcli connection up Production # Активировать новое соединение
4. Использование текстового интерфейса
Если вы предпочитаете более удобный интерфейс, убедитесь, что у вас установлен nmtui
— меню для управления соединениями на текстовых терминалах. Запустите его командой:
nmtui
Из графического интерфейса вы сможете легко настроить статический IP и другие параметры вашей сети.
Заключение
Настройка статического IP на Raspbian Lite OS с использованием Network Manager — это простой процесс, который можно выполнить как через командную строку, так и через текстовый интерфейс nmtui
. Метод, описанный выше, подходит для всех современных версий Raspbian и Debian, обеспечивая простой и эффективный способ управления сетевыми настройками.