Proxmox VE关于Alpine虚机、MAC地址还有Hostname的小坑

Proxmox VE简称PVE,有kvmlxc两种模式,说人话就是虚拟机和容器,比较轻量的应用我会优先使用lxc,磁盘和内存占用都非常低。

如果对glic没有强制要求的,我会优先使用 Alpine Linux 这个发行版,除开应用本身的资源,只有2m左右的系统文件,几乎没有内存和磁盘浪费。

我的PVE和虚机优先跑在SSD上,会比跑在HDD上有更好的io,所有SSD空间需要省着用。

问题1:Alpine DHCP可能不发送主机名

我在使用Alpine的时候发现部分机器启动后,DHCP不会发送Hostname,导致OpenWrt看到的主机名是问号?爬了一下Alpine的文档后找到,可在/etc/network/interfaces 增加hostname参数来自定义发送主机名,问题解决,验证方式是查找系统进程udhcpc 看运行参数是否有 hostname:xxx字样,例如:

> ps|grep dhcp
> /sbin/udhcpc -b -R -p /var/run/udhcpc.eth0.pid -i eth0 -x hostname:ptn

原因未知,使用的镜像都是一致的,部分容器开起来就是会出问题。。。可能隐藏的比较深。

问题2:PVE可以自定义虚机的MAC地址前缀

方法是在:Web控制面板-数据中心-选项-MAC地址前缀,完整MAC地址有6段,填前3段就可以了,可以网上随意找个工具生成。

MAC地址格式规范里面有G/L、I/G定义,部分路由器比如中兴可能会丢弃0x02的包,但是我这家用内网就无所谓了。

如果不指定前缀,生成的MAC地址非常随机,很难识别,如果再碰上问题1里的不发送Hostname的Bug,就很难找到机器的ip,lxc可以通过lxc-attach进入容器内部,kvm的就要麻烦点了。

我家网络设备比较多,担心又被WiFi万能钥匙破解的我,偶尔会留意主机列表,没有主机名的也会增加我的识别难度。

对于已有的虚机,可以在Web面板的设置里直接清空MAC,然后保存就会生成一个新的,如果路由器有绑定MAC记得同步修改。

参考

Udhcpc

标签: mac, alpine, pve

添加新评论