目的
Module-LLMのデバック基板のイーサネットアダプタは、MACアドレスが起動毎に変化するため、DHCPでIPアドレスを割り振っている場合に、再起動をかけるとIPアドレスが変化してしまいます。
これはSSHやSambaでアクセスするときに面倒なので、IPアドレスを固定する方法を調べました。
調査結果
@ciniml 氏が見つけた方法が一番良さそうだとなりました。
初回起動時のMACアドレスを/etc/network/interfacesに書き込んでおいたのでとりあえずMACアドレスは変わらなくなった。 #ModuleLLM これでDHCPでのIPも固定にできる。 pic.twitter.com/oDKhuqHguT
— Kenta IDA (@ciniml) November 13, 2024
MACアドレスを固定する
ifconfigでMACアドレスを調べます。Module-LLMのMACアドレスは、"aa:f6:f8:b8:45:b6"となっていました。
これが再起動するごとに変わってしまいます。
root@m5stack-LLM:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.20.6 netmask 255.255.255.0 broadcast 192.168.20.255
inet6 fe80::f8c2:69ff:fe35:455c prefixlen 64 scopeid 0x20<link>
ether aa:f6:f8:b8:45:b6 txqueuelen 1000 (Ethernet)
RX packets 760 bytes 73762 (73.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 753 bytes 68037 (68.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 27
/etc/network/interfacesで、Module-LLMのMACアドレスをhwaddressを設定します。
この時に、ネットワーク上に同じMACアドレスがいないことを確認してください。
hwaddressを設定すると、Ubuntuが起動したときに、そのネットワークインターフェースのMACアドレスが指定した値(この場合はaa:f6:f8:b8:45:b6
)に変更されます。
root@m5stack-LLM:~# vi /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source /etc/network/interfaces.d/*
allow-hotplug eth0
iface eth0 inet dhcp
hwaddress 42:11:ad:11:e7:44 #これを追加する
注意
この設定を行う際は、いくつかの重要な注意点があります。
-
同じネットワーク内で他の機器が同じMACアドレスを使用していないか確認することが重要です。さらに、ルーターでMACアドレスフィルタリングを使用している場合、通信がブロックされる可能性があります。
-
設定後はネットワークの再起動が必要です。
また、DHCPサーバーが新しいMACアドレスを認識するまでに時間がかかる場合もあります。
参考
I think the key reason is that, we have not bought the macaddress, so officialy we should not assign any MAC out, since they may not be unique. We should get some MAC in the future.
— HanxiaoMeow (@HanxiaoM) November 5, 2024