方法一:使用 `systemd-networkd`(默认 Netplan 后端)
1. 确认网卡名称
ip link show
记录有线网卡名称(如 `enp0s3`)。
2. 创建自定义 .link 文件
sudo nano /etc/systemd/network/10-disable-random-mac.link
输入以下内容(替换 `enp0s3` 为你的网卡名称和原始 MAC 地址):
[Match]
Name=enp0s3
[Link]
MACAddressPolicy=none
MACAddress=原厂MAC地址 # 可选,如不指定则使用原厂地址
3. 应用配置并重启
sudo systemctl restart systemd-networkd
方法二:使用 `NetworkManager`
1. 修改 Netplan 配置
sudo nano /etc/netplan/*.yaml
在对应网卡配置下添加 `macaddress: 原厂MAC地址`(示例):
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: true
macaddress: 00:11:22:33:44:55
2. 直接配置 NetworkManager(备用)
nmcli connection modify "有线连接名" 802-3-ethernet.cloned-mac-address permanent
—
方法三:禁用 systemd 的随机化策略
1. 覆盖默认 .link 文件
sudo nano /etc/systemd/network/99-disable-random-mac.link
输入:
[Match]
OriginalName=*
[Link]
MACAddressPolicy=none
“`
2. 重启服务
sudo systemctl restart systemd-networkd
—
验证
重启后执行:
ip link show enp0s3
检查输出中的 `link/ether` 地址是否为固定值。
—
注意事项
- 原厂 MAC 地址:可在网卡贴纸、BIOS/UEFI 或通过 `ethtool -P enp0s3` 获取。
- 语法检查:修改 YAML 文件后,使用 `sudo netplan generate` 和 `sudo netplan apply` 确保无错误。
- 备份配置:操作前建议备份原文件(如 `sudo cp /etc/netplan/01-netcfg.yaml ~/`)。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容