Dial Up Router with IP Masquerade & PPxP

 
Web sputnik.sakura.ne.jp

IP Masqueradeと、PPxPDial On Demandの機能を使って、Dial Up Routerを構築します。



IP Masqueradeの設定

まず、Networkにはきちんと繋がっているか確認です。
次に、KernelをConfigして、再構築します。 Networking Optionのポイントは、kernel-2.2.x なら、、

[*] Network firewalls
[*] IP: firewalling
[*] IP: transparent proxy support
[*] IP: masquerading
[*] IP: ICMP masquerading
[*] IP: masquerading special modules support
<M> IP: ipautofw masq support (EXPERIMENTAL)
<M> IP: ipportfw masq support (EXPERIMENTAL)
<M> IP: ip fwmark masq-forwarding support (EXPERIMENTAL)
のようなところを有効にしましょう。

無事に、新しいKernelでブートしたら、
# echo "1" > /proc/sys/net/ipv4/ip_forward

# /sbin/ipchains -P forward DENY
# /sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ

# /sbin/depmod -a
# /sbin/modprobe ip_masq_cuseeme
# /sbin/modprobe ip_masq_ftp
# /sbin/modprobe ip_masq_irc
# /sbin/modprobe ip_masq_quake
# /sbin/modprobe ip_masq_raudio
# /sbin/modprobe ip_masq_vdolive
最初の行は、パケットをフォワードするように設定するものです。また、/etc/sysconfig/network内の
FORWARD_IPV4=yes
を確認。
また、RedHat6.2以上(かな?)は、/etc/sysctl.conf内の
net.ipv4.ip_forward = 1
net.ipv4.ip_always_defrag = 1
も確認しましょう。

次の2行は、192.168.1.0以外のネットワークへのパケットフォワードを行わなくさせます。
残りは、必要なモジュールをロードします。これらを起動時に有効にするには、/etc/rc.d/rc.localに追加しましょう。

また、ICQ Masquerading for Linux というものもあります。ICQを使う人は、利用してみても良いでしょう。
ダウンロードしたら、展開後、、make、make installしてあげると、/lib/modules/{kernel-ver}/ipv4/ip_masq_icq.o にインストールされるので、先ほどのモジュールのロードに付け加えて、、
# /sbin/modprobe ip_masq_icq
としてあげます。



PPxPの設定

まず、PPxPがインストールされてなければ、インストールしましょう。 また、kernel-2.2.x では、userlinkの代わりにethertapを使うと良いと思いますので、IP MasqueradeKernel再構築の際に Network device supportセクションの

<M> Ethertap network tap
をモジュールで有効にしておき、/etc/modules.conf内に
alias tap0 ethertap
とでも、追加しておきます。


無事にインストールが済んだら、PPxPの設定には、qdialを使うと簡単にできます。
コンソール上では、
# ppxp
PPxP version 0.99120923
interface: tap0
ppxp>qdial
とするか、X上では、
# qdial
とすると、GUIな設定ツールが出てきます。双方とも直感的に操作できると思います。 この時、/etc/ppxp/conf/hogehogeというファイルが作成されますので 手で編集する場合は、コレをエディタで開きます。 こんな感じで良いかと思います。
source qdial
set MODE active
set AUTH.PASSWD chiba
set LOG.FILE chiba.log
set LINE /dev/ttyS0
set DIAL.TYPE Tone
set DIAL.LIST *******               #<<==プロバイダの番号
set AUTH.PROTO PAP
set SERIAL.MODEM generic
set IDLE.INIT 300
set IP.VJ no
set IP.RESOLV fix 
set IP.DOMAIN *********             #<<==プロバイダのドメイン
set IP.DNS ********** ***********   #<<==プロバイダから教えてもらったDNSサーバ
source filter01                     #<<==これを追加する
上記の、filter01を追加することで、不要なパケットをフィルタリングして、不要なダイアルを防いでくれたり、 autoモード(dial on demand)でたちあがってくれたりします。また、アナログモデムは初期化コマンド調べて ダイアル音は消しときましょうね。(^^;)

後は、
# ppxp 設定ファイル名 -C bye
とすると、PPxPが常に、ダイアルを待機するようになり、IP-Masqueradeが適切に設定されてるなら、 ネットワーク上のネットワーク設定の正しくなされたマシンならLinuxでもWinでもMacでも同時に、Internetへ接続できるようになります。 で、これも、/etc/rc.d/rc.localに追加しときましょう。



おまけ

うちで使ってる、mn128-miniVの初期化ファイル

64K
128K



上記全ての、/etc/rc.d/rc.local

/bin/echo "1" > /proc/sys/net/ipv4/ip_forward

/usr/bin/ppxp chiba -C auto

/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ

/sbin/depmod -a
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_raudio
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_icq









 ←back