2006年6月25日アーカイブ

squidの設定をちょっと見直す。
やりたいことは、透過型proxyにすることと、snmp対応にして、cactiでグラフを見れるようにすること。

まずは、portsからのmake時に、--enable-ipf-transparentと--enable-snmp が有効になるようにすること。/usr/ports/www/squidで、make configとやると設定できる。
後は、/usr/local/etc/squid/squid.conf で、以下のあたりを修正する。
透過proxy 関係
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
snmp関係
acl snmppublic snmp_community public
snmp_access allow snmppublic localhost
snmp_access deny all
snmp_incoming_address 127.0.0.1
透過型proxyにするには、後は ipnatの設定(/etc/ipnat.rules)で、
rdr rl0 192.168.0.1/32 port 80 -> 192.168.0.1 port 80 tcp
rdr rl0 0/0 port 80 -> 192.168.0.1 port 3128 tcp
みたいなのを追加する。rl0 はLAN側のネットワークインターフェイスで、192.168.0.1 は LAN側のIP、3128はsquidのポート番号。
最初、これを
rdr rl0 0/0 port 80 -> 127.0.0.1 port 3128 tcp
と書いて、どうしてもうまくいかなかったのだが、内向きのIPを指定したらうまくいった。なんで駄目なのか私には理解できないのだが・・・。
後は、squidのログに以下のエラーが出る。
parseHttpRequest: NAT open failed: (13) Permission denied
/dev/ipnatのオーナーをsquidにしたら、エラーは出なくなった模様。
続いて、snmpの方。参考にしていたページだと、以下のように動作確認をしていた。
snmpwalk -p 3401 localhost public .1.3.6.1.4.1.3495.1.1
しかし、これだとsquidのログに
Failed SNMP agent query from : 127.0.0.1.
と言うエラーが出てうまくいかない。
いろいろ試した結果、
snmpwalk -v 1 -c public -m /usr/local/etc/squid/mib.txt localhost:3401 .1.3.6.1.4.1.3495.1
のようにやると、うまく行ったようだ。
これで、snmp経由でいろいろ取れるようになったはずだけど、cactiの方に入れる方法が良くわからないので、今日はここまで。
fletsに繋ぐときに、マルチセッションで繋ごうと思うと、flets用のルーティングテーブルは手で編集してあげないといけない。
しかし、fletsさんが設定を結構変えてくれるので、追いかけるのが大変だ。
今回、fletsのルーティングテーブルがhttp://routing.flets/routing.htmlに書かれていることを知ったので、そこからppp.conf用の設定を生成できるようにしてみた。

ルーティングテーブル生成スクリプト
#!/bin/sh
fetch http://routing.flets/routing.html
/usr/local/bin/perl mkroute.pl
ルーティングテーブル生成スクリプトが呼び出すperlスクリプト
#!perl

open(F, "routing.html");
while() {
    if (/^Route[0-9]/) {
 @l = split(",", $_);
 print " add $l[1] $l[2] HISADDR\n";
    }
}
手抜きだけど、とりあえずの用途にはいけるのではないでしょうか。
2006年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

このアーカイブについて

このページには、2006年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2006年6月16日です。

次のアーカイブは2006年6月28日です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1