Raspberry Pi 3 Model B+でブリッジモードで動作するWifi APを構築する
はじめに
前回の記事では、RaspberryPiを活用してCaptivePortal付きのWifiAPを作成しました。その際に、WifiアダプターをAP化するhostapdに加えて、DHCPサーバーであるisc-dhcp-server, DNSサーバーであるdnsmasqを導入し、いわゆるルーターモードで動作するWifiAPを作りました。今回の記事では、ブリッジモードで動作するAPを作ります。(接続するクライアントがeth0側のサブネットに直接つながっているように見えるモードです)
手順
初期設定
- brctlコマンドを有効化する為に、下記を入れておくと良いかもしれません(任意)
pi@raspberrypi:~ $ sudo apt install -y bridge-utils
Network Interfaceの設定
- eth0 (インターネット側)
- IP: 192.168.10.200
- Netmask: 255.255.255.0
- Gateway: 192.168.10.1
- DNS: 8.8.8.8
- br0 (eth0-wlan0ブリッジ用)
- IP: 192.168.10.201
- Netmask: 255.255.255.0
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
iface eth0 inet static
address 192.168.10.200
netmask 255.255.255.0
gateway 192.168.10.1
dns-nameservers 8.8.8.8
auto br0
iface br0 inet static
address 192.168.10.201
netmask 255.255.255.0
bridge_ports eth0 wlan0
hostapdの導入&設定
hostapdは一言でいうと、RaspberryPi上のWifiアダプターを親機化する為のソフトです。
pi@raspberrypi:~ $ sudo apt install -y hostapd
下記のように設定ファイルを書くことで、SSIDや認証方式、Wifiパスワード等が設定可能です。
interface=wlan0
bridge=br0
driver=nl80211
ssid=_TAGURO_SANZYOU
hw_mode=g
channel=8
wmm_enabled=1
macaddr_acl=0
ieee80211n=1
ht_capab=[HT40-][HT40+][SHORT-GI-20][SHORT-GI-40]
ieee80211ac=0
vht_capab=
ieee80211d=1
country_code=JP
ieee80211h=1
local_pwr_constraint=3
spectrum_mgmt_required=1
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=YOUR_PASSWORD
参考: https://qiita.com/JhonnyBravo/items/5df2d9b2fcb142b6a67c
設定が完了したら下記手順で有効化します。
pi@raspberrypi:~ $ sudo systemctl unmask hostapd.service
Removed /etc/systemd/system/hostapd.service.
pi@raspberrypi:~ $ sudo systemctl start hostapd.service
pi@raspberrypi:~ $ sudo systemctl enable hostapd.service
/etc/rc.localの編集
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# eth0の起動
ifup eth0
# br0の起動
ifup br0
# wlan0の省電力モードをOFFにする (不要かもしれない)
sudo iw dev wlan0 set power_save off
exit 0
動作テスト
設定に問題がなければ、/etc/hostapd/hostapd.conf
で指定したSSIDでWifiAPが有効になります。前回の記事では、RaspberryPi内にDHCPサーバーを構築していたので、RaspberryPiがWifi接続クライアントに対してIPアドレスの割り当てをしていました。今回は、ブリッジモードどして動作している為、RaspberryPiのeth0につながる上位のルーターのDHCPからIPアドレス割り当てを受けています。
Author And Source
この問題について(Raspberry Pi 3 Model B+でブリッジモードで動作するWifi APを構築する), 我々は、より多くの情報をここで見つけました https://qiita.com/xecus/items/11538c42ae3d63234f26著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .