iptablesとnftablesで25万ルール詰め込む場合の話

iptablesはAPIが古い設計なので、フィルタルールの追加時には全データをユーザランドにコピーして、再ストアする動きをする。

そのため、ルール数が多くなるとフィルタルールの追加に時間がかかるようになる。

対して、Linuxの次期標準ファイアウォールアプリケーションとして開発されているnftablesはその点が解消されており、フィルタルールの追加が高速に行われるようになっている。

今日は25万個のルールを詰め込んでみて、その差を体感してみようと思う。

more…

CentOSとiptablesでper-packet loadbalance with coreemu

Linuxでパケット単位のロードバランスをしながら、coreemuの宣伝をします。

今回のキーワードは、 CentOS, coreemu, iptables, fwmark, loadbalance, per-packet loadbalance 辺りでしょうか。

Install coreemu for CentOS 6.3

さっくりインストールするので、いくつか現時点のハマりどころを書いておく。

基本的には、2.2.2. Installing from Packages on Fedora/CentOSを読みながら進みましょう。

  1. tkimgとlibevを先にインストールしておく必要があります。(EPEL使う場合は勝手に入るのでOK)
  2. SELINUXを無効にするか適切に設定しないとzebra(およびルーティングデーモン)が動きません
  3. ホスト側でiptablesを無効にするか空っぽにしておかないと、仮想リンク間のパケットが全部叩き落とされます。 iptables -F; /etc/init.d/iptables save とかで良いですかね。
  4. yumで入るtkのバージョンが古いので、仮想リンクの遅延等を設定しようとすると Error: Invalid command …
more…