「ユーザ単位で、通信時に使用するソースIP を指定できないか?」って話があって、cgroup や fwmark とか使えばできるんじゃない?って思ってたけど、iptables だけであっさりできたって話。 こんな感じで、サーバ上のプロセスが外部へ通信を行う際に、ユーザごとに別々のソースIP になってほしいって要件。 上の例ではプライベートIP を使用しているが、利用時の想定はグローバルIP (IPマスカレードされたら意味なし :-P)。 環境いつものごとく vagrant で。 CentOS 7.1 (3.10.0-229.el7.x86_64) 手順いろいろ面倒くさそうな手順を考えていたが、よく考えると iptables だけであっさり対応できる。上記画像のような環境を構築する手順。 ユーザを追加 1 2 3 4 5 6 7 8 # useradd userA # useradd use