如何为Quadlet管理的Podman Macvlan容器固定MAC地址?
如何在Podman Quadlet中固定Macvlan容器的MAC地址
问题描述
使用新版Quadlet自动启动Podman容器,通过DHCP服务器获取IP,当前配置如下:
adguard.container
[Unit] Description=Adguard Container [Container] Image=docker.io/adguard/adguardhome:latest AutoUpdate=registry ContainerName=AdguardHome HostName=adguard Volume=/opt/adguardhome/conf:/opt/adguardhome/conf Volume=/opt/adguardhome/work:/opt/adguardhome/work Network=adguard.network [Service] Restart=always [Install] WantedBy=default.target
adguard.network
[Unit] Description=Adguard network [Network] NetworkName=adguard-network Driver=macvlan Options=parent=enu1u1 Subnet=172.16.0.0/24 IPRange=172.16.0.1/25 Gateway=172.16.0.1
容器运行正常,但每次启动后MAC地址不固定,导致DHCP服务器无法分配固定IP。需要实现类似podman-compose/docker-compose中mac_address字段的功能。
解决方案
在Quadlet的.container配置文件的[Container]段中添加MacAddress选项,指定固定的MAC地址即可。
修改后的adguard.container配置如下:
[Unit] Description=Adguard Container [Container] Image=docker.io/adguard/adguardhome:latest AutoUpdate=registry ContainerName=AdguardHome HostName=adguard Volume=/opt/adguardhome/conf:/opt/adguardhome/conf Volume=/opt/adguardhome/work:/opt/adguardhome/work Network=adguard.network # 指定固定MAC地址 MacAddress=00:11:22:33:44:55 [Service] Restart=always [Install] WantedBy=default.target
注意:MAC地址需符合XX:XX:XX:XX:XX:XX的合法格式,且要避免与网络内其他设备的MAC地址冲突。
修改完成后,重新加载Quadlet配置并重启服务:
podman systemctl reload podman systemctl restart adguard.container
内容的提问来源于stack exchange,提问作者vivi
相关产品推荐
相关产品推荐

