アクセスポイント設定のメモ

Linux で無線アクセスポイント環境を作るには、master mode に対応した無線 chip が必要。 USB 接続の Planex GW-USNano2 で無線 LAN アクセスポイントにすることができたので、その際の設定の流れと気付いた点をメモしておく。

ThinkPad X60s( shuttle XS35-V2 でも確認)に SSD を載せたものへ Ubuntu server 10.04 LTS (lucid 32bit) を入れた環境で試した結果だが、ubuntu に特化したことはないので他の distribution でも大丈夫だと思う。

追記1:64bit の Ubuntu server 10.04 LTS 環境で以下と同等の設定作業を行ったが、kernel panic を起こしてしまった。64bit に固有の問題なのかは不明。今後時間があれば原因究明と修正作業を行いたいが、とりあえず 32bit 環境であれば大丈夫ではないかと思う。

driver module

ちょろっと調べてみると GW-USNano2 で使われている chip は、Realtek の RTL8192CU のようだ。

lucid の kernel は現時点で 2.6.32 base で、RTL8192CU の driver modules (rtl8192cu) は入っていない。(ちなみに kernel 3.1.6 には入っている。module が最新かどうかは分からないけど...)

Realtek のサイトに行くと、driver & utilities 一式 が置いてある。これを用いれば ok 。

ダウンロードした zip file (RTL819xCU_USB_linux_v3.3.1_3083.zip) を展開すると、中には install.sh の他、document, driver, wireless_tools, wpa_supplicant_hostapd といったディレクトリがある。(document 内には、いろいろ設定に役立つ有用な情報の記述された pdf が入っている。)

unzip RTL819xCU_USB_linux_v3.3.1_3083.zip
cd RTL8188C_8192C_8192D_USB_linux_v3.3.1_3083.20111213/
ls

driver module をインストールするには、管理者権限で install.sh を実行するだけで良いはず。(実行すると tarball を伸長して、driver のコンパイルならびにインストールを行う。) ここまでで、GW-USNano2 を認識するようになるはず。

sh install.sh

なお driver module は、時々更新されているようなので、新しいものを取ってきて入れた方がいいかも。

wireless_tools, wpa_supplicant, hostapd

lucid に入っている wireless-tools (30~pre9), wpa_supplicant (wpasupplicant-0.6.9), hostapd (0.6.9) はいずれも少々 version が古い。また、上でダウンロードした zip ファイルには(おそらく)realtek の手が入ったものが内包されているので、それらに差し替えることにする。

まずは、lucid のそれらを uninstall (hostapd は default では入ってない)

dpkg -r wireless-tools
dpkg -r wpasupplicant
dpkg -r hostapd

wireless_tools

次に上で zip を展開した中の wireless_tools ディレクトリに入り、tarball を展開、make install する

cd wireless_tools
tar zxf wireless_tools.30.rtl.tar.gz
cd wireless_tools.30
make && make install

/usr/local/sbin/ に wireless tool 群(iwconfig 等)がインストールされる。

wpa_supplicant & hostapd

zip を展開したディレクトリ内の wpa_supplicant_hostapd ディレクトリに入る

cd ../../wpa_supplicant_hostapd

この中には、hostapd の設定ファイルのひな形や(多分 realtek の手が入っている)wpa_supplicant や hostapd の zip 圧縮ファイルが入っているので、この zip を伸長し、展開されたディレクトリに入る

unzip wpa_supplicant_hostapd-0.8_rtw_20111118.zip
cd wpa_supplicant_hostapd-0.8

この中の wpa_supplicant と hostapd ディレクトリに入り、それぞれ make && make install する

cd wpa_supplicant
make && make install
cd ../hostapd
make && make install

それぞれ /usr/local/sbin, /usr/local/bin にインストールされる。

設定ファイル hostapd.conf

予め package 内に用意されている rtl_hostapd_2G.conf や rtl_hostapd_5G.conf を適当に修正して利用すれば良い。

最初試した X60s には intel の無線 chip が載っているので、GW-USNano2 の interface は wlan1 になっていることに注意し、 とりあえず interface, essid, wpa_passphrase 辺りを修正して hostapd.conf という名前で保存。試しに

hostapd ./hostapd.conf -B

とすると、無線の基地局として外部から見えるようになるはず。 (shuttle XS35-V2 にも無線 chip Realtek 8188CE が内蔵されているが、素の lucid ではこの chip を認識しないので GW-USNano2 の interface は wlan0 になっている。ちなみに、この Realtek 8188CE を認識させるには、Realtek のサイトから driver 一式をダウンロードして make すればよい。)

dhcp server と routing

以降の設定は、もしかしたら便利なツールがあるのかもしれないけど知らないので、既知の技を使って設定する。

あとすべきことは、

  • wlan1 へのローカル IP 割り当て
  • ローカルネットワーク側の端末に割り振る dhcp server 設定
  • iptables で NAT 設定(IP masquerade)

そこでまず、dpkg で dhcp3-server を入れ /etc/dhcp3/dhcpd.conf を適当に記述しておいてから、

iwconfig wlan1 192.168.0.1
/etc/init.d/dhcp3-server start

これで無線側に繋がった機器に IP address が割り振られるはず。

あとは無線側(wlan1)から外部(例えば ppp0)への IP masquerade 設定等をすればよい。(iptablesによるNATLinuxでのアクセス制御辺りを参照)

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.0.0/24 -j MASQUERADE
Last modified:2013/06/04 10:41:33
Keyword(s):[Linux] [Ubuntu]
References:[アパートの server] [Linux関連その他] [Shuttle XS35-V2] [Ubuntu]