raspberry pi os wlan0とwlan1でWiFi routerのやり方

wlan0をLAN側、wlan1をWAN側としてrouter作るで。なぜ?と聞かれても、わしにもわからん。

使うラズパイ

raspberry pi 3

理由は消費電力が比較的少ないから。

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でつないでたら切れちゃいます。

wan側について

以上。


よろしければチャンネル登録よろしくお願い申し上げます!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です