Есть ли способ программно добавить префиксы в radvd без записи в radvd.conf и его перезапуска?
Мне нужно создать prefix
записи по требованию для настройки довольно большой IPv6
сеть. Что я делаю сейчас:
stop radvd
write to radvd.conf
restarting radvd
Но это довольно больно.
Интересно, есть ли что-то вроде omshell/omapi
но для radvd
настроить его динамически. Чего я хочу достичь, так это уметь создавать subnets
и добавив их в radvd.conf
файл.
Причина, по которой я предпочитаю останавливать службу, заключается в том, что существует высокая вероятность перезагрузки при реальной записи в radvd.conf
выполняется Поэтому я предпочитаю остановить службу, выполнить запись и затем перезапустить.
2 ответа
Вы можете отправить Radvd сигнал HUP, и он перезагрузит конфигурацию.
systemctl reload radvd.service
или же
service radvd reload
или же
killall -HUP radvd
в зависимости от типа (возраста) системы, на которой вы работаете.
Я написал бы конфигурацию во временный файл, и затем использовал mv, чтобы переместить это в место. Затем сделайте перезагрузку. mv обычно является атомарной операцией, если находится в одной файловой системе.
Еще один совершенно другой альтернативный подход.
Комплект маршрутизации Quagga также содержит указатель маршрута.
http://www.nongnu.org/quagga/docs/docs-info.html
Вы можете управлять им через telnet (очевидно, с localhost) или с помощью команды vtsh.
Команды будут
configure term
interface eth0
ipv6 nd prefix 2001:db8:1111:2222::/64
no ipv6 nd suppress-ra
Это немного основной. Он не поддерживает RDNSS (адреса DNS-серверов). Но дает вам возможность программно добавить объявление маршрута.