我有一台 Ubuntu Linux 服务器机器。
它启动良好,网络配置正常,运行良好。
我想做的是以某种方式获取网络配置并保存它,然后以某种方式重新加载完全相同的网络配置。特别是 IP 地址和网络掩码、路由器/网关以及任何静态路由。
原因并不明确,而且可能不那么相关。
有没有办法做到这一点?要获取现有的网络配置并重新运行它?
更新评论回复:
好吧,解释一下为什么我有这么奇怪的要求:
我正在做的是从现有操作系统中执行一个新操作系统。新操作系统需要实现完全相同的网络设置 - 即路由器/网关和 IP 地址/网络掩码。网络信息无法通过 DHCP 或任何其他机制获得 - 它会在启动时注入到第一个操作系统中。这意味着我需要将网络信息从第一个操作系统传递到第二个操作系统,从那时起我需要指示第二个操作系统使用传入的网络信息配置自身。这就是上下文,尽管我怀疑解释它会使问题变得混乱。
答案1
答案取决于您是否使用 NetworkManager (NM)。如果您使用 NM(这是 Ubuntu 的默认设置),那么您可以在 下找到系统范围的设置/etc/NetworkManager/system-connections
。每个连接的详细信息都存储在单独的文件中。可以根据需要复制这些文件。
如果你不使用NM,或者你想配置一个没有NM的接口,那么看看/etc/network/interfaces
(参见它的手册页,即man interfaces
)。在此文件中,您可以定义每个接口的设置(默认情况下,仅lo
配置环回设备)。您可以复制整个文件;如果您只想要其中的特定部分,则需要一些文本处理功能。
注意:不同之处在于,使用 NM,您可以为每个界面定义多个设置,用户可以从中选择一个合适的设置。使用/etc/network/interfaces
允许您为每个界面仅定义一项设置;如果您需要这里的灵活性,您需要编写一个合适的脚本并将其存储在/etc/network/if-pre-up.d