hirax.net::TuboLinux3.0でIPマスカレード::(1998.12.17)

TuboLinux3.0でIPマスカレード  share on Tumblr 

CATVでインターネット

-CATVでインターネット-
 家がCATVインターネット接続環境になった。家庭内のLANと外部を繋ぐために、IPマスカレード用のサーバーを用意したい。そこで、古いPCにRedHatLinux4.2をインストールする(つもりだった)。
インストールしたPCの情報は以下の通り。
  • GraphicBoard DiamondStealth3D 2000 (S3 Virge)
  • EtherCard Corega PCI-T
 RedHat4.2のカーネルそのままでは、EtherCard Corega PCI-Tの認識ができなかった。情報を探すと
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/news/fj.os.linux/15328
http://www.lares.dti.ne.jp/~gaako/linux_12.html
http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html
に辿り着く。結局、NE2000-PCI互換のボードとして認識できるようである。

 ところが、TurboLinux3.0を近所の本屋で買ってしまった。これなら、CoregaPCI-Tの認識は自動的に終了してしまう。フキ出版 前原輝雄著の「新版Linuxでインターネット」と
http://www.fureai.or.jp/~fukiage/
の「TurboLinuxでのIPマスカレードのインストール」を参考に設定する。
/etc/rc.d/rc.localでmodprobeを使ってIPマスカレードを組み込む。

modprobe ip_masq_quake
modprobe ip_masq_Vdolive
modprobe ip_masq_cuseeme
modprobe ip_masq_raudio
modprobe ip_masq_irc
modprobe ip_masq_ftp

を/etc/rc.d/rc.localに追加する。
そして、ipfwadmを実行するスクリプトファイルを作成する。/home/sbin/にipmasqというスクリプトファイルを作る。

以下がその内容である。

#!/bin/sh

case "$1" in
start)
    /sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
     /sbin/ipfwadm -F -p deny
     /sbin/ipfwadm -I -p accept
     /sbin/ipfwadm -O -p accept
     echo "Firewall & masquarading rules set"
     ;;
 stop)
    /sbin/ipfwadm -F -f
     /sbin/ipfwadm -I -f
    /sbin/ipfwadm -O -f
     ;;
 *)
   echo "Usage:ipmasq {start|stop}"
    exit 1

esac

exit 0

そして、
chmod u+x /home/sbin/ipmasq
としておく。

 これで
/home/sbin/ipmasq start
でスタート
/home/sbin/ipmasq stop
でストップできる筈だった。

 しかし、何故かうまくいかない。ところが、linux-mailinglistで同じ問題が議論されていた。そこで、その中でまとめられていた対策を行う。

cat /proc/sys/net/ipv4/ip_forward
をすると、0という結果になる。これが、まずいというので、
echo 1 > /proc/sys/net/ipv4/ip_forward
で1にしてやる。すると、何の問題もなく動くようになる。

 結局、/etc/rc.d/rc.localに
#dynamic ip-adress enable
echo 1 > /proc/sys/net/ipv4/ip_forward

を記述する。

 Windows95/98マシンの方では、GatewayのアドレスとしてにLinuxボックスの内部IPアドレスを指定する。

この記事と関係がある他の記事