Как автоматически добавить маршрут при подключении к беспроводной локальной сети?

Как автоматически добавить маршрут при подключении к беспроводной локальной сети?

У меня есть устройство Beaglebone Black, на котором установлен Debian 9.9 Linux (без пользовательского интерфейса, для этого я использую терминал). (последнее изображение для Beaglebone Blackhttps://beagleboard.org/latest-images)

Я включил и успешно подключился к Wi-Fi с помощью conmannctl. (https://fis.gatech.edu/how-to-configure-bbw-wifi/)

Когда я подключился к Wi-Fi, я не могу выполнить внешний пинг (8.8.8.8 или www.google.com).

Мне нужно вручную добавить маршрут через: добавить маршрут ip по умолчанию через 192.168.1.1 dev wlan0 и он сможет подключаться извне. Мой диапазон IP дома 192.168.1.x

Я хотел бы поэкспериментировать и использовать это в месте с другим диапазоном IP-адресов WLAN, например, 192.168.10.x, в этом случае мне нужно запустить добавить маршрут ip по умолчанию через 192.168.10.1 dev wlan0

Я ищу способ подключиться к другому месту с другим диапазоном IP-адресов WLAN без необходимости вводить и добавлять IP-маршрут.

Я изучал этот вопрос со вчерашнего дня, но, похоже, я не могу предоставить интерфейс только для команды ip route add, а IP-адрес должен быть указан всегда. (или, может быть, я не набираю правильные ключевые слова в Google.)

Есть ли способ автоматически настроить маршрут при каждом подключении к интерфейсу (беспроводная локальная сеть)? Я также пробовал подключать USB к локальной сети, и мне также нужно вручную вводить команду ip route, чтобы иметь возможность подключаться извне.

В настоящее время я думаю о создании скрипта Python для выполнения анализа регулярных выражений в выходных данных ifconfig и получения первых трех цифр IP-адреса на wlan0 (например, 192.168.10), а затем добавления .1, после чего я буду использовать это для выполнения команды ip route add внутри Python.

Хотя я думаю, что есть ли встроенный процесс Linux для этого, поскольку когда я подключаюсь к Wi-Fi на моем компьютере с Ubuntu (используя пользовательский интерфейс), я могу сразу же выходить в Интернет, как только подключается Wi-Fi.

решение1

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

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

Поскольку он работает на вашем компьютере с Ubuntu, вероятно, в сегменте WLAN работает DHCP-сервер (скорее всего, на точке доступа).

Поэтому попробуйте запустить DHCP-клиент на вашем Beaglebone (то, что используется в дистрибутиве Beaglebone, dhclientчасто используется в дистрибутивах) и посмотрите, получится ли что-нибудь.

Затем настройте Beaglebone так, чтобы он делал это автоматически при подключении (есть несколько способов сделать это в зависимости от того, что еще работает в вашем дистрибутиве Beaglebone).

Связанный контент