Назад | Перейти на главную страницу

Есть ли способ программно добавить префиксы в radvd без записи в radvd.conf и его перезапуска?

Мне нужно создать prefix записи по запросу для настройки довольно большого IPv6 сеть. Что я сейчас делаю:

stop radvd
write to radvd.conf
restarting radvd

Но это довольно болезненно.

Интересно, есть ли что-то вроде omshell/omapi но для radvd для динамической настройки. Чего я хочу достичь, так это уметь создавать subnets и добавив их в radvd.conf файл.

Причина, по которой я предпочитаю останавливать службу, заключается в том, что существует высокая вероятность перезагрузки во время фактической записи в radvd.conf выполняется. Поэтому я лучше остановлю службу, выполню запись и перезапущу.

Вы можете отправить radvd сигнал HUP, и он перезагрузит конфигурацию.

systemctl reload radvd.service

или

service radvd reload

или

killall -HUP radvd

в зависимости от типа (возраста) системы, в которой вы работаете.

Я бы записал конфигурацию во временный файл, а затем использовал бы mv, чтобы переместить его на место. Затем сделайте перезагрузку. mv обычно является атомарной операцией в той же файловой системе.

Еще один совершенно другой альтернативный подход.

Пакет маршрутизации quagga также содержит анонсатор маршрута.

http://www.nongnu.org/quagga/docs/docs-info.html#Router-Advertise

Вы можете управлять им через telnet (очевидно, с localhost) или используя команду vtsh.

команды будут

configure term
interface eth0
ipv6 nd prefix 2001:db8:1111:2222::/64 
no ipv6 nd suppress-ra

Это немного просто. Он не поддерживает RDNSS (адреса DNS-серверов). Но дает вам возможность программно добавить объявление маршрута.