wafuの技術

技術習得の努力メモです。

RaspberryPIでWiFiルータ

RaspberryPIwifiルータ で、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 再起動

 エラーが出ていなければ、再起動する。