UbuntuノートPCを無線LANのソフトウェアルータにするとなかなか便利。
Windows PCの場合、USB接続の無線LAN子機と専用ソフトウェアを併用して、PCを無線LANルータとして機能させることができる製品があります(例:バッファロー WLI-UC-GNMなど)。
単体の無線LANルータが無い環境で、無線LANでしかネットにつながらない機器を利用したいという場面において、地味に便利だったりします。
昨今ではその種のUSBアダプタが1,000円未満で買えたり、親機モードと子機モードの自動切り替え、更には両モードの同時利用までできたりします。すごいですなぁ。
そういった機器を使いながら、「はて?無線LAN内蔵のノートPCならアダプタ要らず?」ということに思い至り、調べてみました。
手元のノートPCで使えるOSはUbuntu、ChromeOS、Windows 7。UbuntuというかLinuxなら事例が多々見付かったので、諸先輩方の情報を手本にうまくいきました。以下、備忘録として。設定ファイルの操作にはroot権限が必要なので、sudoコマンドを利用しました。
無線LANの準備
Ubuntuのデスクトップ右下にあるネットワークのアイコンからメニューを出して、無線LANが接続中であれば、それを切断します。自動接続を解除しておくと良いかも。
hostapdの導入〜設定
他の機器から無線LANでの接続を受け付けるため、Synapticパッケージマネージャで「hostapd」をインストールします。
設定ファイルはできないので、ひな形「/usr/share/doc/hostapd/examples/hostapd.conf.gz」を「/etc/hostapd/hostapd.conf」として展開して、該当項目を下記のように設定します。
driver=nl80211
ssid=任意の文字列
hw_mode=b
channel=1
wpa=1
wpa_passphrase=任意の文字列
hw_modeとchannelを設定しているのは、拙宅では規定値で動作しなかったためです。環境によっては設定不要かも知れません。
サービス(デーモン)として動かすため、「etc/default/hostapd」の「DAEMON_CONF」に「/etc/hostapd/hostapd.conf」を設定します。但し、自動起動させたくないので、「sudo update-rc.d hostapd disable」で無効にしました。
dhcp3-serverの導入〜設定
接続してきた機器に動的IPアドレスを割り当てるため、Synapticパッケージマネージャで「dhcp3-server」をインストールします。
「/etc/default/isc-dhcp-server」で「INTERFACES="wlan0"」を設定します。
「/etc/dhcp/dhcpd.conf」の末尾に下記の設定を追加します。
subnet 192.168.99.0 netmask 255.255.255.0 {
range 192.168.99.0 192.168.99.254;
option domain-name-servers 8.8.8.8;
option routers 192.168.99.1;
}
ufwの設定
ファイアウォール設定ツール「ufw」の設定を調整します。まず、無線LANと有線LANの間の中継を有効にするため、「/etc/ufw/sysctrl.conf」の「net/ipv4/ip_forward」に「1」を設定します。
次に「/etc/ufw/before.rules」の先頭(冒頭の注釈の直後)あたりに下記の設定を追加します。
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.99.0/24 -o 3th0 -j MASQUERADE
COMMIT
「sudo ufw disable」で一旦解除して、すぐに「sudo ufw enabled」を実行。
動作確認
上記の手順が終わったら、一度、Ubuntuを再起動させます。再起動後に無線LANの接続ができている場合は、それを切断しておきます。
無線LANが切れた状態になったら、コマンドラインで「sudo ifconfig wlan0 192.168.99.0 netmask 255.255.255.0」を実行して、無線LANルータとしてのIPアドレスを割り当てます。
「sudo service isc-dhcp-server start」を実行して、DHCPによるIPアドレスの割り当てを可能にします。
「sudo service hostapd start」を実行して、無線LANルータとして機能させます。
他の無線LAN機器から、hostapdで設定したSSIDへ接続して、IPアドレスを取得できることを確認します。
追記
ノートPCの機種によっては無線LANルータ化できません。搭載しているチップセット毎に動作モードが決まっていて、アクセスポイントモードで動かないものがあります。その場合には内蔵の無線LAN機能を諦めて、該当モードで使えるUSB子機を挿して使う必要が生じます。この辺りは別の記事として記録しておこうかと。ちなみに、Dynabook SSはルータ化できましたが、Let't Note W5はできませんでした。
コメント
You can follow this conversation by subscribing to the comment feed for this post.