はじめに
BeagleboneのDebian Busterでは、ネットワークインターフェイスの設定は、connManコネクションマネージャが使用されています。このため、/etc/network/interfacesファイルを編集しても、固定IPアドレスを設定することができません。
connManは、Linuxが稼働する組み込みデバイス向けのコネクションマネージャです。可能な限り少ないリソースで稼働するように設計され、プラグインモジュールを追加することにより機能拡張を行うことができます。また、Ethernet等の有線インターフェイスだけでなく、WiFi等の無線インターフェイスにも対応しています。
本文章では、connManの設定方法について記載します。
環境
- ボード
BeagleBone Green - OS
BeagleBoard.org Debian Buster IoT Image 2020-04-06
固定IPアドレスの設定方法
/etc/network/interfacesファイルを確認すると、connManコネクションマネージャーで、固定IPアドレスを設定する場合のコマンドが以下のように記載されています。
本説明に従い、固定IPアドレスの設定を行います。
debian@beaglebone:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#auto eth0
#iface eth0 inet dhcp
# Example to keep MAC address between reboots
#hwaddress ether DE:AD:BE:EF:CA:FE
##connman: ethX static config
#connmanctl services
#Using the appropriate ethernet service, tell connman to setup a static IP address for that service:
#sudo connmanctl config <service> --ipv4 manual <ip_addr> <netmask> <gateway> --nameservers <dns_server>
##connman: WiFi
#
#connmanctl
#connmanctl> tether wifi off
#connmanctl> enable wifi
#connmanctl> scan wifi
#connmanctl> services
#connmanctl> agent on
#connmanctl> connect wifi_*_managed_psk
#connmanctl> quit
debian@beaglebone:~$
サービス名の確認
はじめに、connmanctl servicesコマンドで指定するサービス名を確認します。
サービスが存在しない場合は、BeagleboneとHUBをLANケーブルで接続します。
接続されるとサービスが自動作成されます。
debian@beaglebone:~$ connmanctl services
*AO Wired ethernet_3403de6552ab_cable
debian@beaglebone:~$
「ethernet_3403de6552ab_cable」がサービス名です。「3403de6552ab」は、MACアドレスになっています。
固定IPアドレスの設定
connmanctl configコマンドを使用し、IPアドレスの設定を行います。
ここでは、以下の設定を行います。
- IPアドレス:192.168.0.10
- サブネットマスク:255.255.255.0
- ゲートウェイ:192.168.0.1
- DNSサーバ:192.168.0.1
debian@beaglebone:~$ sudo connmanctl config ethernet_3403de6552ab_cable --ipv4 manual 192.168.0.1 255.255.255.0 192.168.0.1 --nameservers 192.168.0.1
debian@beaglebone:~$
確認
設定が反映されていることを確認します。特に再起動等を行う必要はなく設定が反映されます。
debian@beaglebone:~$ ifconfig
eth0: flags=-28605<up,broadcast,running,multicast,dynamic> mtu 1500
inet 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 xxxx::xxxx:xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 37 bytes 4481 (4.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 140 bytes 13984 (13.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 55
lo: flags=73<up,loopback,running> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 324 bytes 29582 (28.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 324 bytes 29582 (28.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
~(中略)~
debian@beaglebone:~$
以上です。