LoginSignup
1
1

Raspberry Pi をWi-Fiルーターにする覚書

Last updated at Posted at 2023-05-17

はじめに

Raspberry Pi 4BをWi-Fiルーターにする覚書です。
OSはBusterのみ対応、Bullseyeで動くUSBドングルとWi-Fiルーター設定教えてください。
eth0 ⇒ wlan0ではなくて、wlan1 ⇒ wlan0な感じでルーティングします。
wlan1はWi-Fi USBドングルです。AC接続できる、RTL8812bUの入ったUSBドングルを使いますので、そのドライバインストールからです。

Wi-Fi USBドングルのドライバインストール

sudo apt update
sudo apt install -y bc git dkms build-essential raspberrypi-kernel-headers
git clone -b v5.6.1 https://github.com/fastoe/RTL8812BU_for_Raspbian
cd RTL8812BU_for_Raspbian
# sudo apt install -y bc git flex bison libssl-dev libncurses5-dev
# sudo wget https://raw.githubusercontent.com/RPi-Distro/rpi-source/master/rpi-source -O /usr/local/bin/rpi-source && sudo chmod +x /usr/local/bin/rpi-source && /usr/local/bin/rpi-source -q --tag-update
# rpi-source
make
sudo make install

ここまでやってリブートします。(コメントアウト部は環境によって必要だったり邪魔だったり。無しでやってダメなら入れて再トライ

Raspberry Piの設定

https://www.raspberrypi.com/documentation/computers/configuration.html
https://www.itmedia.co.jp/news/articles/2008/14/news042.html

sudo apt install hostapd
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo apt install dnsmasq
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent

dhcpcd.confの編集

sudo nano /etc/dhcpcd.conf

以下の行を追記
IPアドレス指定は自分の環境に合わせて

interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant


interface wlan1
static ip_address=192.168.1.***/24
static routers=192.168.1.***
static domain_name_servers=192.168.1.***

wlan1の接続先APをwpa_supplicant.confに書き込む

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
country=JP

network={
        ssid="SSID"
        psk="パスワード"
        key_mgmt=WPA-PSK
}

ルーティングの設定ファイルを作成

sudo nano /etc/sysctl.d/routed-ap.conf
# Enable IPv4 routing
net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
sudo netfilter-persistent save
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
interface=wlan0 # Listening interface
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
                # Pool of IP addresses served via DHCP
domain=wlan     # Local wireless DNS domain
address=/gw.wlan/192.168.4.1
                # Alias for this router
sudo rfkill unblock wlan
sudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
hw_mode=b
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
ieee80211ac=0
wmm_enabled=1
ieee80211d=1
country_code=JP
ieee80211h=1
local_pwr_constraint=3
spectrum_mgmt_required=1
wpa=3
wpa_key_mgmt=WPA-PSK
ssid=****
wpa_passphrase=*********   #パスワードは8文字以64文字以下
sudo nano /etc/sysctl.conf

 としてファイルを表示されたら、以下の行の先頭にある「#」を削除します。

net.ipv4.ip_forward=1
sudo nano /etc/default/hostapd

追記

DAEMON_CONF="/etc/hostapd/hostapd.conf"
sudo nano /etc/rc.local

「exit 0」とある行の前に、以下の内容を追記します。

iptables-restore < /etc/iptables.ipv4.nat
sudo systemctl reboot

さらにポートフォワーディングする

https://iairu.com/en/dev/iptables-portforward/
https://qiita.com/ponsuke0531/items/6b6255c0402e6ea4a950
https://blnlabs.com/redirect-network-traffic-using-raspberry-pi-in-10-min-2/

現在の
sudo iptables -t nat -L

sudo iptables -t nat -I PREROUTING 1 -p tcp --dport 8001 -j DNAT --to-destination 192.168.4.2:808
消すとき
iptables -t nat -D CHAIN N

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1