16
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

簡単にRaspberry PiでSORACOM AirのPPP接続とLAN接続のデフォルトゲートウェイを切り替えPPP接続を優先させる。

Last updated at Posted at 2015-11-29

概要

Raspberry Piで富士ソフトのUSBモデム FS01BUなどを使いSORACOM Airの3G通信(PPP接続)ができます。その際、 Raspberry PiにLANケーブルまたはWi-fiドングルを接続して、LAN上のイーサーネット(有線)かWi-fi(無線)に接続しつつ作業している場合が多いのではないでしょうか (少なくともRaspbianインストール後の仕込みの時点ではPPPでサーバ接続+LANでラズパイにSSH接続というというシチュエーションがよくある)。
IMG_3603.jpg
デフォルトゲートウェイの設定によってはサーバやクラウドへの接続がLAN経由になって肝心のSORACOM AirによるPPP接続が使われていないことがあります。
この記事では、デフォルトゲートウェイを確認しデフォルトゲートウェイを切り替えPPP接続を優先させる手順を示します。

#手順 【前提・確認】
FS01BUなどをRaspberry Piに差します。Wi-fiドングルやイーサーネットケーブルが接続された状態でRaspberry Piを立ち上げてターミナルで操作を行います。ターミナルはRaspberry Pi直接でも、LAN接続されたPCのターミナル画面でも構いません。
ifconfigでネットワーク接続のデバイスを確認します。

$ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:XX:XX:XX  
          inet addr:192.168.1.96  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::ba27:ebff:fe1f:7d6c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9934 errors:0 dropped:0 overruns:0 frame:0
          TX packets:775 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:929803 (908.0 KiB)  TX bytes:72810 (71.1 KiB)

lo        …(中略)…

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.205.163.61  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:46 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:3172 (3.0 KiB)  TX bytes:3161 (3.0 KiB)

イーサーネット(有線)接続のインターフェース・デバイス名(以下「デバイス名」と呼びます)がeth0、SORACOM Airの3G通信(PPP接続)のデバイス名はppp0になっています。
Wi-fiドングルでWi-fi(無線)接続をしている場合、デバイス名はwlan0などになっているでしょう。

次に、netstat -rコマンドで現在のルーティングテーブルを確認します。

$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
10.64.64.64     *               255.255.255.255 UH        0 0          0 ppp0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0

Destination(受信先サイト)列がdefaultになっている行に着目します。

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

Iface(インタフェース)列がeth0になっており、インターネットにアクセスする場合eth0のゲートウェイ(=ルータのこと)経由で接続されます。これをPPP接続経由に変更したいと思います。

#手順 【デフォルトゲートウェイの切り替え】
route delコマンドでeth0デバイスのデフォルトゲートウェイの削除を行い、route addコマンドでppp0デバイスのデフォルトゲートウェイの追加を行います。

$ sudo route del default dev eth0
$ sudo route add default dev ppp0

route delコマンドで既存のデフォルトゲートウェイの削除を行った後、route addコマンドで新たなデフォルトゲートウェイの追加を行う手順を行う必要があります。
その後、netstat -rコマンドで変更後のルーティングテーブルを確認します。

$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         *               0.0.0.0         U         0 0          0 ppp0
10.64.64.64     *               255.255.255.255 UH        0 0          0 ppp0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0

またDestination(受信先サイト)列でdefaultになっている行に着目します。

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         *               0.0.0.0         U         0 0          0 ppp0

Iface(インタフェース)列がppp0になっていればデフォルトゲートウェイが変更され、PPP接続経由に変更されています。

#手順 【Wi-fi(無線)接続での切り替え】

Wi-fiドングルでWi-fi(無線)接続をしている場合、デバイス名はwlan0などになっているので、以下のコマンドを打つことになります。

$ sudo route del default dev wlan0
$ sudo route add default dev ppp0

#接続確認

デフォルトゲートウェイの表示で確認は取れていますが、実際に接続して確認を取ってみたいと思う方は、tracerouteコマンドで適当なサイトを指定してみればいいでしょう。

$ traceroute www.yahoo.co.jp
traceroute to www.yahoo.co.jp (xxx.xx.xx.xxx), 30 hops max, 60 byte packets
 1  ec2-yyy-yy-yyy-yyy.ap-northeast-1.compute.amazonaws.com (yyy.yy.yyy.yyy)  366.993 ms (以下略)

現時点(2015年11月時点)では最初のホップが、EC2の東京リージョンのIPアドレスになっていればOKです。インターネットへはSORACOM Airの3G通信(PPP接続)を経由して接続されています。

#参考サイトURL

  • Linuxルーティング追加
    Linuxでのルーティングテーブルの設定方法を様々なシチュエーションから取り上げられています。
  • SORACOM Airで色々と検証してみる。
    株式会社マイニングブラウニーの得上さんが、SORACOM AirのアクセスするIPアドレス周りをイロイロ調べられています。

では、SORACOM AirでIoTをお楽しみください:smile:

16
18
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?