raspberry pi 3Bでwifiアクセスポイントを作る

OS

pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

dnsmasq入れたんですがうまく動かず。。。。
/etc/dhcpcd.confを書き換えてもうまく認識されずで
結局isc-dhcp-serverと/etc/network/interfacesを使いました

構成
      ルータ      -           ラズパイ            -       wifi(ラズパイの)
 192.168.10.1     eth0-192.168.10.200      wlan0-192.168.11.1

※うちの場合ルータでラズパイのIP固定にしてます

apt install isc-dhcp-server hostapd

/etc/network/interfaces に追記

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.11.1
netmask 255.255.255.0
gateway 192.168.11.1

allow-hotplug eth0
auto eth0
iface eth0 inet dhcp

/etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=<SSID名>
country_code=JP
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=<パスワード>
rsn_pairwise=CCMP

/etc/default/hostapdに追記

DAEMON_CONF="/etc/hostapd/hostapd.conf"

/etc/dhcp/dhcpd.confに追記

authoritative;

subnet 192.168.11.0 netmask 255.255.255.0 {
   range 192.168.11.2 192.168.11.20;
   option broadcast-address 192.168.11.255;
   option routers 192.168.11.1;
   default-lease-time 600;
   max-lease-time 7200;
   option domain-name "local";
   option domain-name-servers 8.8.8.8, 8.8.4.4;
   }

/etc/default/isc-dhcp-serverを作ってコピペ

INTERFACES="wlan0"

自動起動の設定

systemctl unmask hostapd
systemctl enable hostapd
systemctl enable isc-dhcp-server

/etc/sysctl.confを変更

net.ipv4.ip_forward=1

iptablesの書き換え

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sh -c "iptables-save > /etc/iptables.ipv4.nat"

iptablesが起動時にうまく書き換えれなかったので
/etc/rc.localで起動時に書き換える

exit 0

↓

iptables-restore < /etc/iptables.ipv4.nat
exit 0

これでうまく動くはず
めっちゃ時間かかった

この記事が気に入ったらサポートをしてみませんか?