RaspberryPIでwifiルータ で、Wi-Fiルータを構築
□資機材
使用したのは初代のRaspberryPiです。
初代のRaspberryPiには、無線LAN機能はありません。
なので、USBの無線LANアダプタを使用します。
□使用するソフト
hostapdを使用してWi-Fiの基地にします。
1 パッケージのインストール
sudo apt-get install hostapd dnsmasq isc-dhcp-server iw rng-tools
2 ネットワークの設定
sudo vi /etc/network/interfaces
以下の設定を追加
auto eth0
iface eth0 inet manual
address 192.168.0.112
netmask 255.255.255.0
gateway 192.168.0.1
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
#wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address 192.168.2.1
netmask 255.255.255.0
3 dhcpサーバの設定(1)
sudo vi /etc/dhcp/dhcpd.conf
以下を設定ファイルに追加
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.10 192.168.2.50;
option broadcast-address 192.168.2.255;
option routers 192.168.2.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;
}
4 dhcpサーバの設定(2)
sudo vi /etc/default/isc-dhcp-server
以下を変更する
INTERFACES="wlan0"
5 dhcpサーバ起動設定
isc-dhcp-server起動
$ sudo service isc-dhcp-server start
起動設定
$ sudo update-rc.d isc-dhcp-server enable
6 Wi-Fi APの設定
$ sudo vi /etc/hostapd/hostapd.conf
ファイルはないので、新規に作成する。
interface=wlan0
driver=nl80211
ssid=mynet
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=raspberry
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
deriverの記述に注意する
今回、使用したのはbuffaloのアダプタを使用しました。
demsgで確認するとrt2800usbでした。
その場合は、nl80211にすると認識しました。
7 ルーティング設定(1)
ルータなので、マスカレードの設定が必要です。
$ sudo vi /etc/sysctl.conf
以下のコメントアウトを省きます。
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
8 ルーティングの設定(2)
$ 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
$ sudo iptables-save | sudo tee /etc/iptables.ipv4.nat
$ echo 'pre-up iptables-restore < /etc/iptables.ipv4.nat' | sudo tee -a /etc/network/interfaces
9 hostapの起動
$ sudo service hostapd start
起動設定
$ sudo update-rc.d hostapd enable
10 再起動
エラーが出ていなければ、再起動する。