##概要
USB Wi-fiドングルを2つさして、Wi-fiクライアントとアクセスポイントを共存させようとしたら、意外と苦労したので記録として残そうと思います。
##構成イメージ
InternetRouter:192.168.1.1(アクセスポイント)
│
│
│wlan0:192.168.1.2(Wi-fiクライアント)
Raspberry Pi 2 Model B
│wlan1:192.168.2.1(アクセスポイント/DHCPサーバ)
│
│
端末:192.168.2.100~200(Wi-fiクライアント/DHCPクライアント)
ちなみに今回はルーティングさせないつもりです。
##前提条件
Raspberry Pi
- モデル : Raspberry Pi 2 Model B
- OS : Raspbian Stretch
$ uname -a
Linux raspberrypi 4.14.32-v7+ #1106 SMP Wed Apr 4 18:19:23 BST 2018 armv7l GNU/Linux
##事前準備
とりあえずのお約束作業です。
$ sudo apt-get update
$ sudo apt-get upgrade
##ネットワーク設定
地味にはまったところから。終わってみればあっけないほど単純でしたが。。。
編集するファイルは3つ。
- /etc/dhcpcd.conf
- /etc/network/interfaces
- /etc/wpa_supplicant/wpa_supplicant.conf
$ sudo vi /etc/dhcpcd.conf
初期構築時に以下の設定を追記しました。それはそれでちゃんと認識していたのですが・・・
作業前
・・・
interface wlan0
static ip_address=192.168.1.2/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
interface wlan1
static ip_address=192.168.2.1/24
static routers=192.168.2.1
static domain_name_servers=192.168.2.1
作業後
・・・
#interface wlan0
#static ip_address=192.168.1.2/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1
#interface wlan1
#static ip_address=192.168.2.1/24
#static routers=192.168.2.1
#static domain_name_servers=192.168.2.1
追記した分を全部コメントアウトしました。
$ sudo vi /etc/network/interfaces
IPアドレスを固定にするときは、/etc/dhcpcd.confに記載するという記述があったので、初期構築時は特に編集していませんでした。
作業後
・・・
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet static
address 192.168.2.1
netmask 255.255.255.0
gateway 192.168.2.1
正しいかわからないのですが、/etc/network/interfacesに設定を移しました。
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
初期構築時にssidとpskを編集し使用可能な状態でした。これは変更なし。
作業前後変わらず
network={
ssid="SSID"
psk="パスワード"
}
終わってみれば、/etc/dhcpcd.confでなく、/etc/network/interfacesにしただけです。正しいやり方かどうかはわかりませんが動作してます!
##アクセスポイントとDHCPサーバのインストールおよび設定
このあたりは書きつくされているのでサクッと流れだけ。。。
参考サイト:
https://qiita.com/mt08/items/f2e4f9d3b1ed00849e23
$ sudo apt-get install hostapd
$ sudo apt-get install isc-dhcp-server
$ sudo vi /etc/hostapd/hostapd.conf
interface=wlan1
driver=nl80211 # ドライバがnl80211ではないときはもうひと手間あるっぽい
ssid=PI
hw_mode=g
channel=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
$ sudo vi /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
$ sudo vi /etc/dhcp/dhcpd.conf
authoritative;
subnet 192.168.2.0 netmask 255.255.255.0{
range 192.168.2.100 192.168.2.200;
option routers 192.168.2.1;
option broadcast-address 192.168.2.255;
default-lease-time 600;
max-lease-time 7200;
}
$ sudo vi /etc/default/isc-dhcp-server
INTERFACES="wlan1"
$ sudo reboot