Ubuntu 12.10 を無線LANルーターにする

このまえ泊まったホテルが、部屋に無線LANがなかったのですが、Galaxy Nexus を無線LAN で使いたかったので、Ubuntu 12.10 が入った PC を無線LANルーターにしてみました。

hostapd のインストール

# apt-get install hostapd
# zcat /usr/share/doc/hostapd/examples/hostapd.conf.gz > /etc/hostapd/hostapd.conf
# vi /etc/hostapd/hostapd.conf

hostapd.conf は ssid, wpa, wpa_passphrase あたりを設定すれば良いでしょう。

# vi /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"
# service hostapd start

DHCP サーバーのインストール

# apt-get install isc-dhcp-server
# vi /etc/dhcp/dhcpd.conf
        ...末尾に追加...
subnet 192.168.11.0 netmask 255.255.255.0 {
  range 192.168.11.10 192.168.11.254;
  option domain-name-servers 8.8.8.8;
  option routers 192.168.11.1;
  default-lease-time 600;
  max-lease-time 7200;
}

# vi /etc/default/isc-dhcp-server
INTERFACES="wlan0"

dhcpd.conf の 192.168.11.x は適当なアドレスです。上の例では PC が 192.168.11.1 で、192.168.11.10〜192.168.11.254 の範囲からIPアドレスを割り当てます。

# ifconfig wlan0 192.168.11.1 netmask 255.255.255.0
# service isc-dhcp-server start

wlan0 から eth0 へパケット中継

# sysctl -w net.ipv4.ip_forward=1
# iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o eth0 -j MASQUERADE

以上で Galaxy Nexus から無線LAN経由でホテルのネットワークが使えるようになりました。 小型の無線LANルーターが2000円くらいで売ってるみたいなので買おうかと思ってたんですが、しばらくこの方法でいってみます。