Ubuntu20.04 MACアドレスの偽装

自宅内で使っている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に付け替えてはいけない、というところだろう。

とはいえ、新たに問題が発生しない限り、これでいいやと思うのだった。

お気軽にどうぞ ~ 投稿に関するご意見・感想・他

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です