Почему в настройках connman ipv4 по умолчанию используется dhcp

Я использую yocto rocko для своей доски. Я устанавливал статический ip с помощью rc.local при запуске. Но через некоторое время ip меняется. Итак, я обнаружил, что следующий файл является виновником

/var/lib/connman/ethernet_*_cable/settings

В файле ниже строка вызывает проблемы:

IPV4.method = DHCP

Я изменил dhcp на ручной, и все работает нормально.

Как изменить сборку yocto или ядро ​​или файловую систему так, чтобы при загрузке новой карты ее значение по умолчанию было ручным

С уважением

1 ответ

Если вы хотите продолжать делать это вручную при запуске, вы можете использовать connmanctl. Я использую эти команды:

connmanctl config ethernet_*_cable --ipv4 dhcp
connmanctl config ethernet_*_cable --ipv4 manual <ipaddress> <netmask> <gateway>

Кабель * in ethernet_*_ - это MAC-адрес без:'s.

Я полагаю, вы могли бы установить для connman исправления, чтобы они использовали статические по умолчанию, но разве это не подняло бы все платы с одинаковым IP и не сработало бы, если адреса / маршрутизация в вашей сети не подходят для вашей статической настройки? ИМХО имеет смысл оставить его на DHCP, чтобы он мог работать везде, а затем перенастроить его в сценарии на основе выбранной вами логики.

Другие вопросы по тегам