GeoLite2 mmdb(iptablesまたはFirewalld)を介して国をブロックする方法

GeoLite2 mmdb(iptablesまたはFirewalld)を介して国をブロックする方法

ファイアウォールでGeoLite2データベース(mmdb)を使用してドイツを除くすべての国をブロックするにはどうすればよいですか?

ベストアンサー1

ドイツのIPアドレスは以下から入手できます。成熟した(ヨーロッパのレジストリ)これを使用してIPsetを作成します。これにより、iptablesのipsetを簡単かつ効率的に使用できます。

RIPEには、国別のIPアドレスを取得するためのAPIとWebリソースがあります。たとえば、ドイツのIPを取得するには、このURLが.json形式で一覧表示されます。

https://stat.ripe.net/data/country-resource-list/data.json?v4_format=prefix&resource=de

実際にスクリプトがあります(https://github.com/mivk/ip-country/blob/master/get-ripe-ipscrontab)IPリストを更新するために呼び出します。そのリストを使用してipsetを更新します。

ipset がある場合、名前を ipv4_de に指定すると、iptables の行は次のようになります。

-A INPUT -m set ! --match-set ipv4_de src -j DROP

これにより、ipv4_deセットにないすべてのIPが削除されます。

おすすめ記事