Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2011-12-15 [長年日記]
_ [Linux] nat/conntrack as conntrack-tools
Debian GNU/Linux で、NAT を扱う場面はいろいろある。私のNoteはLXCで複数のインタフェースを扱えるようにするのに、NATを使っている。一般的には、IPv4のアドレスを節約するための NAT、LVS(Linux Virtual Server)で使う、NATなど用途は広い。
本エントリは、netstat-natを補完するものです。conntrack as conntrack-tools について、書いていましたが、
$ cat /proc/net/ip_conntrack $ cat /proc/sys/net/ipv4/netfilter/ip_conntrack_countの内容と同じような出力を conntrack コマンドで見ることができます。あと、ぼーっと conntrack -E でテーブルの更新情報をみるのも楽しいかもしれません。
$ cat /proc/sys/net/nf_conntrack_max 65536この設定は、大規模な同時接続数としては少ない。netfilterのFAQによると、64MBで4096コネクションなので、8GBだと52万コネクションぐらいになる。これはメモリに常駐する管理エリアである。
# conntrack -S entries 89 searched 1078 found 62150 new 15991 invalid 868 ignore 1375 delete 22629 delete_list 10703 insert 4066 insert_failed 0 drop 0 early_drop 0 icmp_error 865 expect_new 0 expect_create 0 expect_delete 0 search_restart 0
# conntrack -C 89バケツ
別の方法として、起動時にモジュール組み込みでバケツ(ハッシュ領域)の指定ができるようだ。効率はそれなりに良さそうなのだが、再起動せずに変更できるのだろうか。また困ったから、大きくしたい時にサービスを止める必要があるとすると辛いかも。
conntrackdこのdaemonがあれば、コネクショントラックを複製できるので fail over の時間が早くなるのだが、仮想IPの管理を運用がしっかりと握らないといけない。
iptstatenatの内容をtopのような形式で表示してくれるプログラム。いまのコネクション情報を見るのによいが、大規模な環境だと、役立つかなあ。ないよりはあった方が良いけど。ものすごいエントリー数になりそうなので、具体的になにができるだろうか。