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

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

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

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

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

more…

自宅サーバーのProxmox VE 4.4から5.1に仮想マシンを移行する話

我が家の自宅サーバーたちは、最近までProxmox VE 4.4で動作させていました。

今回、PRIMERGY TX1320 M2が3台揃ったので、Proxmox VE 5.1のリリースに合わせて移行しました。

多少のダウンタイムはあるものの、特段問題なく移行できたので、移行手順のメモを残しておきます。

まだの人は、前回の 自宅サーバーのProxmox VE 5.1 - 3 nodes cluster環境の構築 もあわせてご覧ください。

more…

自宅サーバーのProxmox VE 5.1 - 3 nodes cluster環境の構築

我が家の自宅サーバーたちは、最近までProxmox VE 4.4で動作させていました。

今回、PRIMERGY TX1320 M2が3台揃ったので、Proxmox VE 5.1のリリースに合わせて移行しました。

多少のダウンタイムはあるものの、特段問題なく移行できたので、構築手順のメモを残しておきます。

more…

phpIPAMを使ってIPアドレス管理を始めたい僕の二歩目

前回は phpIPAMをインストールして動作概要を確認 しました。

これだけだと死活監視とオートディスカバリー機能付きのIPアドレスの管理簿がWebになっただけ。(あれ?これだけでも十分かな?)

せっかくなので、登録したホストが実際のDNSに反映されて欲しいところです。

都合のいいことに、phpIPAMにはPowerDNSとの連携機能が搭載されているのです。

今回はPowerDNSを追加でインストールして、phpIPAMによるIPとDNSの管理の統合を目指してみます。

more…

phpIPAMを使ってIPアドレス管理を始めたい僕の一歩目

サーバーの仮想化も進み、単に箱があればIPアドレスが1つと言うことも少なくなりました。

そのため、IPアドレスの割り当て管理を記憶やExcelシートに頼ることも負担になってきました。

IPアドレス管理のためのソフトウェアと言えばWikipediaにいくつか載っていますね。

IP address management - Wikipedia

出来ればDNSとの連携もしたいので、phpIPAMを選択してみました。

まずは単にIPアドレス払い出し帳簿として使えそうか見てみます。

more…

IPv4/v6デュアルスタック環境におけるLet's EncryptとSEIL/x86

大したことが書いてあるわけではなく、 Certbotを題材にSEIL/x86のポリシールーティングが動く実例を書いてみようと思った次第です。

more…

TX1320 M2が来たよー

TX1320 M2を買いました。

TX1320 M2は富士通のタワーサーバーです。イマドキ、物理サーバーを買うなんてネー。

http://jp.fujitsu.com/platform/server/primergy/products/lineup/tx1320m2/ (※ただし販売は終息しています)

それでは、中身を見てみようと思います。

画像てんこ盛りだよ。

more…

Wordpressは衰退しました

Wordpressで公開されていた「迷い庭」はサービスを終了しました。

主要なURLはpelicanに移植およびリダイレクトされていますが、一部アクセスできないページはここに飛ばされるようになっています。

誠に申し訳ありませんが、ご理解頂けますようお願いいたします。


まぁ簡単に言うとこうなってます。:

<Directory /var/www/ainoniwa.net/>

    RewriteEngine On
    RewriteBase /

    # Pelican migration
    RewriteCond %{QUERY_STRING} (^|&)p=(\d+)($|&)
    RewriteCond %{DOCUMENT_ROOT}/pelican/wp/%2.html -f
    RewriteRule ^ssp/(.*)$ /pelican/wp/%2.html [R=301,L]

    RewriteCond %{QUERY_STRING} (^|&)tag=([^&]+)($|&)
    RewriteCond %{DOCUMENT_ROOT}/pelican/tag/%2.html -f
    RewriteRule ^ssp …
more…

pktgenとパケットキャプチャとLinux kernel 4.4

Linuxにパケットジェネレータ機能を提供するpktgenは、非常に高速にパケット送信を行うことができるカーネルモジュールである。

pktgen自体については PCとpktgenで行くショートパケットワイヤレートの旅 を参照。

pktgenで送信中のパケットがtcpdumpで確認できないという話があったため、その説明のため簡単にコールスタックを追った結果を残しておく。

賢明な諸氏のことなので、図を見れば説明は不要なことと思う。

0105a_pktgen_tcpdump_001.png

Figure 1. Linux kernel 4.4におけるパケット送信時のコールスタック(一部省略)

more…

GNS3 2.0からはKVM間のパケットキャプチャも取れるようになるぞい

GNS3 1.5までは、KVMを用いた場合は仮想ノード間の直結リンクをパケットキャプチャすることはできませんでした。

GNS3 2.0系からは、KVMを用いた場合でも、仮想ノード間の直結リンクをパケットキャプチャすることができるようになると言われています。

事実であれば個人的には非常に嬉しいので、現在開発中の 2.0 beta 1 を使って確認しておきたいと思います。

GNS3 1.5以前でも、(GNS3の)SWを挟めばパケットキャプチャすることは可能です。

また、一般には使用されませんが、GNS3のKVM仮想ノード間リンクはUDPトンネルによって実現されているため、loopbackをキャプチャして自力でデカプセルすることで、ノード間の通信内容を確認することができます。

more…