Pi4B Raspbian buster に ufw をインストールする(ファイアウォール)
ネットワーク・セキュリティ。
Pi3B+のときの手順
これに従い、Pi4Bで実施する。
手順
1. 要件
自宅ネットLANからのアクセスのみ許可したい。
ポート番号
通信 | ポート番号 |
---|---|
SSH | 22 |
VNC | 5900 , 5901 , 5902 |
2. インストール
sudo apt install ufw
...
この操作後に追加で 852 kB のディスク容量が消費されます。
...
確認
sudo ufw --version
ufw 0.36 Copyright 2008-2015 Canonical Ltd.
sudo ufw status
Status: inactive
3. 設定
3-1. 現状確認
sudo iptables -nL
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
ufw設定
3-2-1. ポート定義一覧
SSH
とVNC
が存在することを確認する。
sudo ufw app list
一覧
Available applications: AIM Bonjour CIFS DNS Deluge IMAP IMAPS IPP KTorrent Kerberos Admin Kerberos Full Kerberos KDC Kerberos Password LDAP LDAPS LPD MSN MSN SSL Mail submission NFS OpenSSH POP3 POP3S PeopleNearby SMTP SSH Socks Telnet Transmission Transparent Proxy VNC WWW WWW Cache WWW Full WWW Secure XMPP Yahoo qBittorrent svnserve
3-2-2. 自分のIPアドレスを確認する
$ 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: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether dc:a6:32:**:**:** brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether dc:a6:32:**:**:** brd ff:ff:ff:ff:ff:ff inet 192.168.11.10/24 brd 192.168.11.255 scope global dynamic noprefixroute wlan0
識別名 | 意味 |
---|---|
eth0 |
有線LAN |
wlan0 |
無線LAN |
今回IPアドレスは192.168.11.10
とする。環境によって変わる。
自宅のLANは192.168.11.0
〜192.168.11.255
のいずれかになるはず。
3-2-3. SSH
sudo ufw allow from 192.168.11.0/24 to any port ssh
Rules updated
ssh
がないならポート番号22
を指定する。
sudo ufw allow from 192.168.11.0/24 to any port 22
なお、192.168.11.0/24
という指定方法は「192.168.11.
から始まる全アドレス」を意味する。4つ目の数字は0〜255のどれか。ひとつずつ書かなくてもすべて対象にできる。
3-2-4. VNC
VNCサーバーは5900
+ ディスプレイ番号 のポートを使うらしい。※。
ディスプレイ番号はVNCサーバを起動させる以下コマンドで判明する。
vncserver -randr=1920x1080
... New desktop is raspberrypi:1 (192.168.11.10:1)
ディスプレイ番号は1
である。IPアドレスの末尾にある。
このコマンドを続けてもう一度実行すると192.168.11.10:2
になる。そのときのディスプレイ番号2
はである。
最小のディスプレイ番号は1
である。そしてRaspberry Pi 4B の場合、micro HDMI のポートが2つある。よって以下3つのポート番号を開ければ良い。
5900 5901 5902
ポートを開ける。ssh
と違い、vcn
のキーワードは使えないようだ。
sudo ufw allow from 192.168.11.0/24 to any port 5900 sudo ufw allow from 192.168.11.0/24 to any port 5901 sudo ufw allow from 192.168.11.0/24 to any port 5902
失敗ログ
sudo ufw allow from 192.168.11.0/24 to any port vnc
ERROR: Bad port 'vnc'
sudo ufw allow from 192.168.11.0/24 to any port VNC
ERROR: Bad port 'VNC'
以下の書式で5900
〜5902
までのポート番号を開ける。※
sudo ufw allow 5900:5902
ERROR: Must specify 'tcp' or 'udp' with multiple ports
sudo ufw allow from 192.168.11.0/24 to any port 5900:5902/tcp
ERROR: Port ranges must be numeric
プロトコルで制限することもできる?
sudo ufw allow from 192.168.11.0/24 to any port 5900 sudo ufw allow from 192.168.11.0/24 to any port 5900/tcp sudo ufw allow from 192.168.11.0/24 to any port 5900/udp sudo ufw allow from 192.168.11.0/24 to any port 5901 sudo ufw allow from 192.168.11.0/24 to any port 5901/tcp sudo ufw allow from 192.168.11.0/24 to any port 5901/udp sudo ufw allow from 192.168.11.0/24 to any port 5902 sudo ufw allow from 192.168.11.0/24 to any port 5902/tcp sudo ufw allow from 192.168.11.0/24 to any port 5902/udp
ルールを削除したいときは以下。※
sudo ufw status numbered
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN 192.168.11.0/24 [ 2] 5900 ALLOW IN 192.168.11.0/24
5900
のを削除したいときは以下。
sudo ufw delete 2
以下のように確認される。y
, Enterキー押下。
Deleting: allow from 192.168.11.0/24 to any port 5900 Proceed with operation (y|n)?
Rule deleted
3-3. ufw有効化
ufwを有効化する。
sudo ufw enable
Firewall is active and enabled on system startup
もしufwを無効化するなら以下。
sudo ufw disable
enable
すると、Status
がinactive
からactive
になった。
sudo ufw status numbered
Status: active To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN 192.168.11.0/24 [ 2] 5900 ALLOW IN 192.168.11.0/24 [ 3] 5901 ALLOW IN 192.168.11.0/24 [ 4] 5902 ALLOW IN 192.168.11.0/24
設定が書き込まれたことを確認する。
sudo iptables -nL
4. 接続確認
Pi3B+などからPi4Bへ問題なくSSH, VNCアクセスできることを確認する。
SSH
ssh pi@192.168.11.10
VNC
Pi4BでVNCサーバを起動する。
vncserver -randr=1920x1080
Pi3B+などでVNC Viewerを起動し、ログインする。URL例: 192.168.11.10:1
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12(1)-release
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux
前回まで
ハード。
- Raspberry Pi 4B (4GB) を2個予約した(KSY先行予約販売)
- Raspberry Pi 4B 届いた! 開封の儀
- Raspberry Pi 4B ヒートシンク取付
- Raspberry Pi 4B ケース装着
- HDMIまちがえて買ってた……(type A, C, D の罠)
ソフト。
- RPI4B Raspbian Buster USB boot 未対応……
- Raspbian Buster 2019-09-26 インストール
- Raspbian Buster 2019-09-26 ダウンロード
- Raspbian Buster 2019-09-26 HDMI設定について調べた
- Raspbian Buster 2019-09-26 インストール前の設定(Wi-Fi)
設定。
- Raspbian Buster ヘッドレス 初期設定 できないか調べた
- Raspberry Pi 4B でSSHログインできた
- Raspberry Pi 4B 初期設定(ヘッドレス)
- Raspberry Pi 4B SDブート+USBルート(≒USB boot)に成功
- VNCからRaspbian Busterへログインする方法を調べる
- VNCからRPI4B Raspbian Busterを初期セットアップする
- VNCからRPI4B Raspbian Busterをセットアップする
- Raspberry Pi 4B に HDMIケーブル A-D + 変換キャップ type A-C でディスプレイ表示する
- Raspberry Pi 4Bのハードウェア情報を表示する(cat /proc/cpuinfo)
データ移行。
企業。