Linuxオンプレサーバの保守運用のためにSSHで入る方法を備えておきたいと思いつつ,客先にインターネット経由でVPN張れるような穴開けとくのも気持ちが悪いので,SORACOM Napterを使った方法を検証してみることにしました.
使ったサーバ:Jetson Nano
使ったドングル:GREEN HOUSE/GH-UDG-MCLTEC
https://www.green-house.co.jp/products/gh-udg-mcltec/
作業の流れとしてはこんな感じ
- Jetson Nanoのセットアップと諸設定
- Jetson Nanoにドングルを挿してしてデバイス名の確認を行う
- USBドングルの設定
- SORACOM UserConsoleでオンデマンドリモートアクセスの設定
- クライアントからSSH接続する
- ルーティングの設定
Jetson Nanoのセットアップと諸設定
通常通りSDカードにOSを書き込んで,LANケーブル挿してSSHで入ります.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
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: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether fa:e6:3c:14:c6:8d brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:e0:4c:68:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.20/24 brd 192.168.11.255 scope global dynamic noprefixroute eth0
valid_lft 255362sec preferred_lft 255362sec
inet6 fe80::8406:e2a3:cb09:92e4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: l4tbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 8e:68:7e:d2:72:85 brd ff:ff:ff:ff:ff:ff
inet 192.168.55.1/24 brd 192.168.55.255 scope global l4tbr0
valid_lft forever preferred_lft forever
inet6 fe80::1/128 scope link tentative
valid_lft forever preferred_lft forever
5: rndis0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master l4tbr0 state DOWN group default qlen 1000
link/ether 8e:68:7e:d2:72:85 brd ff:ff:ff:ff:ff:ff
6: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master l4tbr0 state DOWN group default qlen 1000
link/ether 8e:68:7e:d2:72:87 brd ff:ff:ff:ff:ff:ff
ドングル挿す前に必要そうなものをインストールしておく
sudo apt-get install -y usb-modeswitch wvdial
SORACOMさんで作ってくれたセットアップスクリプトを持ってきて実行しておく
$ wget https://soracom-files.s3.amazonaws.com/setup_air.sh
$ chmod +x setup_air.sh
$ sudo ./setup_air.sh
Jetson Nanoにドングルを挿してしてデバイス名の確認を行う
ドングル挿して認識してくれると,下記のようにusb1が追加されているはず.
$ lsusb
(中略)
Bus 001 Device 009: ID 1ecb:02f1
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
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: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether fa:e6:3c:14:c6:8d brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:e0:4c:68:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.20/24 brd 192.168.11.255 scope global dynamic noprefixroute eth0
valid_lft 255144sec preferred_lft 255144sec
inet6 fe80::8406:e2a3:cb09:92e4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: l4tbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 8e:68:7e:d2:72:85 brd ff:ff:ff:ff:ff:ff
inet 192.168.55.1/24 brd 192.168.55.255 scope global l4tbr0
valid_lft forever preferred_lft forever
inet6 fe80::1/128 scope link tentative
valid_lft forever preferred_lft forever
5: rndis0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master l4tbr0 state DOWN group default qlen 1000
link/ether 8e:68:7e:d2:72:85 brd ff:ff:ff:ff:ff:ff
6: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master l4tbr0 state DOWN group default qlen 1000
link/ether 8e:68:7e:d2:72:87 brd ff:ff:ff:ff:ff:ff
7: usb1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 32:81:61:ee:43:74 brd ff:ff:ff:ff:ff:ff
SORACOMさんで作ってくれたセットアップスクリプトではデバイスの名前が「wwan0」になってるようなので,これを「usb1」に修正する.終わった時点で下記の通り.
$ sudo vi /etc/network/interfaces
source-directory /etc/network/interfaces.d
allow-hotplug usb1
iface usb1 inet wvdial
$ sudo reboot
usb1にIPアドレスが割り振られたはず.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
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: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether a6:4b:e5:f0:f5:75 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:e0:4c:68:00:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.20/24 brd 192.168.11.255 scope global dynamic noprefixroute eth0
valid_lft 241700sec preferred_lft 241700sec
inet6 fe80::844:c77e:7587:fe2f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
7: l4tbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether a6:c9:64:c3:b4:59 brd ff:ff:ff:ff:ff:ff
inet 192.168.55.1/24 brd 192.168.55.255 scope global l4tbr0
valid_lft forever preferred_lft forever
inet6 fe80::1/128 scope link tentative
valid_lft forever preferred_lft forever
8: rndis0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master l4tbr0 state DOWN group default qlen 1000
link/ether a6:c9:64:c3:b4:59 brd ff:ff:ff:ff:ff:ff
9: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master l4tbr0 state DOWN group default qlen 1000
link/ether a6:c9:64:c3:b4:5b brd ff:ff:ff:ff:ff:ff
10: usb1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether d2:21:2a:a6:8b:a7 brd ff:ff:ff:ff:ff:ff
inet 192.168.225.35/24 brd 192.168.225.255 scope global dynamic noprefixroute usb1
valid_lft 43195sec preferred_lft 43195sec
inet6 fe80::ab85:9cf3:713f:e28d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
USBドングルの設定
USBドングルを挿したPCのブラウザから「http://am.webcm 」にアクセスするとWebコンソールが開くので,ドングルに諸設定を行う
加えて,DMZにjetsonのusb1に割り振られたIPアドレスを設定する.
クライアントからSSH接続する
SORACOMのUserConsoleにログインし,今回利用するSIMにチェックを入れて「操作」メニューから「オンデマンドリモートアクセス」を選択すると,IPアドレスとポートが表示されるのでクライアントから接続する.
ルーティングの設定
普段の通信はLAN向きだけど,SSHで最低限入れるようにルーティング設定したい(加筆予定)
おまけ
ナダ電子さんのケース、本体価格考えると悩ましかったけど買ってみたらいい感じです
(2020-01-07追記) 後日いざ使おうと思ったらドングルに割り当てられたIPアドレスが変わっていた
ドングルの接続切れてIPアドレス変わった・・・?
DMZの設定やりなおしじゃん・・・
3746: usb1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 2a:96:45:3d:f3:a2 brd ff:ff:ff:ff:ff:ff
inet 192.168.225.37/24 brd 192.168.225.255 scope global dynamic noprefixroute usb1
valid_lft 42673sec preferred_lft 42673sec
inet6 fe80::9664:8e56:6c00:8c3d/64 scope link noprefixroute
valid_lft forever preferred_lft forever