Proxmox VE关于Alpine虚机、MAC地址还有Hostname的小坑
Proxmox VE简称PVE,有kvm
和lxc
两种模式,说人话就是虚拟机和容器,比较轻量的应用我会优先使用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记得同步修改。