【Raspberry Pi】「PIX-MT100」を使って「LTEルータ」として動作させてみた!

目次

事前準備

今回は、ラズパイに「Ubuntu Server」をインストールして「LTEルータ」を構築することにしました。

準備するもの

  • 「SIMカード」
  • LTEドングル「PIX-MT100」
  • 作業用に使用する「Windows PC」

SIMカード

今回は「インターリンクSIM」を契約しておきました。

「PIX-MT100」のセットアップ

Windowsの端末などを使って、セットアップを行います。
設定の際には、SIMカードと発行されているAPN情報などが必要になりますので、揃えておいてください。

管理画面にログイン

「PIX-MT100」をWindows PCに差し込み、ドライバが自動でインストールされるのを待ちます。
インストールが完了したら、ブラウザを立ち上げ、「192.168.0.1」と入力して「Enterキー」を押します。

「ユーザー名」と「パスワード」を入力して、管理画面にログインします。

デフォルトは「ユーザー名」と「パスワード」共に「admin」で設定されているので、まずは入力してみましょう。

http://www.pixela.co.jp/products/network/pix_mt100/support.html#manual

モデム設定(APN設定)

ログインで来たら、「設定」>「モデム設定」を開きます。
ここで、差し込んでいるSIMカードの「APN設定」を入力します。

【必要な情報】(全て、発行されたSIMと一緒に情報が届きます。)

  • 「APN」
  • 「認証タイプ」
  • 「ユーザー名」
  • 「パスワード」

入力が完了したら、「適用」をクリックして反映させます。

固定IPアドレスの割り当て

「PIX-MT100」のUSBを接続した時に、固定のIPアドレスが割り当てられるように設定をします。
「PIX-MT100」をWindows PCに差し込んでいる状態で、コマンドプロンプトを立ち上げ、「ipconfig /all」コマンドを実行します。

ipconfig /all

コマンドを実行すると、「イーサネット アダプター」の項目で、「Remote NDIS based Internet Sharing Device」が表示されると思います。この中の、「物理アドレス(MACアドレス)」の項目を控えておきます。

LTEドングルのUSBがNICとして動作するので、MACアドレスも持っています。
PCに刺した時も、ラズパイに刺した時も同じMACなので、このタイミングで控えています。

「PIX-MT100」の管理画面に戻り、「設定」>「DHCP設定」を開きます。
「固定 IP 設定」の項目を開くと、IPアドレスとMACアドレスを指定できるので、割り当てたいIPと先ほど控えた「物理アドレス(MACアドレス)」を入力の上、「有効」にチェックを入れて「適用」をクリックします。

「PIX-MT100」の再起動が行われるので、完了したら、再度「ipconfig /all」を打って、IPアドレスが変わったことを確認します。

ipconfig /all

ポートフォワーディング設定

続いて、ポートフォワーディングの設定を行います。

画像の通り、ソフトイーサで必要なポートとL2TP接続もできるように、UDPの「500」「4500」も開放しておきます。
「LAN IPアドレス」は先ほど割り当てたIPを入力します。全てに「有効」のチェックを入れて「適用」をクリックします。

設定が完了したら、「PIX-MT100」をPCから取り外してラズパイに差し込んでおきます。

「Raspberry Pi」の設定

次は、ラズパイの設定をかけていきます。
「ssh」などを使って、アクセスしてください。

「Raspberry Pi」インターフェースの「IPアドレス」を割り当てる

IPアドレスが固定になっていない場合は、運用面を考えて先に固定IPに変更しておきます。
「50-cloud-init.yaml」を複製して

sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/99-manual_config.yaml

「99-manual_config.yaml」を編集。

sudo nano /etc/netplan/99-manual_config.yaml

こんな感じで直して、任意のIPアドレスを割り当てます。

network:
    version: 2
    ethernets:
        eth0:
            dhcp4: false
            dhcp6: false
            addresses:
                - 192.168.0.254/24
            nameservers:
                addresses: [192.168.0.254, 8.8.8.8]
                search: []

通常は「routes」を使ってゲートウェイの設定もかけますが、
今回は、ラズパイ自体をルータとしては動作させない(LTEドングルがルータとして動作)ため、IPとDNSだけ設定しています。ゲートウェイを必要とする場合は以下の記載を追加してください。

            routes:
            - to: default
              via: 192.168.0.254
              metric: 100

割り当てが完了したら、以下のコマンドを実行して、IPアドレスの変更を反映させます。

sudo netplan apply

適用したら、「ip a」コマンドで変更されているかだけチェックをしておきます。

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:eb:4e:0e:8c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.254/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever

ちゃんと反映されていました。
指定したIPアドレスになっていればOKです。

「PIX-MT100」インターフェースの「IPアドレス」を割り当てる

次は、「PIX-MT100」側のインターフェースにIPアドレスを割り当てます。
「PIX-MT100」はルータ機能を持っているので、ラズパイの「netplan」の設定をDHCPにしておけば自動で割り当てられます。

まずは、「PIX-MT100」をラズパイ本体に差し込みます。

「lsusb」コマンドを実行して、「Gemtek WLTUBA-107 [Yota 4G LTE]」ドライバが認識されていることを確認。
(「PIX-MT100」のものではないですが、互換があるドライバらしくこれでOK。)

$ lsusb

Bus 001 Device 006: ID 15a9:002d Gemtek WLTUBA-107 [Yota 4G LTE]
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

次に「ip a」コマンドで、「インターフェース名」を確認します。

「lo」はラズパイ内蔵ののインターフェースのことで、「eth0」はイーサネットを指すそうです。
上記以外のインターフェースを探します。

$ ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:eb:4e:0e:8c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.254/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 192.168.0.106/24 metric 100 brd 192.168.0.255 scope global secondary dynamic eth0
       valid_lft 85342sec preferred_lft 85342sec

       valid_lft forever preferred_lft forever
3: enx1e497b83ce50: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 1e:49:7b:83:ce:50 brd ff:ff:ff:ff:ff:ff

筆者の環境では、3番目の「enx1e497b83ce50」が「PIX-MT100」のインターフェース名でした。
こちらをコピーしておきます。

再度、「99-manual_config.yaml」を編集します。

sudo nano /etc/netplan/99-manual_config.yaml

先ほどかけた設定に加えて、控えておいたLTEドングルのインターフェース名を追加し、DHCP取得にしておきます。
ゲートウェイは自分自身を指定します。

network:
    version: 2
    ethernets:
        eth0:
            dhcp4: false
            dhcp6: false
            addresses:
                - 192.168.0.254/24
            nameservers:
                addresses: [192.168.0.254, 8.8.8.8]
                search: []

        enx1e497b83ce50:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 0
            optional: true

「dhcp4」を「true」にしておくことで、「PIX-MT100」本体のDHCPサーバから自動でIPが割り当てられます。実際には、「PIX-MT100」側で指定した固定IPが割り当てられるようになります。

完了したら、以下のコマンドを実行して、再度IPアドレスの変更を反映させます。

sudo netplan apply

IPアドレスが割り当てられているか、「ip a」コマンドで再度チェックしてみます。

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b8:27:eb:4e:0e:8c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.254/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
3: enx1e497b83ce50: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 1e:49:7b:83:ce:50 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.254/24 metric 100 brd 172.16.0.255 scope global dynamic enx1e497b83ce50
       valid_lft 604712sec preferred_lft 604712sec

「172.16.0.254」というIPアドレスが割り当てられていることをチェックできました。
これで完了です。

「ping」のテスト

外部に通信ができるか、Googleにpingを飛ばしてみます。
正常に飛んでいればインターネット疎通がとれていることを確認できます。

$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=5.68 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=7.34 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=6.14 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=58 time=5.93 ms

「ルーティングテーブル」の確認

確実に、「PIX-MT100」を経由して契約したSIMからインターネットに接続させるために、ルーティングを確認します。
「route -n」コマンドで、現状の確認をします。

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.0.1      0.0.0.0         UG    0      0        0 enx1e497b83ce50
172.16.0.0      0.0.0.0         255.255.255.0   U     0      0        0 enx1e497b83ce50
172.16.0.1      0.0.0.0         255.255.255.255 UH    0      0        0 enx1e497b83ce50
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

筆者の環境では上記のように表示されました。
「Metric」の値が「0」に近いほど優先度が高く、数字が大きくなると優先度が下がります。

先ほど、「99-manual_config.yaml」ファイルでそれぞれのメトリックを調整したため、上記のような設定になっています。

network:
    version: 2
    ethernets:
        eth0:
            dhcp4: false
            dhcp6: false
            addresses:
                - 192.168.0.254/24
            nameservers:
                addresses: [192.168.0.254, 8.8.8.8]
                search: []

        enx1e497b83ce50:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 0 #「enx1e497b83ce50」からの通信をメトリック「0」にして優先順位を上げる。
            optional: true

上記のようにしておくことで、「LTEドングル」から優先して外部抜ける経路を指定できるようになります。

「traceroute」で「LTEドングル」から外部へ出られるか確認

メトリックの設定がちゃんと動作するか、「traceroute」コマンドを使い、テストをしてみます。
「PIX-MT100」を経由して、契約したSIMからインターネットに抜けているかを確認します。

まずは、「traceroute」コマンドを使うためにインストールします。手順はこちらをご覧ください。

インストールが完了したら、試しに「Google」に飛ばしてみます。

$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  4GModem (172.16.0.1)  0.873 ms  0.824 ms  0.830 ms
 2  X.XX.XXX.XXX (X.XX.XXX.XXX)  27.303 ms  27.165 ms  27.018 ms
# -- 省略 --

ちゃんと、LTEドングル側のNW(172.16.0.1)を経由して、SIMのグローバルIP経由で外部に接続しているのがわかりました。
上記のように確認ができればOKです。

「DHCPサーバ」の構築

あとは、ラズパイのNICと接続して、インターネットに抜けられるかをチェックできればOKです。

その際に、IPを手動入力するのは面倒なので、「DHCPサーバ」を構築する場合は、以下の手順を進めてください。

以上で「LTEルータ」の構築は完了です!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次