自宅内で使っているPCなので普通なら偽装の必要はないが、普通の状態じゃなくなってしまった。
つい最近までAcerのPC(以降、A-PC)でESXiを動かしていたが、メインPCを作り直したので、それまでメインPCだったDellのPC(以降、D-PC)でESXiを動かすことにした。
このとき、A-PCにつけていたHDDを、そのままD-PCに付け替えて起動したらうまく動いたのでそのまま運用、A-PCを引退させた。
この度、ちょっとA-PCを使いたいと思ったので、Ubuntu20.04をインストールしたが、どうにもネットワークが安定しない。
発生していたこと
A-PCからESXiにアクセスできない、ESXiの中で立てているゲストPCにアクセスできない。
結果、ゲストPCで動作させているDHCPもDNSも参照できず、ウチの中でまともに動作しない。
また、新たに組み立てたメインPCからESXiにアクセスしていると、やたらと反応が遅い。
A-PCにUSBのLANアダプターを刺してネットワークを切り替えたところ、これらの問題が解決して快調に動作する。
ESXiはインストール時にMACアドレスをどこかに覚えていて、ネットワーク上にそのMACアドレスの通信があると混乱しているように思われた。
対策(MACアドレスの偽装)
試しにMACアドレスを偽装してみたところ、問題が解消した。
やり方はこちら。ArchLinuxのマニュアルは本当にありがたい。
ArchLinux / MACアドレス偽装
新しく以下のファイルを作成。
/etc/systemd/network/00-default.link
[Match] MACAddress=90:nn:nn:nn:nn:n9 ←本当のMACアドレス [Link] MACAddress=90:nn:nn:nn:nn:na ←偽装したMACアドレス NamePolicy=kernel database onboard slot path
※n は0〜Fまでの値。
再起動して確認。
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 90:nn:nn:nn:nn:na brd ff:ff:ff:ff:ff:ff
inet 172.16.nnn.nnn/16 brd 172.16.255.255 scope global dynamic noprefixroute enp1s0
valid_lft 84410sec preferred_lft 84410sec
…
ちゃんと動いて安定した。
さいごに
おそらく、HDDを他のPCに付け替えたら、やらなきゃならないことがあるんだと思う。
あるいは、HDDを保のPCに付け替えてはいけない、というところだろう。
とはいえ、新たに問題が発生しない限り、これでいいやと思うのだった。
コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他