IPマスカレード: ノートPCからも外へつなぐのじゃ
IPマスカレードはプライベートネットワーク上のPCを外部ネットワークにつなぐために
使うっす。本来はもっといろいろできるものだけどここでは外につなぐことだけをする
っす。じつのところDebian流のやり方はわからなかったっす。
ここではJFの
Linux IP Masquerade mini HOWTOのやり方でやるっす。
IPマスカレードテスト
まず、IPマスカレードをやってみるっす。
# echo 1 > /proc/sys/net/ipv4/ip_forward
# ipchains -P forward DENY
# ipchains -A forward -s 192.168.0.1/255.255.255.0 -j MASQ
このあとノートPCからインターネットが見れたら成功っす。
そのままこの設定を/etc/ipchains.rulesに保存するっす。
# ipchains-save > /etc/ipchains.rules
/etc/sysctl.conf
つぎにsysctlで起動時に/proc/sys/net/ipv4/ip_forwardが設定されるようにするっす。
/etc/sysctl.confに以下を追加するっす。
net/ipv4/ip_forward=1
/etc/init.d/packetfilter
起動スクリプトpacketfilterを作るっす。
#!/bin/sh
[ -f /etc/ipchains.rules ] || exit 0
case "$1" in
start)
echo -n "Turning on packet filtering: "
/sbin/ipchains-restore < /etc/ipchains.rules || exit 1
echo "."
;;
stop)
echo -n "Turning off packet filtering: "
/sbin/ipchains -X
/sbin/ipchains -F
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
/sbin/ipchains -P forward ACCEPT
echo "."
;;
*)
echo "Usage: /etc/init.d/packetfilter {start|stop}"
exit 1
;;
esac
exit 0
Debianのパッケージルールではstartとstop以外にもrestart、reload、
force-reloadを作る必要があるけどとりあえずこれだけあれば大丈夫っす。
作ったらrcconfで起動時に起動するよう設定するっす。
modules
デフォルトの設定だけではftp、irc、realplayerとかがプライベート
ネットワークからはつながらないっす。そこでそうするための
カーネルモジュールをロードするようにするっす。
Debianでは/etc/modulesに起動時にロードするモジュールを1行ずつ書き込むこと
になってるっす。
ip_masq_ftp
ip_masq_irc
ip_masq_raudio
これで再起動するたびに自動でモジュールが読み込まれるっす。
再起動してノートPCからインターネットでftp、realplayer、ircが
つながったらOKっす。
これでダイアルアップルータの設定は終りっす。
追記
だいたい流儀がわかったっす。
/etc/networks以下でやるといいっす。
ip_forwardは/etc/network/optionsの「ip_forward=no」を「ip_forward=yes」に
するっす。
ipchainsの設定は/etc/network/interfacesに以下を追加するっす。
これで起動時に読み込むっす。
up ipchains -F
up ipchains -P forward DENY
up ipchains -A forward -s 192.168.0.0/255.255.255.0 -j MASQ
/etc/init.d/pacetfilter、/etc/ipchains.rulesはいらないし
/etc/sysctl.confに書かなくてもいいっす。
さらにipmasqというパッケージがあることも発見したっす。
でも使い方がわからないっす。
Copyright (c) 2000
ichiyama ryoichi,
All Rights Reserved.