如何在启用网络之前在启动时运行脚本?

如何在启用网络之前在启动时运行脚本?

我有一个系统,用于测试虚拟机中各种操作系统上执行非 IP 网络协议的一些程序。主机是Fedora Linux。由于网络是非 IP 的,因此虚拟机需要桥接到物理以太网接口。由于我不太明白的原因,这意味着桥必须是主机的主要网络接口。所以我发现我需要

  • 关闭主机的 eth0

  • 创建桥 br0

  • 将 eth0 添加到网桥

  • 在 br0 上执行 ipconfig

很长一段时间以来,我都可以使用 /etc/rc.local 中的命令来执行此操作,但最近(从 Fedora 20 开始?)不再有效。

1)有没有办法将其配置为VM子系统模块配置的一部分(可以在安装系统后完成)?这肯定是我的偏好

2) 在较新的 Fedora 系统中如何执行此操作?看起来 systemd 不再运行 /etc/rc.local (或 /etc/rc.d/rc.local)

答案1

我将使用标准network-scripts文件创建它:

https://docs.fedoraproject.org/en-US/Fedora/23/html/Networking_Guide/sec-Create_a_Network_Bridge.html

这将允许br0创建,然后ifcfg-eth0可以调整文件以使用它。

答案2

你可以使用lmgrd它是一个系统守护进程

只需创建一个以此结尾的文件/etc/systemd/system/.service在其中输入此内容即可

[Unit]
Description="whatever you have in mind for its description"
Before=network.target
Wants=something-else.service

[Service]
Type=simple
ExecStart="direct it to whatever you want to execute here"

[Install]
WantedBy=multi-user.target

然后你可以输入systemctl enable nameofyourservice以使其在启动时启动

或者只是systemctl start nameofyourservice开始它

如需更多指导,您可以阅读手册页

相关内容