ラズパイ4を使ってpythonでいろいろやる前の準備

ラズパイ

PCを常時電源ONにしておくと電気代が地味にかかるのでコスト削減の意味を込めてpythonをラズパイ4で動かそうと購入しました!

LABISTS Raspberry Pi 4 4B-32GB スターターキット

Amazonで見る

ラズパイ本体とケース電源、OS入りのmicroSDがセットになっていて若干値段は高いですがラズパイを始めるにはよさげだと判断して購入しました。

電源ケーブルとケース、microHDMI-HDMIケーブルなんかはどっちにしても使うのであれば最初から一緒になっているこういったキットを買ったほうが絶対楽です。

ちなみに最初こそHDMIでモニタにつないで使用していたのですが、実際の運用はSSH or リモートデスクトップでメインPCから接続して操作しています。

開封~電源投入

キットになっているのでラズパイ基板を出して、ケースに組み付けて付属のOS入りmicroSDを入れて電源入れればOS起動します。超簡単!microHDMI-HDMIケーブルもついているのでテレビだったりディスプレイにつなげばGUIで表示されます!

セキュリティ設定とか買ったらやるべきこと

買ったままのラズパイをネットワークに接続し続けるのはなかなかリスクある行動です。乗っ取られて攻撃の踏み台にされたり、ラズパイを入り口に家庭内ネットワークに侵入される可能性だってあります。

なので対応が必要です。

参考
https://qiita.com/c60evaporator/items/ebe9c6e8a445fed859dc

  • ユーザの新規登録&デフォルトユーザー削除
  • 自動ログインOFF
  • SSHのポート変更
  • SSHを公開鍵認証に変更

ラズパイのデフォルトユーザIDとパスワードは公開されているため、これを変更しておかないと誰でもログインすることができます。なので、新規登録してデフォルトユーザを削除して無効化してやります。

SSHでの運用を考えた際にデフォルトのポート22を使っていると狙われやすいので、任意のポートに変更します。

SSH接続時にパスワード認証のままだと総当たり等にかけられるので、公開鍵認証に変更してセキュリティレベルを上げます。

リモートデスクトップ接続

WinPCからラズパイにアクセスする際に同ネットワークに接続した状態でプライベートIPアドレスでSSH接続すればアクセスできるといえばできますが、GUIも使いたいのでリモートデスクトップ接続できるようにします。

ラズパイにxrpdpを「sudo apt-get install」でインストールし、インストール後、「sudo service xrdp restart」でOKです。

ただこれだとラズパイのプライベートIPがDHCPで動的に変わってしまうので固定してあげます。

http://yurugadge-channel.com/article/185920110.html

固定されたプライベートIPに対して、PowerShellからSSHで接続する場合は下記の通り入力すればOKです。

$ ssh ユーザ名@ラズパイのプライベートIP -p SSHポート番号

たとえば、デフォルトユーザ名「pi」で、ラズパイのプライベートIPが「192.168.1.2」、SSHポートを「2222」にしていた場合は

$ ssh pi@192.168.1.2 -p 2222

これで接続できます。

ラズパイ単独でPPPoE接続

フレッツ光では標準で2セッション可能です。無線ルーターから一本PPPoE接続し、ネットワークぶら下がるラズパイからはメインのPPPoE接続以外に別のPPPoE接続をしてみます。※2つ分のプロバイダ契約が必要です。

↑v6プラス環境から…とありますが、v6以外でも同様の手順で設定可能です。この中でpppoeconfで設定画面が出る前にエラーで落ちて少々悩みました。

原因は2セッション既に接続していて、PPPoE増やせないよ!というものでした。よくよく見るとルーターにPPPoEが2つ設定されていて常時通信しているのを忘れていました。。。一つを停止して、ラズパイからpppoeconfを実行したら正しく設定画面が出ました。

これでラズパイ単独でグローバルIPが付与されます。

ファイアウォール設定

グローバルなネットワーク上にラズパイが公開されるわけなので、さまざまなアクセスがやってきます。これらを遮断するためにファイアウォールを設定し、有効化しましょう。

ufwをインストールして、上記のPPPoE接続の参考サイトに記載のufw設定をしてあげました。基本はプライベートIP内の通信は許可、それ以外はデフォルト拒否です。必要に応じて使用するポートを許可する運用イメージです。※今のところ追加許可なし。


といったところで基本的な設定が完了しました。このラズパイをルータの隣において有線接続し、別PCからリモートで指令を出す運用をしています。今後は、外部HDDをつなげていこうと思います。

また、ラズパイはmicroSDにOSが入っていて別のものを指せば別の使い方ができるのでいろいろ楽しめそうです。python用SDとメディアプレーヤー専用SDなんかを使い分けても面白そうです。