2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi 4B アクセスポイント化&ルータ化メモ

Last updated at Posted at 2023-05-05

備忘録。

0. 導入

0.1. Raspberry Piアクセスポイント化&ルータ化のメリット

  • 外でノートPC、iPad、iPhoneからSSH・VNC接続できるようになる
  • モニタが無くても起動確認ができる
  • eth・wlan側のIPアドレスを固定化しなくて良い(複数の接続先を頻繁に切り替えて使うような運用、つまり外によく持ち出す場合便利)
  • アクセスポイント側のIPアドレスは固定化できるので、SSH・VNC接続時、楽

0.2. 前提条件

  1. Wi-Fiが有効化されていること
  2. 無線LAN接続が既に設定済みであること

0.3. システム情報

モデル:Raspberry Pi 4 Model B Rev 1.5
OS:Debian GNU/Linux 11 (bullseye)

$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
$ cat /proc/cpuinfo
processor	: 0
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 1
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 2
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

processor	: 3
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3

Revision	: d03115
Serial		: 10000000226b1d94
Model		: Raspberry Pi 4 Model B Rev 1.5

1. アクセスポイント用のインターフェース設定

1.1. Macアドレス確認

$ iw dev
phy#0
        Unnamed/non-netdev interface
                wdev 0x2
                addr ba:27:eb:71:2f:5d
                type P2P-device
                txpower 31.00 dBm
        Interface wlan0
                ifindex 3
                wdev 0x1
                addr b8:27:eb:bd:72:22
                ssid Extender-G-80FC
                type managed
                channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
                txpower 31.00 dBm

1.2. インターフェース追加

$ sudo iw phy phy0 interface add ap0 type __ap
$ sudo ip link set ap0 address b8:27:eb:bd:72:22

1.3. 設定の永続化

/etc/udev/rules.d/99-ap0.rules
SUBSYSTEM=="ieee80211", ACTION=="add|change", ATTR{macaddress}=="b8:27:eb:bd:72:22", KERNEL=="phy0", \
  RUN+="/sbin/iw phy phy0 interface add ap0 type __ap", \
  RUN+="/bin/ip link set ap0 address b8:27:eb:bd:72:22"

1.4. アクセスポイント化に必要なソフトウェアのインストール

$ sudo apt install -y hostapd dnsmasq

1.4.1. DHCPサーバ設定(dnsmasq)

/etc/dnsmasq.conf
interface=ap0
dhcp-range=192.168.200.100,192.168.200.150,255.255.255.0,12h
server=192.168.200.1

1.4.2. DHCPクライアント設定(dhcpcd)

/etc/dhcpcd.conf
interface ap0
static ip_address=192.168.200.1/24
nohook wpa_supplicant

1.4.3. アクセスポイント化設定(hostapd)

/etc/hostapd/hostapd.conf
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
interface=ap0
driver=nl80211
ssid={Your AP SSID}
hw_mode=g
country_code=JP
channel=11
ieee80211d=1
wmm_enabled=0
macaddr_acl=0
auth_algs=1
wpa=2
wpa_passphrase={Your AP password}
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

1.4.4. 有効化・再起動

$ sudo systemctl unmask hostapd.service
$ sudo systemctl enable hostapd.service
$ sudo systemctl restart dhcpcd.service
$ sudo systemctl restart hostapd.service
$ sudo systemctl restart dnsmasq.service

この時点でスマホやタブレット、PCなど無線LAN接続できる端末からアクセスポイントに接続ができる。確認用にApacheなどをインストールして(sudo apt install -y apache2)、http://192.168.200.1 でアクセスし確認すると分かりやすい。

2. ルータ化設定

$ sudo sysctl -w net.ipv4.ip_forward=1
/etc/sysctl.d/routed-ap.conf
net.ipv4.ip_forward=1

2.1. IPマスカレードの有効化

$ sudo iptables -t nat -A  POSTROUTING -o wlan0 -j MASQUERADE

2.2. 設定の永続化

インストールを実行するとTUIで現在設定を保存するか聞かれる。<Yes>を選択しEnter。

$ sudo apt install -y netfilter-persistent iptables-persistent
$ sudo netfilter-persistent save
$ sudo shutdown -r now

参考文献

2
5
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
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?