我正在尝试找出以最佳方式实时控制网络设置的最佳方法。
我目前的计划是这样的:
- 从 systemd开始
ip -s -d -o monitor
并将其输出写入使用生成的文件mkfifo
或编写输出到 tcp 套接字的小脚本127.0.0.1:<some port>
- 编写 shell 脚本来读取文件/套接字,并在发生更改时动态生成 systemd 网络配置文件,当然,根据更改使用其他命令来读取 systemd 配置的附加数据
这样,您可以使用ip <cmd>
命令实时更改网络设置,也可以手动编写 systemd 配置文件并重新启动networkd
,然后ip
和systemd
的网络设置在启动后保持同步。
那么问题来了:或者还有更好的方法吗?
例如是否有这样的命令:
systemd-networkd --add-vlan 123 --name lan
systemd-networkd --attach-vlan lan --device interface0
systemd-networkd --monitor --script /etc/network_changes_script.sh