我需要在 ESXi VM 中运行的 Solaris 10 中伪造 MAC 地址。我需要的 MAC 超出了 vSphere 允许的范围。
因此我在 /etc/hostname.e1000g0 中添加了一个“ether”条目,因此文件显示
abchost01
以太 1:2:3:4:5:6
然后重启。令我惊恐的是,网络掩码现在是 ff000000。之前是 fffffe00。所以我添加了
网络掩码 255.255.254.0
到 /etc/hostname.e1000g0
然后重启。 ifconfig -a 乍一看没什么问题,但无法 ping 通 IP。令我惊恐的是,广播地址现在是 10.255.255.255,而不是 10.182.217.255。
在 Solaris 10 中,我该如何用配置文件设置 MAC 地址?我尝试过使用 SMF 的 rc.local 方法来启动它。使用 SMF 实在是太痛苦了。我宁愿使用配置文件来做这件事。在 Windows 和 Linux 中,我可以在 10 秒内完成这件事 - 但 Solaris 让我吃尽了苦头。请帮忙。
答案1
我之前在虚拟机中查看过这个问题。我注意到当我
hostname
ether 10:20:30:40:50:60
在 /etc/hostname.e1000g0 中,系统启动时记录了一个错误
9 月 15 日 20:10:46 主机名 svc.startd[7]: [ID 748625 daemon.error] 网络/物理:默认配置错误:已转换为维护状态(请参阅“svcs -xv”了解详情)
查看 e1000g0 接口,我们看到
e1000g0: flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.1.68 netmask ffffff00 broadcast 192.168.1.255
ether 0:c:29:25:22:f8
正如你所说,这看起来很正常,但事实并非如此,UP
它不会响应 ping 等。这可以解释你的恐惧!
要更改 mac 地址,你必须将主机名和以太网地址放在同一行
hostname ether 10:20:30:40:50:60
然后重启后查看 e1000g0 我们看到
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.1.68 netmask ffffff00 broadcast 192.168.1.255
ether 10:20:30:40:50:60
这正是你想要的。