「DebianマシンとAX530INでダイアルアップルーターをつくる」の編集履歴(バックアップ)一覧に戻る
DebianマシンとAX530INでダイアルアップルーターをつくる - (2009/06/04 (木) 20:36:32) のソース
LANすら引いてもらえない部室用のゲートウェイ 青雲館はEMOBILEの電波が届かないという糞仕様なので仕方なくWILLCOMの8x回線を使用。 中古のPCをルーターにする。これもRoosterなどのモバイルルーターを使えば楽なのだが、あいにくそんな金は無いのででびやん登場。 #contents *スペック等 OS: Debian Etch マシン: NE4/600D Pentium 3 600MHz(超古いw WWAN: WILLCOM AX530IN(超遅い LAN: 製造元不明のPCMCIA LANカード(多分NE2000互換モードで動作 *AX530INのダイアルアップ設定 "AX530IN Linux"でぐぐると「できない」って書いてあるページが見つけるけど、結論から言うとできた。 **pppconfigのインストール これだけでおk 他に必要なものはaptが勝手に入れてくれる # apt-get install pppconfig **ppp設定 # pppconfig [[このページ>>http://www.nilab.info/zurazure2/000184.html]]を参考にユーザ名、パスワード、電話番号などを設定 **接続テスト まずeth0を落としておく # ifconfig eth0 down ponコマンドで接続 # pon AX530INのLEDが両方とも緑に点灯したら、 # ifconfig ppp0が表示されて、IPアドレス等を受け取れていたら成功 Google先生などにpingを打ってみて接続を確認する。 **自動接続設定 再起動時や切断時に自動的に接続しにいくよう設定する &bold(){起動時} とりあえず/etc/rc.localにponを書き加えたら起動時に問題なくダイアルアップしてくれる # vim /etc/rc.local rc.local pon ←追記 exit 0 &bold(){切断時} モバイルインターネットというのは大抵長時間繋ぎっぱなしにしておくと勝手に切断されてしまうので、KeepAlive(= 自動再接続)する仕組みを用意しておく。 次のようなrubyスクリプトを/root/keepalive.rbとして保存 #highlight(ruby){{ #!/usr/bin/ruby connected = false fh = open("|ifconfig") while(!fh.eof) if fh.gets.include?("ppp0") connected = true break end end fh.close if !connected fh = open("|pon") fh.close sleep(3) fh = open("|pon") fh.close end}} ifconfigしてみて、ppp0が存在してなければ切断された、と見なして再接続を試みることにする。 ppp0は立ち上がっているけど繋がってない、って状態の面倒はとりあえず見ない。 ponを3秒あけてもう一度やってるのは、理由はよくわからんが一度poffした後にponすると、1回で繋がることが稀なため。数秒あけてもう一度ponすると大抵繋がるのでこうしといた。原因は後々探ることとして今はこれでいいことにする。 rubyスクリプトができたらcronに登録。 crontab -eで設定しても何故か反映されないので/etc/crontabを直接編集 # vim /etc/crontab 末尾に >&nowiki(){* * * * * root ruby /root/keepalive.rb} を追加。 これで一度poffしてからしばらく放置してみる。 1分くらい経って自動的に再接続されたら成功。 参考 [[UNIXコマンドを実行する>>http://www.openspc2.org/reibun/Ruby/unix/001/index.html]] *ルーター設定 **/etc/sysctl.confの編集 net.ipv4.conf.default.forwarding = 1 net.ipv4.ip_forward = 1 この2行を追加 [[参考>>http://team2ch.org/blog/?page_id=224]] iptablesが動作していればこの時点でルーターとしては一応動作するようになる。 ただしセキュリティが無いに等しいのでiptablesを細かく設定する。 **iptables設定スクリプトの作成 # vim /etc/iptables_router.sh *DHCPサーバの設定 *Web設定ツールの作成 やっぱこれやってなんぼでしょ。 作れるかどうか知らんけど。 &bold(){設定できる項目} -NAT設定 -DHCP設定 - ホテル行く前に外で2発イカせてもらいますた! http://ston.mlstarn%2ecom/52253850 -- てれれん (2009-06-04 20:36:32) #comment() このページへのアクセス数 total &counter() today &counter(today) yesterday &counter(yesterday) このページを参照したサイト(最新10件) #recent_page_ref() このページのタグ一覧 &tags_list()