吉野山上千本からの眺め


Date/Time: 2014:04:11 12:44:33
Camera: PENTAX
Model: PENTAX K-5 II s
Exporsure Time: 1/400
FNumber: 5.6
Aperture Value: 5.0
Focal Length: 21.0

Close

y2blog » Debian Jessie での固定IP設定方法

4

09

2017

Debian Jessie での固定IP設定方法

Debian Jessieで固定IPアドレスを設定する


久しぶりにBeagleBoneのLinuxを弄ってDebian のバージョンをこれまでのWheezy系列から最新のJessie系列に変更してみることにした.Debianは初期インストール状態ではIPアドレスはDHCPクライアントとして設定されており、DHCPサーバから指定された情報に基づいてTCP/IPネットワーク設定が行われる.


Linuxクライアントとして使う場合にはDHCPによる設定で特に問題となることはないと思うが、MPDなどを動かしてネットワークミュージックサーバとして使うのであれば、固定IP接続の方が都合が良い場合も有るので、Raspberry PiやBeagleBoneなどでDebianを動かす場合には固定IPの設定を行っている.


Debian Jessieでこれまでと同じように “/etc/network/interfaces” ファイルに固定IPアドレスの設定を記述しても、思ったように固定IPアドレスの設定ができないので、Debian JessieのIPアドレスの設定方法について探ってみた.


“/etc/network/interfaces” ファイルでは設定できない


“/etc/network/interfaces” ファイルに下記の様な記述を加えて固定IP化を謀ろうとしても、Jessie君は全く言うことを聞いてくれない.”/etc/network/interfaces” ファイルの中身を見るとコメント形式で次のような記述がある.




root@arm:/etc/network# cat 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  --ipv4 manual    --nameservers 

##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

# Ethernet/RNDIS gadget (g_ether)
# Used by: /opt/scripts/boot/autoconfigure_usb0.sh
iface usb0 inet static
    address 192.168.7.2
    netmask 255.255.255.252
    network 192.168.7.0
    gateway 192.168.7.1
root@arm:/etc/network# 



“Using the appropriate ethernet service, tell connman to setup a static IP address for that service:
#sudo connmanctl config … “



どうやら Jessieでは コネクションマネージャ “connman” という仕組みを使ってネットワーク関係の設定を行っているようなので、”connman”を使って固定IP化を行う必要があるようだ.


#sudo connmanctl  config  <service>  –ipv4 manual <ip_addr> <netmask> <gateway>  –nameservers <dns_server> 

“connmanctl” コマンドのパラメータのうち、 <service> が何の事なのか分かり難いが、前の行に、

#connmanctl  services 

とあるので、このコマンドを実行するとどうやら <service> の部分に記述するサービス名が判るのだろう.コネクションマネージャ “connman”関連のファイルを調べてみると、



root@arm:/etc/network# find  / -name "connman*" -print
/run/connman
/etc/apport/crashdb.conf.d/connman-crashdb.conf
/etc/dbus-1/system.d/connman.conf
/etc/systemd/system/multi-user.target.wants/connman.service
/etc/connman
/etc/init/connman.conf
/etc/init.d/connman
/lib/systemd/system/connman-wait-online.service
/lib/systemd/system/connman.service
/usr/sbin/connmanctl
/usr/sbin/connmand
/usr/sbin/connmand-wait-online
/usr/share/doc/connman
/usr/share/lintian/overrides/connman
/usr/share/man/man5/connman-vpn.conf.5.gz
/usr/share/man/man5/connman.conf.5.gz
/usr/share/man/man5/connman-vpn-provider.config.5.gz
/usr/share/man/man5/connman-service.config.5.gz
/usr/share/man/man8/connman-vpn.8.gz
/usr/share/man/man8/connman.8.gz
/usr/share/man/man1/connmanctl.1.gz
/usr/lib/tmpfiles.d/connman_resolvconf.conf
/sys/fs/cgroup/devices/system.slice/connman.service
/sys/fs/cgroup/systemd/system.slice/connman.service
/var/lib/systemd/deb-systemd-helper-enabled/connman-wait-online.service.dsh-also
/var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/connman.service
/var/lib/systemd/deb-systemd-helper-enabled/connman.service.dsh-also
/var/lib/systemd/deb-systemd-helper-enabled/network-online.target.wants/connman-wait-online.service
/var/lib/connman
/var/lib/dpkg/info/connman.postrm
/var/lib/dpkg/info/connman.conffiles
/var/lib/dpkg/info/connman.postinst
/var/lib/dpkg/info/connman.preinst
/var/lib/dpkg/info/connman.list
/var/lib/dpkg/info/connman.md5sums
/var/lib/dpkg/info/connman.prerm
root@arm:/etc/network# 

root@arm:/etc/network# ls -la /var/lib/connman
total 16
drwxr-xr-x  3 root root 4096 Apr  9 08:21 .
drwxr-xr-x 27 root root 4096 Apr  7 15:12 ..
drwx------  2 root root 4096 Apr  9 08:21 ethernet_84eb18e6c96f_cable
-rw-------  1 root root  216 Apr  9 08:21 settings
root@arm:/etc/network# cd ethernet_84eb18e6c96f_cable
-su: cd: ethernet_84eb18e6c96f_cable: No such file or directory
root@arm:/etc/network# cd /var/lib/connman/ethernet_84eb18e6c96f_cable
root@arm:/var/lib/connman/ethernet_84eb18e6c96f_cable# ls -la
total 16
drwx------ 2 root root 4096 Apr  9 08:21 .
drwxr-xr-x 3 root root 4096 Apr  9 08:21 ..
-rw------- 1 root root 4096 Apr  9 08:21 data
-rw------- 1 root root  189 Apr  9 08:21 settings
root@arm:/var/lib/connman/ethernet_84eb18e6c96f_cable# cat settings
[ethernet_84eb18e6c96f_cable]
Name=Wired
AutoConnect=true
Modified=2017-04-09T08:21:46.211009Z
IPv4.method=dhcp
IPv4.DHCP.LastAddress=192.168.101.161
IPv6.method=auto
IPv6.privacy=disabled
root@arm:/var/lib/connman/ethernet_84eb18e6c96f_cable# 


...という訳で、この”interfaces”ファイルのコメントに従って固定IPアドレス設定を行ってみた.



root@arm:~# connmanctl services
*AO Wired                ethernet_84eb18e6c96f_cable
root@arm:~# 


サービス名は “ethernet_84eb18e6c96f_cable” であるので、コマンドラインを次の様に設定して実行したところ、即座にIPアドレスが変更され次回以降OSを再起動しても設定した固定IPアドレスが設定されるようになった.



root@arm:~# connmanctl config ethernet_84eb18e6c96f_cable --ipv4 manual 192.168.101.32 255.255.255.0 192.168.101.254 nameservers 192.168.100.1 192.168.100.240


root@arm:~/botic# ifconfig
eth0      Link encap:Ethernet  HWaddr 84:eb:18:e6:c9:6f  
          inet addr:192.168.101.32  Bcast:192.168.101.255  Mask:255.255.255.0
          inet6 addr: fe80::86eb:18ff:fee6:c96f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST DYNAMIC  MTU:1500  Metric:1
          RX packets:8353 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4176 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11147121 (10.6 MiB)  TX bytes:344427 (336.3 KiB)
          Interrupt:173 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:12960 (12.6 KiB)  TX bytes:12960 (12.6 KiB)

usb0      Link encap:Ethernet  HWaddr 84:eb:18:e6:c9:71  
          inet addr:192.168.7.2  Bcast:192.168.7.3  Mask:255.255.255.252
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

usb1      Link encap:Ethernet  HWaddr 84:eb:18:e6:c9:74  
          inet addr:192.168.6.2  Bcast:192.168.6.3  Mask:255.255.255.252
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@arm:~/botic#