先日道場の開催場所候補をお借りした時に無線LANの環境が特殊でVLANを構築しないとかも、という感じだったので対策を考えてみた。
丁度手元に使っていないRaspberry Pi 4Bが転がっていたのでこれを使って無線LANルーターを構築することに。
仮想デバイスの作成
sudo iw phy phy0 interface add ap0 type __ap
sudo ip link set ap0 address [wlan0と同じMACアドレス]
ここで iw dev
をして仮想デバイスの ap0
が作成されていることを確認。
その後設定の永続化をするために
sudo vim /etc/udev/rules.d/99-ap0.rules
で新規ファイルを作成して
SUBSYSTEM=="ieee80211", ACTION=="add|change", ATTR{macaddress}=="[wlan0と同じMACアドレス]", KERNEL=="phy0", \
RUN+="/sbin/iw phy phy0 interface add ap0 type __ap", \
RUN+="/bin/ip link set ap0 address [wlan0と同じMACアドレス]"
とし、リブートしてみたところ再起動後数秒はうまくいくのだけどもその後ap0
が消えてしまうので
別の方法を模索。(ここが一番時間かかった。。。)
最終的には HOME ディレクトリに内容を記載したap.shを配置して
vim ~/.config/labwc/autostart
として自動起動用のファイルを作成、
$HOME/ap.sh
とすることで解決。
仮想デバイスにアクセスポイント設定
nmcli con add con-name hotspot ifname ap0 type wifi ssid "[決めたSSID]"
nmcli con modify hotspot wifi-sec.key-mgmt wpa-psk
nmcli con modify hotspot wifi-sec.proto rsn
nmcli con modify hotspot wifi-sec.pairwise ccmp
nmcli con modify hotspot wifi-sec.psk "[決めたパスワード]"
nmcli con modify hotspot 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared
nmcli con modify hotspot ipv4.address 192.168.50.1/24
とルーター化をするために各種設定をして
nmcli connection up hotspot
とした。最後に
sudo vim /etc/sysctl.conf
内容は
/etc/sysctl.conf
net.ipv4.ip_forward=1 //コメントを外す
とコメントを外して最後に
sudo systemctl reboot --now
で無事機能していることを確認した。