[FreeBSD-users-jp 96055] DNSを監視して動的にipfwのルールを追加/削除するツール.
Ryuji MATSUMOTO
matumoto @ pluto.ai.kyutech.ac.jp
2017年 3月 7日 (火) 09:35:21 UTC
松元@福岡です.
こういうツールをご存知の方はいらっしゃいませんか.
FreeBSDのFirewall(ipfw)に hostnameを記載しても,ipfwが実行
された時に引いたIPアドレス固定になるようです.
http://www.jp.freebsd.org/man-jp/search.html
日本語マニュアル RELEASE 10-1-RELEASE-K
ipfw
---
numeric-ip | hostname
ドットで区切った数字 4 つ組またはホスト名で指定した、1 つ
の IPv4 アドレスが適合します。ホスト名の名前解決は、その
規則がファイアウォールのリストに追加されるときに行われま
す。
---
上記だとhostname-IPアドレスの対応が変化した時に動かなくなるので,定期的
にDNSを参照して Firewallのルールを更新してくれるツールです.
具体的にやりたい事は,外部のSMTP/IMAPサーバのIPを監視しててIPアドレスに
変動があれば更新する.(具体的にはGmail/Office365.)
例えばimapサーバ向けにportを開けるipfwルール12340-12341があるとします.
imap.example.com : IPが192.0.2.1, 192.0.2.2とします.
> 12340 allow tcp from LOCAL-IP to 192.0.2.1 dst-port 993
> 12341 allow tcp from LOCAL-IP to 192.0.2.2 dst-port 993
これIPが変化したら無効になります.なので,こんな感じで
while(1)
{
sleep(1時間ぐらい);
dig +short imap.example.com > ip-list.txt
if(ip-list.txtの中身が変動した)
{
ipfwルール番号 12340-12341を削除する.
ipfwルール番号 12340-12341の所に新しいルールを追加する.
}
}
こういう事をやってくれるツールがどこかにありそうな気がするのですが.
--
松元隆二
freebsd-users-jp メーリングリストの案内