ラズベリーパイ3のAP化

wpa_supplicant.confを名前を変えて使用しないようにする。【重要】

 
$cd /etc/wpa_supplicant
$sudo mv wpa_supplicant.conf wpa_supplicant.conf.org ファイルを退避
    

APアドレスの設定。

         
$sudo nano /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.100.1/24
    

ソフトのインストール

     
$sudo apt-get install hostapd dnsmasq -y
   

HOSTAPDの設定

$sudo nano /etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=home001
hw_mode=g
channel=4
wmm_enabled=0
macaddr_acl=0
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=12345678

$sudo nano /etc/default/hostapd
DAEMON_CONF=/etc/hostapd/hostapd.conf

DNSMASQの設定

              
confファイルを退避して新規に作成
$sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.origr
$sudo nano /etc/dnsmasq.conf
interface=wlan0
listen-address=192.168.100.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.100.50,192.168.100.79,255.255.255.0,24h



wlanとethを通す設定

                 
$INTERFACES="wlan0"
$sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
$sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1

iptables でルーティング、フォワーディングの設定(NAT設定)

$sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptablesをセーブします
$sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

HOSTAPDサービスの起動

   
$sudo systemctl start hostapd
エラーが出たら以下の手順を試す
$sudo systemctl unmask hostapd
$ sudo systemctl enable hostapd
$ sudo systemctl start hostapd

DNSMASQサービス起動を無効にする

hostapdの後に起動しないとエラーになるので、systemctlから/etc/rc.localに起動方法を変更する
$ sudo systemctl disable dnsmasq
dhcpサーバを遅延させて起動
$sudo nano /etc/rc.local
iptables-restore < /etc/iptables.ipv4.nat
sleep 10 && /etc/init.d/dnsmasq restart

再起動する