为什么我无法在 bashrc 中初始化虚拟接口?

为什么我无法在 bashrc 中初始化虚拟接口?

我确实尝试在 shell 中手动初始化虚拟接口,没有任何问题。为了在每次启动过程中调出此界面,然后我尝试将其添加到/etc/bashrc/etc/profile如下:

ip link set name eth0 dev dummy0
ip link set eth0 address d0:17:c2:a9:a5:5e
ifconfig eth0 hw ether d0:17:c2:a9:a5:5e

‌我还添加了以下配置,/etc/modules-load.d/dummy.conf但效果不佳。

/sbin/ip link set name eth0 dev dummy0

答案1

在大多数发行版中,在启动时执行命令的答案是 /etc/rc.local(今天这包括 redhat 和新版本的 debian,但您需要首先创建 rc.local 文件)。因此,创建一个脚本作为 /etc/rc.local (如果它不存在 - 如果它已经存在,只需包含 exit 0 之前的行)。

文件内容末尾必须有退出 0。

#!/bin/bash

ip link set name eth0 dev dummy0
ip link set eth0 address d0:17:c2:a9:a5:5e
ifconfig eth0 hw ether d0:17:c2:a9:a5:5e 

exit 0 

然后记得让它可执行:

chmod +x /etc/rc.local

如果这对您有用,请将其标记为正确答案。

在大多数情况下,您不想创建服务或使用其他可以改变引导系统和平的解决方案,因为 rc.local 是执行此类操作的“用户场所”。

祝你好运!

答案2

当然不是 /etc/bashrc 或 /etc/profile 这是用于 bash 会话或登录配置文件的。启动 bash 或登录时使用

取决于您的 Linux 发行版。但在红帽中,您将在 /etc/sysconfig/network-scripts 中创建文件 查看文档以了解详细信息

相关内容