Jetson Nanoで遊ぼう4:Jetson NanoでUSB Wi-Fiドングルを使ってネットワークに接続 + package updateとセキュリティ対策

投稿日:2023年11月25日
最終更新日:2024年1月13日

Jetson NanoをHeadlessで使う

今回はJetson NanoをUSB Wi-Fiドングルを使ってネットワークに接続して、ついでにpackageのupdateや最低限のセキュリティ対策をやっておく。

ちなみに私はmicro USB経由でTera Termから接続して操作して設定を行ったが、モニターをつないでGUI上のTerminalで設定してももちろんOK。

 

開発環境

開発用PC:Windows 10

Jetson Nano Development kit 4GB B01

 

USB wifi ドングルを使ってネットワークに接続する

私が今回使ったUSB wifi ドングルは以下のもの。ちょうど以前購入したものが手元にあった。結論から言うと、特に問題なくJetson NanoがUSBドングルを認識してくれてドライバのインストールなども不要だったので、簡単に接続できた。

エレコム Wi-Fi 無線LAN 子機 150Mbps 11n/g/b 2.4GHz専用 USB2.0 コンパクトモデル ブラック WDC-150SU2MBK

USBドングルはJetson Nanoの適当なUSBポートに接続すればOK。

接続の手順については、以下を参考にさせて頂きましたm(_ _)m

jetson nano でWiFiを使う

上記のサイトの手順そのままで接続できたので詳細は割愛するが、lsusbを打つとDevice 003として今回使うElecom製のUSBドングルが認識されていることが確認できた。

$ lsusb
Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 056e:4008 Elecom Co., Ltd
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb -tコマンドを打つと、Dev 3のDriver=r8188euと表示されており、ドライバもロードされている。

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/5p, 480M
    |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 4: Dev 3, If 0, Class=Vendor Specific Class, Driver=r8188eu, 480M

あとわざわざ書くほどでもないかもしれないが、nmcli d wifi connectでネットワークに接続する際は、sudoをつけないと権限が無くて以下のようにErorrが出るので注意。

Error: Failed to add/activate new connection: Not authorized to control networking.

 

installされているpackageのupdate

この手のガジェットでのお約束として(?)、インストールされているパッケージをアップデートしておく。ちなみにアップデート完了にはそこそこ時間がかかるので(私の環境だと10~20分くらいだったと思う)、時間に余裕がある時にやった方が良いかも。

sudo apt update
sudo apt upgrade

あと、upgrade中にオプションを聞かれるが、とりあずEnterを押して全部デフォルトのままにしておいた。また、Dockerのdaemonをrestartするかみたいなことも聞かれた。正直どうすべきかよくわからんかったが笑、restartしないと不具合が出るかも的なことが書いてあったので、restartしておいた。

 

UFWをインストールして必要なportだけ解放する

デフォルトの状態だと色々なportが開いていてセキュリティ的にあまり良くないので、UFWファイアウォールをインストールして、必要なportだけ開いておく。ただ、後々いろいろなパッケージをインストールして使う場合、自分で必要なportを開く設定をしていく必要があるので、設定にあまり自信が無い人は(まぁport開くだけなんだけど)やらない方が良いかも。

セキュリティ対策については以下のサイトを参考にさせて頂いたm(_ _)m

買ったらまず実施!Jetson Nanoのセットアップとセキュリティ対策 #RaspberryPi – Qiita

NVIDIA Jetson Nano 初期設定 その2 | MIKI-IE.COM(みきいえMIKIIE)

とりあえず今回はSSH(22)、HTTP(80)、HTTPS(443)のportだけ開いて、他のportが必要になったら開放していこうと思う。手順は以下の通り。まずはuwfをインストールしてenableする。

$ sudo apt install uwf
$ sudo ufw enable

私の環境ではenableしたときにerrorが出た。それについては以下の記事で対策を書いているので、以下の記事を参照。

Jetson Nanoでufwをenableしようとしたら「[Errno 2] modprobe: FATAL: Module ip6_tables not found」と出た時の対処

ufwをenableできたら以下でportを開放していく。

$ sudo ufw allow 22
$ sudo ufw allow 80
$ sudo ufw allow 443

最期に以下でstatusを確認。指定したPortが開放できている。

$sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere

これで設定は完了…なのだが、電源を落とすとufwはdisableされてしまった。ということで、以下のコマンドを打って自動起動を有効にしておいた。

$systemctl enable ufw
$systemctl start ufw

こちらに設定については以下のページを参考にさせて頂いたm(_ _)m

ufwのインストールと設定 – 初めてのVPS構築

ここからさらに接続できるIPアドレスを制限したり、SSHを公開鍵認証に変更したりすればセキュリティ的には強くなるのだが、ひとまず今回はここまで。

ちなみに今はmicro USBで開発用PCとheadless通信しているのだが、ネットワーク経由でSSHを使ってJetson Nanoに接続すれば、Wi-Fi USBドングルと電源を接続するだけでJetson Nanoとheadless通信をすることができる。

ということで、次回はSSHでheadless通信してみたいと思う。


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください