千葉の自宅で子供が大学の講義をオンライン受講するようになって、既存の南側リビングにある無線LANルータと北側の子供部屋との距離があるために通信が度々途切れることがわかりました。 オンライン受講のため早々の改善が必要なことから、急遽埼玉にある無線LANルータを千葉にもっていって北側に増設することにしました。
千葉に増設後、埼玉で先日構築したRaspberry Pi 無線LANアクセスポイント(AP)のある車庫以外で無線LANが使えなくなってしまったので、自室のデスクトップPCにUSB無線LANアダプタを接続してWindows10モバイルスポット機能によりAPを構成して使っていたのですが、これを有効にしているとPCをスリープできないらしく、運用が面倒くさくなってきたので、結局新たに無線LAN AP を増設することにしました。
普通にBuffaloとかの無線LANルータを買うのも面白くないので、車庫の Raspberry Pi 無線LAN APを構築した経験を活かし、最新のRaspberry Pi 4 model B を購入して構築することにしました。
⇒関連記事:「Raspberry Pi 無線LAN APの構成、FAN取付」
(Raspberry Pi 3 model B+ で無線LAN AP ルータ を車庫に構築)
Raspberry Pi 3 model B+ で無線LAN AP を車庫に構築した時は、ブリッジで構成する適切な情報をみつけることはできず、仕方なくルータとして構築したのですが、bridge-utils を使うのではなく、perprouted を使うことでブリッジ相当の機能を構築できたので、その手順を当記事ではまとめます。
dhcpは、VPNルータのサーバ機能を使うため、dhcp-helper も導入します。
電源はDIY電源システムの「車庫屋根ソーラー発電システム」ですので、以下のような構成(黄色網掛け箇所を構築)となります。
・ラズベリーパイ4 コンピューターモデルB 4GB Raspberry Pi 4 Computer Model B
7,280円(税送料込)メイカー専門店/Amazon
・SanDisk microSDXC ULTRA 128GB 80MB/s SDSQUNS-128G Class10 [並行輸入品]
2,100円(税送料込) コスメビューティー 公式ショップ/Amazon
⇒送られてきたのは100MB/sでした。
・電源セット(5V 3.0A)セパレート型スイッチ付き Type-C 電源アダプター
1,280円(税送料込)Physical Computing Lab/Amazon
⇒アダプタとケーブルが一体型でなく、USB Type-Aコネクタで別にできるやつ。
・Flirc ラズベリーパイ4ケース シルバー
2,820円(税送料込) Flirc Incorporated/Amazon
【OS導入】
Raspberry Pi 公式サイトから imager というツールを取得します。 このときのバージョンは1.6.1でした。 今回初めて使用しましたが、別途ツールでのFAT32フォーマットとか不要で、このツールから直接SDカードに書き込みすることができて便利でした。
SDカード以外にこのように、SDカードリーダー、必要に応じてアダプタが必要です。
imager をWindows10のデスクトップPCにインストール。
インストール完了して、imager起動。
組込み機器はLiteが適切ですが、性能が良くなったという噂のPi 4のDesktopも楽しみたいので、Recommended と書かれた Raspberry PI OS (32-bit)を選択。 Liteは、Raspberry PI OS(other)から選択できます。
OS選択完了。
書き込み先のUSBカードリーダーを選択。
カードリーダー選択完了。
WRITEを実行すると、最終確認。
書き込み後、自動でVerifyして完了。 終了したらメディアの取り外し処理も自動でしてくれます。 あとはRaspberry Pi に挿して電源入れるだけ。 簡単です。
【OS初期設定】
・microHDMIポートにディスプレイ、USBポートにマウス、キーボード、USB-Cポートに5V電源を接続し電源投入。
・初期ログイン
起動後デフォルトで自動ログインですが、Liteを導入した場合でコンソールログインが必要であれば。
・自動ログイン後、ターミナルウインドウを起動し、すぐに pi と root ユーザのパスワード変更
% sudo passwd root
・raspi-configによる各種設定
% sudo su -
# raspi-config
・Teratermでsshログイン
千葉に増設後、埼玉で先日構築したRaspberry Pi 無線LANアクセスポイント(AP)のある車庫以外で無線LANが使えなくなってしまったので、自室のデスクトップPCにUSB無線LANアダプタを接続してWindows10モバイルスポット機能によりAPを構成して使っていたのですが、これを有効にしているとPCをスリープできないらしく、運用が面倒くさくなってきたので、結局新たに無線LAN AP を増設することにしました。
普通にBuffaloとかの無線LANルータを買うのも面白くないので、車庫の Raspberry Pi 無線LAN APを構築した経験を活かし、最新のRaspberry Pi 4 model B を購入して構築することにしました。
⇒関連記事:「Raspberry Pi 無線LAN APの構成、FAN取付」
(Raspberry Pi 3 model B+ で無線LAN AP ルータ を車庫に構築)
Raspberry Pi 3 model B+ で無線LAN AP を車庫に構築した時は、ブリッジで構成する適切な情報をみつけることはできず、仕方なくルータとして構築したのですが、bridge-utils を使うのではなく、perprouted を使うことでブリッジ相当の機能を構築できたので、その手順を当記事ではまとめます。
dhcpは、VPNルータのサーバ機能を使うため、dhcp-helper も導入します。
電源はDIY電源システムの「車庫屋根ソーラー発電システム」ですので、以下のような構成(黄色網掛け箇所を構築)となります。
・ラズベリーパイ4 コンピューターモデルB 4GB Raspberry Pi 4 Computer Model B
7,280円(税送料込)メイカー専門店/Amazon
・SanDisk microSDXC ULTRA 128GB 80MB/s SDSQUNS-128G Class10 [並行輸入品]
2,100円(税送料込) コスメビューティー 公式ショップ/Amazon
⇒送られてきたのは100MB/sでした。
・電源セット(5V 3.0A)セパレート型スイッチ付き Type-C 電源アダプター
1,280円(税送料込)Physical Computing Lab/Amazon
⇒アダプタとケーブルが一体型でなく、USB Type-Aコネクタで別にできるやつ。
・Flirc ラズベリーパイ4ケース シルバー
2,820円(税送料込) Flirc Incorporated/Amazon
・エレコム micro HDMI 変換ケーブル 10cm ブラック TB-HDAD2BK
1,200円(税送料込) アマゾンジャパン合同会社/Amazon
⇒DisplayPortモニターに接続してOS初期設定するため。
⇒DisplayPortモニターに接続してOS初期設定するため。
【OS導入】
Raspberry Pi 公式サイトから imager というツールを取得します。 このときのバージョンは1.6.1でした。 今回初めて使用しましたが、別途ツールでのFAT32フォーマットとか不要で、このツールから直接SDカードに書き込みすることができて便利でした。
SDカード以外にこのように、SDカードリーダー、必要に応じてアダプタが必要です。
imager をWindows10のデスクトップPCにインストール。
インストール完了して、imager起動。
組込み機器はLiteが適切ですが、性能が良くなったという噂のPi 4のDesktopも楽しみたいので、Recommended と書かれた Raspberry PI OS (32-bit)を選択。 Liteは、Raspberry PI OS(other)から選択できます。
OS選択完了。
書き込み先のUSBカードリーダーを選択。
カードリーダー選択完了。
WRITEを実行すると、最終確認。
書き込み後、自動でVerifyして完了。 終了したらメディアの取り外し処理も自動でしてくれます。 あとはRaspberry Pi に挿して電源入れるだけ。 簡単です。
【OS初期設定】
・microHDMIポートにディスプレイ、USBポートにマウス、キーボード、USB-Cポートに5V電源を接続し電源投入。
・初期ログイン
起動後デフォルトで自動ログインですが、Liteを導入した場合でコンソールログインが必要であれば。
login: pi
password: raspberry
・自動ログイン後、ターミナルウインドウを起動し、すぐに pi と root ユーザのパスワード変更
% passwd
New password:xxxxxxxx
Retype new password:xxxxxxxx
% sudo passwd root
New password:xxxxxxxx
Retype new password:xxxxxxxx
・raspi-configによる各種設定
% sudo su -
# raspi-config
ホスト名変更
1 System Options
⇒S4 Hostname
ブートオプションを「B3 DeskTop」に設定
1 System Options
⇒S5 Boot / Auto Login
⇒B3 Desktop
ディスプレイ解像度の設定
2 Display Options
2 Display Options
⇒D1 Resolution
⇒DMT Mode 82 1920x1080 60Hz 16:9
SSH有効化
3 Interface Options
⇒P2 SSH
VNC有効化
3 Interface Options
⇒P3 VNC
ロケーションオプション
5 Localisation Options
⇒locale:ja_JP.UTF-8 UTF-8
⇒Timezone:Asia,Tokyo
⇒Keyboard:105-key,other,Japanese
⇒WLAN country:JP
ツールを終了して
# reboot
・ユーザpiのまま使うのは非推奨ですので別途新規ユーザ(ここでは例としてnewuser)を作成します。
【無線LAN AP ブリッジ構築】・ユーザpiのまま使うのは非推奨ですので別途新規ユーザ(ここでは例としてnewuser)を作成します。
% sudo adduser newuser
New password:xxxxxxx
Retype new password:xxxxxxxx
・ユーザpiが所属するグループ????,????, ・・・に新規ユーザを登録します。
・ユーザpiが所属するグループ????,????, ・・・に新規ユーザを登録します。
% groups pi
pi : ????,????, ・・・
pi : ????,????, ・・・
% sudo usermod -G ????,????,・・・ newuser
% groups newuser
newuser : ????,????, ・・・
・自動ログインの無効化
・sudo環境の変更
newuser : ????,????, ・・・
・自動ログインの無効化
% sudo su -
# vi /etc/lightdm/lightdm.conf
# vi /etc/lightdm/lightdm.conf
「autologin-user=pi」をコメントアウトします。
# vi /etc/systemd/system/autologin@.service
新規ユーザーに変更「ExecStart=-/sbin/agetty --autologin newuser --noclear %I STERM」
・sudo環境の変更
# gpasswd -a newuser sudo
# gpasswd -d pi sudo
# mv /etc/sudoers.d/010_pi-nopasswd /etc/sudoers.d/010_newuser-nopasswd
# vi /etc/sudoers.d/010_newuser-nopasswd
新規ユーザに変更
newuser ALL=(ALL) NOPASSWD: ALL
・一旦ログアウトして、新規ユーザでログインできるか確認
# exit
% exit
newuser ALL=(ALL) NOPASSWD: ALL
・一旦ログアウトして、新規ユーザでログインできるか確認
# exit
% exit
login: newuser
password: xxxxxxxx
・無線LANクライアントソフトウェアの無効化
% sudo su -
# systemctl stop wpa_supplicant
# systemctl disable wpa_supplicant
・有線LANポート(eth0)へのIPアドレス設定
# ip a
・無線LANクライアントソフトウェアの無効化
% sudo su -
# systemctl stop wpa_supplicant
# systemctl disable wpa_supplicant
・有線LANポート(eth0)へのIPアドレス設定
# vi /etc/dhcpcd.conf
--
denyinterfaces wlan0
interface eth0
static ip_address=XXX.XXX.XXX.XXX/24 ⇒ここでは例として/24セグメントのIPアドレス
static routers=XXX.XXX.XXX.XXX
static domain_name_servers=XXX.XXX.XXX.XXX
noipv6
--
# systemctl restart dhcpcd
LANケーブルを接続して eth0 にIPアドレスが設定されているか確認# ip a
・Teratermでsshログイン
login: newuser
password: xxxxxxxx
% sudo su -
・必要なパッケージのインストール
・OS起動時のネットワーク設定追加
・無線LAN APソフトウェアhostapdの設定(2.4GHz、11n)
・dhcp-helperの自動起動設定
後日、車庫の無線LAN APも perprouted を使ってルータからブリッジに構築しなおしました。
% sudo su -
・必要なパッケージのインストール
# apt-get update
# apt-get install -y parprouted hostapd dhcp-helper iproute2
※メモ:bcrelay は使わない。
・IF間ルーティング有効化
・IF間ルーティング有効化
# vi /etc/sysctl.conf
以下コメント外す。
--
--
net.ipv4.ip_forward=1
--
# echo "1" > /proc/sys/net/ipv4/ip_forward
# cat /proc/sys/net/ipv4/ip_forward
・OS起動時のネットワーク設定追加
# vi /etc/rc.local
「exit 0」の直前に追記
※ipは、/sbin/ip のこともあるので、which ip で位置を確認
「exit 0」の直前に追記
※ipは、/sbin/ip のこともあるので、which ip で位置を確認
--
/usr/sbin/ip addr flush dev wlan0
/usr/sbin/ip addr add XXX.XXX.XXX.XXX/32 dev wlan0 ⇒eth0と同じアドレスを/32で設定します
/usr/sbin/ip link set wlan0 up
/usr/sbin/ip link set wlan0 promisc on
/usr/sbin/ip link set eth0 promisc on
/usr/sbin/parprouted eth0 wlan0 &
--
ip addr flush dev wlan0
ip addr add XXX.XXX.XXX.XXX/32 dev wlan0
ip link set wlan0 up
ip link set wlan0 promisc on
ip link set eth0 promisc on
parprouted eth0 wlan0 &
・無線LAN APソフトウェアhostapdの設定(2.4GHz、11n)
# vi /etc/hostapd/hostapd.conf
--
※参考:以下設定内容で、5GHz、acを試してみたが逆に遅くなったのでやめた。
--
・hostapdの自動起動設定
--
interface=wlan0
driver=nl80211
ssid=xxxxxxxx ⇒任意文字
country_code=JP
hw_mode=g
channel=10
chanlist=1 2 3 4 5 6 7 8 9 10 11 12 13
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wmm_enabled=1
ieee80211n=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
wpa=2
wpa_passphrase=xxxxxxxx ⇒任意文字
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
--※参考:以下設定内容で、5GHz、acを試してみたが逆に遅くなったのでやめた。
--
interface=wlan0
driver=nl80211
ssid=xxxxxxxx ⇒任意文字
country_code=DFS-JP
ieee80211d=1
ieee80211h=1
hw_mode=a
channel=140
chanlist=100 104 108 112 116 120 124 128 132 136 140
macaddr_acl=0
wmm_enabled=1
ieee80211n=1
ht_capab=[SHORT-GI-20][DSSS_CCK-40]
ieee80211ac=1
vht_capab=[MAX-MPDU-3895][SHORT-GI-80][SU-BEAMFORMEE]
wpa=2
wpa_passphrase=xxxxxxxx ⇒任意文字
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
--・hostapdの自動起動設定
# systemctl umask hostapd
# systemctl enable hostapd
# systemctl start hostapd
・dhcp-helperの自動起動設定
# systemctl enable dhcp-helper
# systemctl start dhcp-helper
後日、車庫の無線LAN APも perprouted を使ってルータからブリッジに構築しなおしました。
コメント