●IP Marsqueradeしてみました
IP マスカレード(IP Marsquerade)を使えば1台のLinuxマシンがインターネットに接続されて
いれば
そのマシンにLAN接続されている他のマシンも同時にインターネットを使
用することが可能になります。
例えばLinuxマシンとWindowsマシンが自宅にあれば、IP Marsqueradeする
ことにより
Linuxでppp接続してインターネットに接続すればLANでつながれている
Windowsマシンからも
同時にインターネットに接続することが出来ます。
今回私が試したのはKondara/MNU Linux 2000 とWindowsNT 4.0 WorkStation
です。
なお、IPアドレスは
Linux:192.168.20.1 (kenken)
WindowsNT:192.168.20.4 としています。
【サーバー側(Linuxマシン)の設定】
IP マスカレードするにはカーネルでサポートさせておく必要があるのです
がKondara2000やVine2.0なんかでは始めから使用できる状態になっています。
設定は比較的簡単でした。まず以下のファイルを編集します。
/etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME="kenken"
注意するのはFORWARD_IPV4=yesとすることで
す。
確認は
/proc/sys/net/ipv4/ip_forwarding が 1 となっていればOKです。
但し他のサイトやJFの「Linux IP Masquerade mini HOWTO」等にもRedHat系の
場合は
この設定でよいとあったのですが、どうも私の場合うまくいっていなかっ
たので以下のようにしました。
echo "1" > /proc/sys/net/ipv4/ip_forwarding
次に必要なモジュールを組み込みます。
必要なモジュールをひとつづつ組み込んでもいいのですが私の場合は
以下のようにして組み込んでいます。
for i in /lib/modules/2.2.16-5k/ipv4/*.o
do
/sbin/insmod $i
done
これでモジュールも組み込まれますのでlsmodで確認してください。
次に以下のコマンドを発行します
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 192.168.20.0/24 -j MASQ
これで192.168.20.X である全てのマシンが外部へ出て行くことが出来ま
す。
これらの設定を毎回行うのは手間なので /etc/init.d/rc.local に記述し
ておきます。
# for IP masquereda
for i in /lib/modules/2.2.16-5k/ipv4/*.o
do
/sbin/insmod $i
done
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -s 192.168.20.0/24 -j MASQ
これでサーバー側の設定は完了です。
(次ぎ)
クライアント側(WindowsNT / Linuxマシン)の設定へ
[へなちょこlinuxのコーナーへ]
[ホームへ]