Counter: 9785, today: 1, yesterday: 1

kumaさんのmirrorです。元ネタはhttp://linucha.s25.xrea.com:8080/pukiwiki.php?%5B%5BZaurus%A4%F2%A5%EB%A1%BC%A5%BF%B2%BD%5D%5D

です。

奮闘記は

http://nattoumaruo.sakuratan.com/e148.html

ルータ化して何ができるか?

普通、AirH"や@FreedなどPHS定額サービスは、グローバルアドレスをDHCPでリースしてくれるのですが、出先用のWindow2000を入れたPCはLibrettoL1 128MBといった非力マシンなので、personal firewallやantivirus系のapplicationを入れると更に遅くなって耐えがたい状態に...。そこで、リナザウをナローバンドルータ化して安心モバイルインターネットをしようといった試みである。 Linuxはkernel2.4系からiptable(昔はipchain)を使ったkernel(module)でのルーティングをサポートしている。要は、OSの中心部で電文を拾うか捨てるかといったことができるのです。 例えば、アプリケーションレイヤやデバイスドライバレイヤでフィルタリングをかけると、それよりも下位レイヤでの脆弱性を突かれてしまった場合どうにもならない(hotfixを待つしかない)といったことになってしまいます。 とにかく打たれ強いリナザウを楯にしてネットに繋ごうといった計画です。

zaurusをルーター化する。

1.NETFILTERが有効化されているカーネルか確認する。

C760〜C860は、標準カーネルでNETFILTERが有効化されているので、カーネルの入れ替えは不要です。 C700,B500は、カーネルを入れ替える必要があります。 tetsuさんのホームページ http://tetsu.homelinux.org/zaurus/kernel/ からスペシャルカーネルのv13b以降を持ってきて、カーネルの入れ替えを行う。

2.iptables_1.2.9_arm.ipk,iptables-modules_2.4.18-rmk7-pxa3-embedix.ipkをとってきてインストールする。

http://insel.heim.at/malediven/351901/zaurus/ から

iptables_1.2.9_arm.ipk
iptables-modules_2.4.18-rmk7-pxa3-embedix.ipk

の2つをインストールする。

3.モジュールのロードする。

必要なモジュールを組み込みます。#はrootで作業すること。

# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# modprobe ip_conntrack_ftp ;#必要に応じて
# modprobe ip_nat_ftp ;#必要に応じて
# modprobe ipt_MASQUERADE
# lsmod ;#モジュールが組み込まれたか確認

4.iptablesの設定

とりあえず、IPマスカレードのみ設定。

# /usr/local/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# /usr/local/sbin/iptables -t nat -L ;#iptables設定の確認。
# /usr/local/sbin/iptables-save > /etc/sysconfig/iptables

一度/etc/sysconfig/iptablesを作ったら、次からは

# /usr/local/sbin/iptables-restore /etc/sysconfig/iptables

で、以前の状態に戻せる。 =========

Zaurus側の設定は、とりあえず完了です。

5.クライアント側の設定(私はWindowsXP)

クライアント側設定をする。 ネットワークインターフェースが"SL series ...(NDIS 5)"の TCP/IPの設定で、デフォルトゲートウェイをザウルスのusbd0側のIP (通常は192.168.129.201)を設定して、DNSは、ブロバイダの指示のあるDNSを設定。

以上でとりあえず、ルータ化できます。クライアント端末からインターネットアクセスできるかやってみましょう。 うまくいかないようでしたら コマンドプロンプトで

> ipconfig /all
> route print

などで正しく設定されているか確認してください。

6.自動設定するようにする。

Zaurusを再起動すると元の状態に戻ってしまいますので、毎回3,4の作業が必要です。 面倒なので、自動で処理するようにシェルスクリプト化しましょう。

</etc/rc.d/rc.firewall>

#!/bin/sh
MODPROBE=/sbin/modprobe

#モジュールをロードする
$MODPROBE iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_nat_ftp
$MODPROBE ipt_MASQUERADE

#テーブルの条件を復元する
/usr/local/sbin/iptables-restore /etc/sysconfig/iptables
#--------------------------

実行属性をつける。

# chmod 700 /etc/rc.d/rc.firewall

自動実行するように、 /etc/ppp/ip-upにでも次の一行を追加する。

/etc/rc.d/rc.firewall

再起動の後確認。

# lsmod
# /usr/local/sbin/iptables -t nat -L
参考)チェインの概要図
    ┌─────────┐
    │    PREROUTING    │
    └────┬────┘
              ↓
    ┌─────────┐
    │ROUTEING DECISION │
    └────┬────┘
    ┌────┴───┐
    │                ↓
    │          ┌──────┐
    │          │  FORWARD   │
    │          └──┬───┘
    ↓                ↓
┌───┐      ┌──────┐
│INPUT │      │POSTROUTING ├→
└─┬─┘      └──────┘
    │                ↑
    │          ┌──┴───┐
    │          │   OUTPUT   │
    │          └──────┘
    ↓                ↑
┌──────────┴───┐
│     LOCAL PROCESS          │
└──────────────┘

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-09-12 (水) 12:34:36 (1599d)