vine-users ML アーカイブ



[vine-users:069782] Re: Vine3.1 にてiptables-nat-O UTPUTが機能しない (解決)

  • From: "K.Tahara" <taharak@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:069782] Re: Vine3.1 にてiptables-nat-O UTPUTが機能しない (解決)
  • Date: Tue, 18 Jan 2005 12:47:54 +0900
田原@越谷です。
標題の件、解決しました。アドバイスを下さった皆様、ありがとうございました。

#症状
ブラウザとiptablesとsquidを同一マシンで動かしています。
Vine2.6(kernel-2.4.22-0vl2.15, iptables-1.2.7a-0vl1)のときには、
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A OUTPUT -p tcp --dport 80
  -m owner ! --uid-owner 23 -j REDIRECT --to-port 3128
とすることで、ブラウザのプロキシ設定をすることなく、squidを利用できた。
しかし、Vine3.1(kernel-2.4.26-0vl17, iptables-1.2.10-0vl2)では、
この方法でsquidを利用できなくなった。
pingでのテストで、natテーブルのOUTPUTチェインが機能していないことが分かった。

#解決法
カーネルのコンフィギュレーション、
CONFIG_IP_NF_NAT_LOCAL=y
として、カーネルを再構築した。

#行ったこと
カーネルのsrpmを入手して、
# rpm -ivh kernel-2.4.26-0vl17.src.rpm
とした。
/usr/src/vine/SOURCES/kernel-2.4.26-ppc.configを編集して、
# CONFIG_IP_NF_NAT_LOCAL is not set
となっていた行を
CONFIG_IP_NF_NAT_LOCAL=y
とした。その後、
# cd /usr/src/vine/SPECS
# rpm -bb kernel-2.4.26-vl.spec
として、出来たkernel-2.4.26-0vl17.ppc.rpm等を
# rpm -Uvh --nodeps --force *
とした。
新しいカーネルで起動した後、以下の2点を確認した。
(1)前記のiptablesのルールを設定して、ブラウザで外部ページを見たときに
/var/log/squid/access.log
が更新された(正常動作)。
(2)pingによるテストで、natテーブルのOUTPUTチェインが機能することを確認した。
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -F
# iptables -t nat -F
# iptables -t nat -A OUTPUT -p icmp -j DROP
# ping -c1 127.0.0.1 >/dev/null 2>&1; echo $?
1 <−−− 正常にDROPされた

#要望
Vine3.1のカーネルがアップデートされる際には、PPC版のコンフィギュレーションも
CONFIG_IP_NF_NAT_LOCAL=y
としていただけると助かります。
# kernel-2.4.26-0vl17.src.rpmを展開して出来たkernel-2.4.26-i386.configでは
# CONFIG_IP_NF_NAT_LOCAL=yとなっていました。
-- 
K.Tahara