ブログ

Armadillo-IoT G3/G3L: Network Managerを使用してメトリックを変更する方法

at_keitaro.takahashi
2019年1月8日 14時03分
※本記事は、Linux4.9環境(Debian Stretch)のユーザーを対象としています。Linux3.14環境(Debian Jessie)での動作は保証していないためご注意ください。

 Armadillo-IoT G3/G3L(以下Armadillo)で、NetworkManagerを使用し有線LAN・無線LAN・3G/LTEのコネクションを作成した際のメトリックは、デフォルトで有線LAN>無線LAN>3G/LTEという優先度になるように設定されます。

メトリックを確認する

 例として、ArmadilloでNetworkManagerを使用し有線LAN・無線LAN・3G/LTEのコネクションを作成した場合に、それぞれの接続のメトリックを確認してみます。
 routeコマンドを使用することで、接続のメトリックを確認することが可能です。

[armadillo /]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.16.0.1      0.0.0.0         UG    100    0        0 eth0
default         192.168.10.10   0.0.0.0         UG    600    0        0 wlan0
default         192.168.15.1    0.0.0.0         UG    700    0        0 usb1
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     100    0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     600    0        0 wlan0
192.168.15.0    0.0.0.0         255.255.255.0   U     700    0        0 usb1

 メトリック(5列目の「Metric」)が低いほど、接続が優先して使用されます。上記の例だと、eth0(有線LAN)が100、wlan0(無線LAN)が600、usb1(3G/LTE)の接続が700となっており、eth0が優先して使用されるようになっています。

[armadillo /]# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  sv-opti.local-network (172.16.0.1)  1.352 ms  1.209 ms  1.143 ms
 2  192.168.10.10 (192.168.10.10)  1.088 ms  1.028 ms  0.973 ms
 3  SODfx-09.nw.odn.ad.jp (1.5.255.26)  3.702 ms  3.689 ms  3.640 ms
 4  SAPrc-01Te-0-0-0-3-70.nw.odn.ad.jp (1.5.255.25)  4.729 ms  4.691 ms  4.638 ms
 5  TKErc-01Te0-4-0-1.nw.odn.ad.jp (143.90.44.66)  19.150 ms  19.122 ms  19.016 ms
 6  143.90.161.117 (143.90.161.117)  20.980 ms STOrc-01Te0-0-0-16.nw.odn.ad.jp (143.90.46.157)  19.576 ms 143.90.47.161 (143.90.47.161)  19.421 ms
 7  STOrs-01Te0-0-0-1.nw.odn.ad.jp (143.90.47.10)  21.574 ms  21.463 ms  19.279 ms
 8  242.143090232.odn.ne.jp (143.90.232.242)  19.185 ms  20.771 ms  20.686 ms
 9  * * *
10  209.85.149.253 (209.85.149.253)  20.322 ms  20.100 ms  20.053 ms
11  * * *
12  72.14.233.222 (72.14.233.222)  21.988 ms 72.14.233.220 (72.14.233.220)  20.403 ms 108.170.233.20 (108.170.233.20)  21.794 ms
13  209.85.247.161 (209.85.247.161)  20.607 ms 72.14.235.73 (72.14.235.73)  20.569 ms 108.170.238.217 (108.170.238.217)  20.513 ms
14  google-public-dns-a.google.com (8.8.8.8)  20.457 ms  20.430 ms  20.245 ms
-->

接続の優先度を変更する

 実際に、NetworkManagerを使用し、メトリックを変更した例を示します。
 まず、以下のコマンドを実行し、メトリックを変更したい対象のUUIDを確認してください。

[armadillo /]# nmcli connection

 確認したIDを指定し、ipv4.route-metricを変更することでメトリックを変更することができます。
 以下は、3G/LTEのメトリックを50に設定した例です。

[armadillo /]# nmcli connection modify [LTEのUUID] ipv4.route-metric 50
[armadillo /]# nmcli connection down [LTEのUUID]
[armadillo /]# nmcli connection up [LTEのUUID]

 実行すると、3G/LTEのメトリックが変更されていることを確認できます。

[armadillo /]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.15.1    0.0.0.0         UG    50     0        0 usb1
default         172.16.0.1      0.0.0.0         UG    100    0        0 eth0
default         192.168.10.10   0.0.0.0         UG    600    0        0 wlan0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eth0
172.16.0.0      0.0.0.0         255.255.0.0     U     100    0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     600    0        0 wlan0
192.168.15.0    0.0.0.0         255.255.255.0   U     50     0        0 usb1

 この状態でインターネット等に接続すると、最もメトリックの低いusb1(3G/LTE)が優先して使用されます。