有没有办法以编程方式添加前缀到radvd而不写入radvd.conf并重新启动它?

我需要根据需要创buildprefix条目来configuration相当大的IPv6networking。 我现在正在做的是:

 stop radvd write to radvd.conf restarting radvd 

但是这很痛苦。

我不知道是否有像omshell/omapi这样的东西,但为radvddynamicconfiguration它。 我想要实现的是能够创buildsubnets并将其添加到radvd.conf文件。

我宁愿停止服务的原因是因为在正在执行写入到radvd.conf的实际写入时,重新加载的可能性很高。 所以我宁愿停止服务,执行写入,然后重新启动。

您可以发送一个HUP信号radvd并重新加载configuration。

 systemctl reload radvd.service 

要么

 service radvd reload 

要么

 killall -HUP radvd 

取决于您正在运行的系统的types(年龄)。

我会写一个configuration到临时文件,然后使用mv将其移动到位。 然后重新加载。 如果在同一个文件系统上,mv通常是一个primefaces操作。

另一种完全不同的替代方法

该quagga路由套件也包含一个路由播音员。

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

你可以通过telnet(显然来自localhost)或使用vtsh命令来驱动它。

命令会

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

这是一个基本的。 它不支持RDNSS(DNS服务器地址)。 但是给你一种以编程方式添加路由公告的方法。