Как сделать настройку моста iproute2 постоянной?

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

Я настроил Arch Linux внутри Oracle Virtual Box. Чтобы иметь возможность получить доступ к виртуальной машине из локальной сети, я добавил мостовой адаптер и настроил гостевую систему в соответствии с инструкциями из Arch Linux Wiki: Сетевой мост | С iproute2.

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

ip link add name lan_bridge type bridge
ip link set lan_bridge up
ip link enp0s8 up
ip link set enp0s8 master lan_bridge
systemctl start dhcpcd@lan_bridge

После этих шагов я могу войти в гостевую систему через SSH. Однако попытка сделать изменения постоянными с помощью:

systemctl enable dhcpcd@lan_bridge

не срабатывает. Я хотел бы, чтобы systemd автоматически создавал такую же настройку при запуске. Конечно, я мог бы просто вставить эти команды в shell-скрипт и запустить его при старте, но я думаю, что должен быть более правильный способ сделать это. Буду признателен за помощь.

Самый простой способ – использовать netctl в Arch. Прежде всего, вам нужно:

cp /etc/netctl/examples/bridge /etc/netctl

Установите желаемые интерфейсы в строке, которая говорит:

BindsToInterfaces=(eth0 eth1 tap0)

Наконец, вы хотите включить [email protected] вот так:

systemctl enable [email protected]

Примечание: имя после @ должно совпадать с именем вашего файла в /etc/netctl

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

Чтобы сделать настройку моста с использованием iproute2 постоянной в Arch Linux, необходимо выполнить несколько шагов для обеспечения автоматической конфигурации во время загрузки системы. В отличие от написания скрипта на оболочке, более надёжным и профессиональным решением является использование netctl. Вот подробная инструкция по настройке мостовой сети в вашем окружении.

Шаг 1: Установка netctl

Если netctl еще не установлен, вы можете установить его с помощью команды:

sudo pacman -S netctl

Шаг 2: Копирование примера конфигурации моста

Сначала нужно скопировать пример конфигурации моста, предоставленный netctl, в директорию, где хранятся настройки:

sudo cp /etc/netctl/examples/bridge /etc/netctl/lan_bridge

Шаг 3: Настройка файла конфигурации

Теперь откройте только что созданный файл /etc/netctl/lan_bridge для редактирования:

sudo nano /etc/netctl/lan_bridge

В этом файле вам нужно указать интерфейсы, которые будут являться «рабочими» для моста. Найдите строку BindsToInterfaces=(eth0 eth1 tap0) и измените её, добавив имя вашего интерфейса, который станет слейвом моста (в вашем случае это, вероятно, enp0s8, а также, если вы хотите, enp0s3 для других интерфейсов):

BindsToInterfaces=(enp0s8)

Также необходимо убедиться, что все другие параметры, такие как Description, установлены в соответствии с вашими требованиями.

Шаг 4: Настройка DHCP

Если вы используете DHCP для моста, то необходимо указать DHCP в файле:

IP=dhcp

Шаг 5: Включение и запуск службы

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

sudo systemctl enable netctl@lan_bridge.service
sudo systemctl start netctl@lan_bridge.service

Важно помнить, что имя после @ должно совпадать с названием вашего файла в /etc/netctl.

Шаг 6: Перезагрузка и проверка

Для проверки, что всё работает корректно, перезагрузите систему:

sudo reboot

После перезагрузки выполните команду:

ip a

Убедитесь, что ваш мост lan_bridge создан и интерфейс правильно настроен.

Заключение

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

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

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