
LTE ルーター Teltonika RUT956 を経由して配下のマシンへ WireGuard でリモートアクセスしてみた
ウィスキー、シガー、パイプをこよなく愛する大栗です。最近は製造ビジネステクノロジー部に所属しています。
製造現場で PoC を行うときに、既存のネットワーク回線へ検証用の機器を追加することが難しい場合があります。そのような時には PoC 専用の通信環境を別に用意することがあり、その手段として LTE / 5G ルーターを使ったりします。
LTE / 5G ルーターは SIM と電源があればすぐにインターネットへ接続できます。一方で、モバイル回線は通常グローバル IP アドレスを持たないので、外からルーター配下の機器へ直接接続することはできません。しかし PoC の機材を設置した後は、現地に行かずともリモートから配下のデバイスへアクセスしたくなります。
そこで今回は、手元にある Teltonika Networks の RUT956 を使って、リモートから WireGuard 経由でルーター配下のマシンへアクセスできるかを試してみました。
Teltonika RUT956 とは
RUT956 は、リトアニアの Teltonika Networks が提供している 4G LTE接続、Wi-Fi、有線 LAN 機能を備えた産業用の LTE ルーターです。
| 項目 | 内容 |
|---|---|
| モバイル回線 | 4G LTE Cat 4。最大ダウンロード 150 Mbps |
| SIM | デュアル SIM |
| Wi-Fi | 802.11b/g/n (Wi-Fi 4) |
| 有線 LAN | 10/100 Mbps × 4 (WAN 1 + LAN 3) |
| 電源 | 9〜30 V DC |
| 動作温度 | −40〜75 ℃ |
| OS | RutOS(OpenWrt ベース) |
RUT956 は技適の認証を受けており、ASEAN 地域の各国の電波規制などの認証を多く取っている製品であるため幅広い地域で利用可能です。
WireGuard を選んだ理由
RUT956 は OpenVPN、IPsec、ZeroTier など数多くの VPN に対応していますが、今回は AWS 上に WireGuard サーバーを立てて接続する構成にしました。理由は次の 3 つです。
- コスト : 対応している ZeroTier には無料のプランがありますが非営利目的となり業務では有料プランが必須です。WireGuard サーバーを Lightsail の最小構成で構築する場合はより安く抑えられます。
- RUT956 の標準対応 : 管理画面だけで設定できます。
- OpenVPN や IPsec より設定が簡単 : キーペアと数行の設定ファイルで済み、PC・Mac・スマホ向けの公式アプリが揃っています。
| 構成 | 月額 | 備考 |
|---|---|---|
| Amazon Lightsail + WireGuard | 5 USD | 最小構成(メモリ 512 MB)。1 TB のデータ転送料金が含まれており、静的 IP アドレスにも追加のコストが発生しません。 |
| Tailscale Standard | 8 USD / ユーザー | 無料の Personal プランは非商用のみ |
| ZeroTier Essential | 18 USD(10 台込み) | 無料の Personal プランは個人利用・評価向け |
マネージドサービスである ZeroTier や Tailscale と異なりハブサーバーの構築/運用や鍵の授受は自前で行う必要がありますが、必要最低限の作業で済みます。
構成
今回の構成は以下のとおりです。

LTE 回線は CGNAT の内側にあるためインターネットからアクセスはできません。そのため AWS 上に WireGuard サーバーを構築してハブとします。RUT956 や PC、スマホなども WireGuard サーバーへアウトバウンドでアクセスして、インバウンドの通信はありません。
設定内容
基本的な設定内容は以下となります。
- 今回 RUT956 の LAN の CIDR は
192.168.77.0/24を設定。 - WireGuard 自体のネットワークは
172.16.100.0/24を設定。 - Persistent Keepalive は推奨値の 25 秒を設定。
- サーバーの AllowedIPs に RUT956 の LAN の CIDR を含める。
- RUT956 の Route Allowed IPs を有効にする。
やってみる
検証環境
使用する機材などは以下の通りです。
| 項目 | 内容 | 備考 |
|---|---|---|
| LTE ルーター | RUT956 | ファームウェアバージョンは RUT9M_R_00.07.24.3 |
| SIM | SORACOM IoT SIM {plan01s} | SMS が利用可能 |
| WireGuard サーバー | Amazon Lightsail、東京リージョン、Ubuntu 24.04 LTS、Linux/Unix 0.5GB | |
| クライアント | Mac(WireGuard アプリ)、Android(WireGuard アプリ) | |
| ルーター配下の機器 | Raspberry Pi 4 Model B、ネットワークカメラ(TP-Link Tapo C210) |
IP アドレスは以下の様に割り当てます。
| デバイス | IP アドレス | 備考 |
|---|---|---|
| ルーターネットワーク | 192.168.77.0/24(RUT956 は 192.168.77.1) | |
| RUT956(LAN) | 192.168.77.1 | |
| ネットワークカメラ(Tapo C210) | 192.168.77.102 | |
| Raspberry Pi | 192.168.77.103 | |
| WireGuard ネットワーク | 172.16.100.0/24 | |
| WireGuard サーバー | 172.16.100.1 | |
| RUT956(WireGuard) | 172.16.100.2 | |
| Mac | 172.16.100.11 | |
| スマートフォン | 172.16.100.12 |
AWS の設定
まずは Lightsail のインスタンスを作成します。インスタンスの構成は以下です。
| 項目 | 値 | 備考 |
|---|---|---|
| リージョン | 東京リージョン | |
| プラットフォーム | Linux オペレーティングシステム | |
| 設計図 | Ubuntu 24.04 LTS | |
| ネットワークタイプ | デュアルスタック | IPv4 を使用する |
| インスタンスプラン | 汎用 | 月額 $5 512 MB |
| 自動スナップショット | 有効 |
作成したインスタンス詳細のネットワーキングタブを選択して 静的 IP をアタッチする をクリックします。

IP アドレスのリソース名を入力して 作成およびアタッチ をクリックします。これで静的 IP アドレスが設定されます。

ファイアウォールルールを設定します。デフォルトで入っている HTTP のルールを削除して、以下のルールを設定します。
| アプリケーション | プロトコル | ポートまたはポート範囲/コード | 許可されたインバウンドトラフィック |
|---|---|---|---|
| カスタム | UDP | 51820 | 任意の IPv4 アドレス |
| SSH | TCP | 22 | Lightsail ブラウザ SSH のみ |

Lightsail にログインして、WireGuard をインストールします。またスマホで設定を読ませるために QR コードのエンコーダーもインストールします。
$ sudo apt update && sudo apt install -y wireguard qrencode
サーバーのキーペアを作成します。server.key と server.pub の内容は後ほど使用します。
$ wg genkey | sudo tee /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
$ sudo chmod 600 /etc/wireguard/server.key
$ sudo chmod 600 /etc/wireguard/server.pub
WireGuard サーバーの設定を作成します。
/etc/wireguard/wg0.conf を作成します。
[Interface]
Address = 172.16.100.1/24
ListenPort = 51820
PrivateKey = <server.key の内容>
IP フォワーディングを有効にして、WireGuard を起動します。
$ echo "net.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/99-wireguard.conf
$ sudo sysctl --system
$ sudo systemctl enable --now wg-quick@wg0
設定を確認します。listening port: 51820 が出ていることを確認します。
$ sudo wg show
interface: wg0
public key: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
private key: (hidden)
listening port: 51820
RUT956 の設定
ここでは RUT956 を WebUI で操作します。
[Network] - [LAN] で設定されている LAN を編集します。

ここでは IPv4 address で 192.168.77.1 を設定して Save & Apply をクリックします。

LAN interfaces の画面でもう一度 Save & Apply をクリックします。

WireGuard のインスタンスを作成します。[Service] - [VPN] - [WireGuard] で設定名を入力して Add をクリックします。ここでは aws_01 と入力しました。

General settings タブで Enable を ON に設定し、IP address で 172.16.100.2/24 を入力して、Public Key をメモしておきます。peer instance に aws_hub と入力して Add をクリックします。

General settings タブと Advanced settings タブで以下の内容を入力して Save & Apply をクリックします。
| タブ | 項目 | 値 |
|---|---|---|
| General settings | Public Key | Lightsail で作成した server.pub の内容 |
| General settings | Endpoint address (host) | <Lightsail の静的 IP アドレス> |
| General settings | Endpoint address (port) | 51820 |
| General settings | Allowed IPs | 172.16.100.0/24 |
| General settings | Route Allowed IPs | ON |
| Advanced settings | Persistent keep alive | 25 |


設定内容を確認して Save & Apply をクリックします。

WireGuard サーバーに RUT956 の Peer を追加
Lightsail で /etc/wireguard/wg0.conf に RUT956 のパブリックキーを登録して Peer を追加します。以下の内容を追記します。AllowedIPs には WireGuard ネットワークの RUT956 の IP アドレスと RUT956 のルーターネットワークの CIDR の両方を登録することで、ルーター配下のデバイスへの接続が可能になります。
# RUT956
[Peer]
PublicKey = <RUT956 の Public Key>
AllowedIPs = 172.16.100.2/32, 192.168.77.0/24
サービスを再起動して、WireGuard の状態を確認します。RUT956 が Peer として登録されていることが確認できます。
$ sudo systemctl restart wg-quick@wg0
$ sudo wg show
interface: wg0
public key: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
private key: (hidden)
listening port: 51820
peer: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
endpoint: 116.67.153.62:44682
allowed ips: 172.16.100.2/32, 192.168.77.0/24
latest handshake: 6 seconds ago
transfer: 180 B received, 92 B sent
RUT956 でも同様に確認します。
root@RUT956:~# wg show
interface: aws_01
public key: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
private key: (hidden)
listening port: 51820
peer: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
endpoint: 192.0.2.1:51820
allowed ips: 172.16.100.0/24
latest handshake: 1 minute, 59 seconds ago
transfer: 92 B received, 39.32 KiB sent
persistent keepalive: every 25 seconds
RUT956 から WireGuard サーバーへ ping を実行して接続を確認します。
root@RUT956:~# ping -c 3 172.16.100.1
PING 172.16.100.1 (172.16.100.1): 56 data bytes
64 bytes from 172.16.100.1: seq=0 ttl=64 time=9.778 ms
64 bytes from 172.16.100.1: seq=1 ttl=64 time=5.001 ms
64 bytes from 172.16.100.1: seq=2 ttl=64 time=5.018 ms
--- 172.16.100.1 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 5.001/6.599/9.778 ms
クライアントの追加
クライアントに応じたインストール方法を確認してインストールします。ここでは MacBook Air M4 (macOS 26.6.2) をクライアントとして登録するので App Store からインストールしました。
WireGuard を起動します。左下のメニューで + をクリックして 設定が空のトンネルを追加 します。

公開鍵と秘密鍵が作成されるので任意の名前を入力します。秘密鍵は絶対に外部へ漏らさないでください。

以下の内容を入力して 保存 をクリックします。
| セクション | キー | 値 | 備考 |
|---|---|---|---|
| Interface | PrivateKey | <デフォルトの値> | 変更しない |
| Interface | Address | 172.16.100.11/32 | |
| Peer | PublicKey | <Lightsail の server.pub の内容> | |
| Peer | Endpoint | <Lightsail の静的 IP アドレス>:51820 |
|
| Peer | AllowedIPs | 172.16.100.0/24, 192.168.77.0/24 |
WireGuard ネットワークとルーターネットワーク |
| Peer | PersistentKeepalive | 25 |

macOS では VPN 構成の追加の確認をされるので 許可 をクリックします。

有効化 をクリックして状態が有効になることを確認します。

Lightsail で /etc/wireguard/wg0.conf に macOS のパブリックキーを登録して Peer を追加します。
# Oguri's Macbook Air
[Peer]
PublicKey = <macOS の WireGuard アプリの 公開鍵>
AllowedIPs = 172.16.100.11/32
WireGuard を再起動します。
$ sudo systemctl restart wg-quick@wg0
動作確認
クライアントから RUT956 へ接続できるか ping を実行してみます。
$ ping -c 3 192.168.77.1
PING 192.168.77.1 (192.168.77.1): 56 data bytes
64 bytes from 192.168.77.1: icmp_seq=0 ttl=63 time=14.092 ms
64 bytes from 192.168.77.1: icmp_seq=1 ttl=63 time=13.571 ms
64 bytes from 192.168.77.1: icmp_seq=2 ttl=63 time=13.338 ms
--- 192.168.77.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 13.338/13.667/14.092/0.315 ms
$ ping -c 3 192.168.77.103
PING 192.168.77.103 (192.168.77.103): 56 data bytes
64 bytes from 192.168.77.103: icmp_seq=0 ttl=62 time=15.316 ms
64 bytes from 192.168.77.103: icmp_seq=1 ttl=62 time=14.231 ms
64 bytes from 192.168.77.103: icmp_seq=2 ttl=62 time=16.520 ms
--- 192.168.77.103 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 14.231/15.356/16.520/0.935 ms
ネットワークカメラへも接続を確認します。TP-Link Tapo C210 は RTSP への接続も可能なので、カメラのアカウントを作成しておきます。
RTSP クライアントとして IINA を使用します。rtsp://<ユーザー名>:<パスワード>@192.168.77.102:554/stream1 の形式で開くと画像が表示されます。

スマホの追加
Lightsail 側で設定を作成して QR コードで読み込ませます。
$ sudo wg genkey | sudo tee /etc/wireguard/phone.key | sudo wg pubkey | sudo tee /etc/wireguard/phone.pub
[Interface]
PrivateKey = <phone.key の内容>
Address = 172.16.100.12/32
[Peer]
PublicKey = <Lightsail の server.pub>
Endpoint = <Lightsail の静的 IP アドレス>:51820
AllowedIPs = 172.16.100.0/24, 192.168.77.0/24
PersistentKeepalive = 25
phone.conf の内容を QR コードに変換します。
$ sudo cat /etc/wireguard/phone.conf | qrencode -t ansiutf8
スマホの WireGuard アプリで右下の + から QRコードからスキャン を選択して QR コードを読み込みます。トンネルに名前をつけて有効化しておきます。
Lightsail wg0.conf にスマホの Peer を追加します。
# Smart Phone
[Peer]
PublicKey = <phone.pub の内容>
AllowedIPs = 172.16.100.12/32
WireGuard を再起動します。
$ sudo systemctl restart wg-quick@wg0
WireGuard の状態を確認するとスマホの peer が増えているのが分かります。
$ sudo wg show
interface: wg0
public key: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
private key: (hidden)
listening port: 51820
peer: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
endpoint: 116.67.153.62:63205
allowed ips: 172.16.100.12/32
latest handshake: 1 second ago
transfer: 180 B received, 92 B sent
peer: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
allowed ips: 172.16.100.2/32, 192.168.77.0/24
peer: ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefg=
allowed ips: 172.16.100.11/32
スマホから RUT956 の管理画面にもアクセスできます。

ハマりポイント
クライアントの Mac を LTE ルーター配下の LAN に接続した時に、WireGuard のトンネルを無効化しても Raspberry Pi やネットワークカメラに接続できない問題が発生しました。Raspberry Pi へ SSH で接続する場合には、以下のようにホストへのルートがない状態になっています。
$ ssh pi@192.168.77.103
ssh: connect to host 192.168.77.103 port 22: No route to host
これは同一ネットワークのデバイスとの通信を許可制にするプライバシー機能の影響です。macOS では [システム設定] - [プライバシーとセキュリティ] - [ローカルネットワーク] で対象のアプリケーションを有効にすればアクセス可能になります。
SSH を実行するターミナルアプリでローカルネットワークの設定を有効化して SSH を実行すると普通にアクセス可能になります。
% ssh pi@192.168.77.103
pi@192.168.77.103's password:
Linux raspi4b-01 6.18.50+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.18.50-1+rpt1 (2026-09-11) aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Oct 7 11:57:41 2026 from 192.168.77.181
pi@raspi4b-01:~$
さいごに
グローバル IP のない LTE ルーターでも、WireGuard のハブサーバーを設置すればインターネット経由でルーター配下のマシンへ直接アクセスできました。RUT956 は WireGuard に標準で対応しているためルーター側は WebUI の設定だけで済み、メンテナンス用途であればハブも Lightsail の最小のプランで動きます。
PoC 用の回線として LTE ルーターを置く場面では、リモートから入れる経路を最初に用意しておくと現地に行く回数を減らせるため事前に設定しておいたほうが良いですね。






