[玄箱]PocketじゃないWifiを作る。

今日からちょっとの間、実家に来ております。

その間、「ネット環境がない」ということで、最近流行のPocketWifi…を準備したかったのですが、諸般の事情により入手が困難のため、自分でそれらしいものを作ってみることにしました。

写真:玄箱+FON+EMobile D22HW

この一式を家族に見せたところ「NASでネット?」というポカーンな印象でしたが、玄箱をセットアップしていくうちに、玄箱ルーターが出来上がりました。

玄箱の中身はDebian lenny (kernel 2.6.25)にし、D22HWをUSBポートに差すと以下のように認識されるようにカーネルを再構築しました。

usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1

あとは、pppのponコマンドから、emobileというpeerで接続されるよう、以下のように設定します。

[/etc/ppp/peers/emobile]
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/emobile"
debug
/dev/ttyUSB0
115200
defaultroute
noipdefault
user "em"
remotename emobile
ipparam emobile
usepeerdns
[/etc/chatscripts/emobile]
# ispauth PAP
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
# ispnumber
OK-AT-OK "ATDT*99***1#"
# ispconnect
CONNECT \d\c
# prelogin

# ispname
# isppassword
# postlogin

# end of pppconfig stuff

あとは、コマンドで以下のように入力するとUSBに差したEMobile D22HWからダイヤルアップにて接続されます。

root # pon emobile

で、このままだとLAN内のPCがこのNASへルーティングを向けてもネットができないので、簡単なNATを施します。natrouter.shとかにして、すぐコマンドを適用できるようにしてみるのもアリです。

[natrouter.sh]
#!/bin/sh

iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -s [NASを含むネットワークアドレス]/24 -o ppp0 -j MASQUERADE
iptables -A FORWARD -o ppp0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

あとは、簡易的にDHCPサーバを構成するために、dhcp3-server をインストールします。

root # apt-get install dhcp3-server

dhcpdの設定をします。

[/etc/dhcp3/dhcpd.conf]
ddns-update-style none;
option domain-name "mobilewifi.local";
default-lease-time 86400;
max-lease-time 172800;

subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.101 192.168.11.150;
option domain-name-servers 8.8.8.8 , 8.8.4.4;
option routers 192.168.11.1;
option broadcast-address 192.168.11.255;
}

※DNSはもう、GoogleのpublicDNSにお任せ…。(w

あとは、dhcpを起動すれば、LAN内でIPとかゲートウェイ・DNSの設定がdhcpにより割り振られるようになります。

root # /etc/init.d/dhcp3-server start

そんなこんなで、設定後問題もなくいつものようにネットしています。

速度はやっぱり自宅にいるよりは遅いですが(300kくらい)まったくつながらないよりはましでしょうか。

久しぶりに為になった玄箱セットアップでした。