うちの MacBook は無線 LAN が壊れている。デバイスは認識するのだが、内部でアンテナが外れているのか、電波をほとんどつかまない。古いアクセスポイントがメディアコンバータにもなる機能を持っていたので、最近はこれを繋いでいた。しかしこれは暗号化が WEP しか使えないので、今のアクセスポイントにはゲーム機向けの設定で接続していたのだが、これでは LAN 内の他のコンピュータと連絡できないので不便なのだった。

そこで今回は、近頃出番が少なくなったネットブック IdeaPad S10-3 をルータにする、言い換えれば Wifi コンバータの役割を持たせてみた。つまり MacBook の LAN 端子からケーブルで IdeaPad の LAN 端子(eth0)に接続し、IdeaPad の無線 LAN(wlan0)を通してアクセスポイントへ、そして LAN 及びインターネットへ連絡させるというわけだ。


IdeaPad には openSUSE 12.2 をインストールしてある。ハードディスクは安い SSD に交換しているので、頻繁な書き込みが生じるスワップは作らず、ディスク全体を一つのパーティションにした。RAM は2GBにしているので、これで十分余裕がある。デスクトップ環境は XFCE を選択した。なお、このマシンでは、レジューム後に画面が正常に復帰しない場合がある。これはカーネルのブートオプションに hpet=disable highres=off nohz=off を渡すことで解消する(Kernel 3.0以降)。インストール後にブートローダの設定ファイルを編集してもいいが、DVD からインストーラを起動するときにこのオプションを付けておくと、インストール後のシステムへ自動で書き込んでくれるので手間が省ける。

さて本題に入ろう。まずは patterns-openSUSE-dhcp_dns_server をインストールしておく。あとの手順。

  • YaST→ネットワークの設定で管理の方法を NetworkManager から ifup を使用する従来の方法に切り替える。
  • 同じくネットワークの設定で、eth0 と wlan0 を適切に設定する。eth0 には IP アドレスとサブネットマスクを固定する(例:192.168.0.1 /24)。このとき、eth0 に「内部ゾーン」を、wlan0 に「外部ゾーン」を割り当てる。
  • 同じくネットワークの設定のルーティングタブで、「IP転送を有効にする」。
  • YaST→ファイアウォールでマスカレードを有効にする。
  • YaST→DHCP サーバカードの選択で eth0 を選択する。
  • 同じく→グローバル設定で MacBook に通知する情報として各種サーバのアドレスを適切に設定する。デフォルトゲートウェイは eth0 に設定した IP アドレスとする。ネームサーバも同じにした。
  • 同じく→ダイナミック DHCPで IP アドレス範囲を適切に設定する(例:192.168.0.2 - 192.168.0.254)。
  • 同じく→起動でサービスを開始させる。
  • YaST→DNS サーバフォワーダに、今回は Google の DNS 設定した(8.8.8.88.8.4.4)。
  • 同じく→起動でサービスを開始させる。

以上!