Ищу решение этой проблемы:
У меня есть этот небольшой промышленный компьютер под названием UP Board, на котором установлена версия Linux Debian / Ubuntu:
4.10.0-9-upboard # 11 ~ 16.04.1 SMP среда, 25 октября 17:10:46 IST 2017 x86_64 x86_64 x86_64 GNU / Linux (я считаю, что это Ubuntu 16.04)
С помощью этой маленькой машины я предлагаю некоторые услуги в клиентских сетях. А вот и вызов ...
Некоторые клиенты используют DHCP-сервер в своей сети, другие - нет. Поскольку я очень часто нахожусь в разных сетях и обычно не знаю заранее сетевых настроек, касающихся DHCP, у меня возникла такая идея: как насчет отправки запроса DHCP по сети и ожидания ответа. Когда теперь ответ от DHCP-сервера получен в течение определенного периода времени, настройте соответствующий сетевой интерфейс с фиксированным IP-адресом и сетевой маской. Тогда я смогу достать коробку со своего ноутбука и подключиться, чтобы установить правильный IP / NM сети. Поэтому просто выполните автоматическую настройку интерфейса, как это делает Microsoft в среде Windows, с этими непонятными адресами 169.254.x.y.
Поскольку на моем устройстве нет экрана, ручная настройка здесь невозможна.
Любые идеи по разработке такой функции автоматической настройки действительно приветствуются!
С уважением, Олаф
P.S .: Я искал в Google разные термины, но не получил никаких ценных результатов. Также приветствуются подсказки, что искать ...
IMHO вы можете легко создать мостовой интерфейс со статическим IP-адресом и настроить свой Ethernet с помощью DHCP.
sudo apt install bridge-utils
редактировать /etc/network/intefaces
:
auto enp0s3 <---- change this to whatever your interface name is
iface enp0s3 inet dhcp
auto br0
iface br0 inet static
address 10.10.10.10 <--- set this to whatever address you want
netmask 255.255.255.0
bridge_ports enp0s3
Таким образом, вы всегда можете подключиться к своему ящику через 10.10.10.10
а физический интерфейс получит динамический адрес, если присутствует DHCP-сервер
Во-первых, если ваши клиенты подключаются к вам через Интернет, вам следует подключиться к VPN для повышения безопасности, поэтому у вас не должно возникнуть проблем с маршрутизацией.
Если вы хотите только изменить сетевую конфигурацию между ручным или статическим режимом в случае сбоя подключения, вы можете ввести небольшой скрипт, выполнив следующие действия:
1) пинг до IP
2.1) если ping failed => измените свою конфигурацию
Пример: sudo ip addr add dev
sudo ip addr добавить 10.102.66.200/24 dev enp0s25
2.2) если пинг не завершился => ничего
В конце вам нужно создать новую строку cron https://en.wikipedia.org/wiki/Cron на вашем компьютере с Ubuntu, чтобы периодически выполнять этот сценарий.