表題のままなのだが、ubuntu 14.04 を無線LANアクセスポイントにしてみた。
無線LANルータが格安で販売されている今日このごろに、なんでこんなことやってるんだろというツッコミは後にして、前提条件など。
- OSはubuntu 14.04 でデスクトップ版です。
- 無線LANは、過去にamazonで買った格安のこいつ(WLI-UC-GNM)
激安だけど、802.11nまで対応していたはず。期待はしないけど。
- モードはブリッジモード。LANと別セグメントにしたくないから。
- ノートPC1台つながれば良いので、MACアドレス制限とか、ステルスSSIDとかでやってみる。
設定などなど
NetworkManagerを止める
後の方に気付いたけど、最初に止めた方が無難。
Desktop PCで、固定IP運用なので、そもそもこいつは必要ない。なので、NetworkManagerを止めて、手動での設定に移行する。
まず動いているか確認
|
$ ps ax | grep Net NetworkManagerってプロセスがいるか確認 |
いたら止める。
|
$ sudo stop network-manager |
自動起動を止める。
|
$ echo "manual" | sudo tee /etc/init/network-manager.override |
今は、こんな方法なんですね。
必要パッケージをインストールする
|
$ sudo apt-get install bridge-utils hostapd |
ブリッジのやつと、アクセスポイントのやつ
Network設定を手動に移行する
自分の場合は、既に手動になってた(NetworkManagerは起動してたけど)が念の為確認。
こんな感じの設定、ブリッジ設定もやってます。ミスるとネットワーク繋がらなくなるので要注意。設定終わったら再起動しといた方が無難。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
$ sudo cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.xxx.20 network 192.168.xxx.0 netmask 255.255.255.0 broadcast 192.168.xxx.255 gateway 192.168.xxx.1 dns-domain example.com dns-nameservers 192.168.xxx.1 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 |
無線LAN(wlan0とか)のブリッジは、hostapdがよろしくやってくれるのでここでは設定しない。
無線LAN(WLI-UC-GNM)を挿す
別にいつでもいいけど。iwconfigでwlan0(無線LANが1つの場合)が見えてればたぶんOK。
ドライバーとかもよろしくやってくれるはず。
|
$ iwconfig wlan0 IEEE 802.11bgn Mode:Master Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on |
ドライバっぽいやつら
|
$ lsmod |grep rt2 rt2800usb 27034 0 rt2x00usb 20742 1 rt2800usb rt2800lib 89076 1 rt2800usb rt2x00lib 55307 3 rt2x00usb,rt2800lib,rt2800usb mac80211 630653 3 rt2x00lib,rt2x00usb,rt2800lib cfg80211 484040 2 mac80211,rt2x00lib crc_ccitt 12707 1 rt2800lib |
hostapdの設定
やっと本番。
自分はこんな感じの設定にした。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
$ sudo cat /etc/hostapd/hostapd.conf # APインターフェイスのデバイス名 interface=wlan0 # ブリッジする場合のインターフェイス。 bridge=br0 # ドライバーインターフェイス名 # とりあえずこいつでよい模様。 # lsmodでロードされているモジュールかと思ったら違った。 driver=nl80211 # 動作モード (a = IEEE 802.11a、b = IEEE 802.11b、g = IEEE 802.11g) hw_mode=g # ieee80211n: IEEE 802.11n (HT) を有効にする。 # 使えるのか分からないがとりあえず設定 ieee80211n=1 # SSIDssid=YOUR_SSID # <- ここはSSID # 事前共有鍵 wpa_passphrase=YOUR_PASSPHRASE # <- ここはパスワード # SSIDをステルスにする ignore_broadcast_ssid=1 # MACアドレスによる子機のアクセス制限 # 0 = 拒否リストにないものは許可 # 1 = 許可リストにないものは拒否 macaddr_acl=1 # 許可するMACアドレスリスト accept_mac_file=/etc/hostapd/hostapd.accept # ようわからん wpa=2 channel=11 wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP |
MACアドレス許可リストファイルを作っておく。
|
$ echo "xx:xx:xx:xx:xx:xx" |sudo tee /etc/hostapd/hostapd.accept # "xx:xx:xx:xx:xx:xx" は自分のMACアドレスに置き換え。 |
パーミッションもきつめにする。
|
$ sudo chmod 600 /etc/hostapd/hostapd.conf $ sudo chmod 600 /etc/hostapd/hostapd.accept |
自動起動の設定 /etc/default/hostapdのファイルに、DAEMON_CONFを定義
|
$ cat /etc/default/hostapd |grep "^DAEMON" DAEMON_CONF="/etc/hostapd/hostapd.conf" |
デーモン起動
|
$ sudo service hostapd start * Starting advanced IEEE 802.11 management hostapd [ OK ] |
正しく起動すれば、きっと使えるはず。