wlan0をLAN側、wlan1をWAN側としてrouter作るで。なぜ?と聞かれても、わしにもわからん。
使うラズパイ
理由は消費電力が比較的少ないから。
wan側に使うNIC(wlan1)
TP-Link WIFI 無線LAN 子機 11n/11g/b デュアルモード対応モデル 英語パッケージ TL-WN725N(EU)
理由は安いから。あと、DHCPとして使えない。ほんまか!?という、ネットの情報を信じてwan側にした。
lan側に使うNIC(wan0)
raspberry pi 3内臓のやつ
理由はTL-WN725Nにdhcp割り当てようとしたら、うまく動かなかった。
OSバージョン確認
- lsb_release -a
わしのやつ
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
WAN側のWiFiに接続
- sudo rfkill unblock wifi
- sudo nmcli radio wifi on
- sudo nmcli device set wlan1 managed yes
- sudo nmcli device wifi connect “4G-UFI-484“ password “1234567890“ ifname wlan1
SSID:4G-UFI-484とパスワード:1234567890はご自分の環境に合わせてください。
点検
- nmcli connection show
- ip a show wlan1
ここからは、wlan1をeth0に読み替えてもらったら、wan側が有線になります。
LAN側の設定
(1)open(パスワード無)の場合
- sudo nmcli connection add type wifi ifname wlan0 con-name wlan0 autoconnect yes ssid PiWiFi mode ap
(2)パスワード付きの場合
- sudo nmcli connection add type wifi ifname wlan0 mode ap con-name wlan0 ssid PiWiFi \wifi.channel 6 \wifi-sec.key-mgmt wpa-psk \wifi-sec.psk raspberry
(3)LAN側IPの設定
- sudo nmcli connection modify wlan0 ipv4.addresses 192.168.63.1/24 ipv4.method manual
- sudo nmcli connection modify wlan0 ipv4.dns “8.8.8.8 8.8.4.4“
PiWiFi、192.168.63.1/24や8.8.8.8 8.8.4.4の部分はご自分の環境に合わせてください。
(3)固定 IP を設定
- sudo nmcli connection modify wlan0 ipv4.addresses 192.168.63.1/24
- sudo nmcli connection modify wlan0 ipv4.method manual
192.168.63.1/24の部分はご自分の環境に合わせてください。
IPフォワーディングの有効化
- sudo apt install nftables(無ければ)
- sudo sysctl -w net.ipv4.ip_forward=1
- sudo nano /etc/sysctl.confに以下を追加、または、コメント外す。
- net.ipv4.ip_forward=1
- sudo sysctl -p
WAN(wlan1)からLAN(wlan0)へパケットフォワーディング
- sudo nft add table ip nat
- sudo nft add chain ip nat POSTROUTING { type nat hook postrouting priority 100 \; }
- sudo nft add rule ip nat POSTROUTING oif “wlan1” masquerade
nftablesのルールセットをファイルに保存
- sudo sh -c “nft list ruleset > /etc/nftables.conf”
- sudo systemctl enable nftables
DHCPサーバのインストールと設定
- sudo apt install dnsmasq(無ければ)
- sudo nano /etc/dnsmasq.conf(以下の行を追記)
- interface=wlan0
- dhcp-range=192.168.63.2,192.168.63.100,255.255.255.0,24h
- sudo systemctl restart dnsmasq
192.168.63.2,192.168.63.100,255.255.255.0,24hの部分は、ご自分の環境に合わせてください。
wifiにつながればOK!
お疲れさまでした。
sshでつないでたら切れちゃいます。
以上。