请告诉我一下,它位于哪里?
它不再在/etc/udev/rules.d
下面
# find / -name "*persistent-net.rules"
什么也没找到...
答案1
Centos 7 和 Redhat 7 默认使用 biosdevname
rpm -qi biosdevname-0.5.0-10.el7.x86_64
Summary : Udev helper for naming devices per BIOS names
Description :
biosdevname in its simplest form takes a kernel device name as an
argument, and returns the BIOS-given name it "should" be. This is necessary
on systems where the BIOS name for a given device (e.g. the label on
the chassis is "Gb1") doesn't map directly and obviously to the kernel
name (e.g. eth0).
答案2
还有一种方法可以使用 systemd 控制 RHEL/CentOS 7 中的网络链接名称。
如果不存在则创建新的目录:
mkdir /etc/systemd/network
在其中创建新的规则文件。文件扩展名必须是。关联否则将被忽略
cat /etc/systemd/network/10-lan0.link
[Match]
MACAddress=00:50:56:b7:65:2b
[Link]
Name=lan0
为该接口创建配置文件:
cat /etc/sysconfig/network-scripts/ifcfg-lan0
IPADDR="192.168.6.8"
GATEWAY="192.168.6.254"
NETMASK="255.255.255.0"
BOOTPROTO="static"
DEVICE="lan0"
ONBOOT="yes"
IPV6INIT="no"
这里systemd.link(5)您可以阅读有关如何创建自定义规则的描述,其中有许多命名选项。此外还有一些示例。不幸的是,RHEL7 中没有这个手册页 systemd.link(5),但它可以工作。
这里您可以阅读有关网络接口的新通用命名策略。您可以为系统中的某些接口或所有接口更改此策略。
答案3
如果不存在,您可以直接创建它!
规则将适用。这是我的示例:
[root@WesternStar rules.d]# pwd
/etc/udev/rules.d
[root@WesternStar rules.d]# cat 70-persistent-net.rules |grep -v \#
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:4e:40:9a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
[root@WesternStar rules.d]#
答案4
尝试 /usr/lib/udev/rules.d/60-net.rules