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)が優先して使用されます。