Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
serverzugriffe_mittels_geoip_auf_bestimmte_laender_beschraenken [2016/10/19 20:56] rakor [IPFW-Tabelle erzeugen] |
serverzugriffe_mittels_geoip_auf_bestimmte_laender_beschraenken [2017/10/02 13:40] (aktuell) |
||
---|---|---|---|
Zeile 14: | Zeile 14: | ||
<code> | <code> | ||
- | ipfw add deny all from 'table(1)' to any dst-port 22 in | + | # ipfw add deny all from 'table(1)' to any dst-port 22 in |
</code> | </code> | ||
Zeile 25: | Zeile 25: | ||
===== Datenbank aufbauen ===== | ===== Datenbank aufbauen ===== | ||
+ | Um die Datenbank von ipdbtools aufzubauen wird das beiliegende Script ausgeführt | ||
+ | <code> | ||
+ | # ipdb-update.sh | ||
+ | </code> | ||
+ | |||
===== Datenbank regelmäßig aktualisieren ===== | ===== Datenbank regelmäßig aktualisieren ===== | ||
+ | |||
===== IPFW-Tabelle erzeugen ===== | ===== IPFW-Tabelle erzeugen ===== | ||
Zunächst wird eine leere Tabelle erzeugt in IPFW erzeugt. Die Tabelle kann entsprechend ihrer Verwendung benannt werden. Im folgenden erzeugen wir eine Tabelle für IPs deutschsprachiger Länder. | Zunächst wird eine leere Tabelle erzeugt in IPFW erzeugt. Die Tabelle kann entsprechend ihrer Verwendung benannt werden. Im folgenden erzeugen wir eine Tabelle für IPs deutschsprachiger Länder. | ||
<code> | <code> | ||
- | ipfw table deutschsprachig create | + | # ipfw table 0 create |
</code> | </code> | ||
Zeile 36: | Zeile 42: | ||
Ob die Liste erzeugt wurde kann mit folgendem Befehl getestet werden. Es sollte eine leere Liste angezeigt werden. | Ob die Liste erzeugt wurde kann mit folgendem Befehl getestet werden. Es sollte eine leere Liste angezeigt werden. | ||
<code> | <code> | ||
- | ipfw table deutschsprachig list | + | # ipfw table 0 list |
+ | </code> | ||
+ | |||
+ | ===== GeoIPs in Tabelle schreiben ===== | ||
+ | Um die IPs welche deutschsprachigen Ländern zugeordnet sind in die Tabelle zu schreiben wird folgender Befehl verwendet. | ||
+ | <code> | ||
+ | # ipup -n 0 -t DE:CH:AT | ipfw -q /dev/stdin | ||
+ | </code> | ||
+ | |||
+ | Die Option //-n// gibt dabei an in welche Tabelle die Daten geschrieben werden sollen (hier wählen wir die Tabelle die wir hierfür erzeugt haben mit der //0//). Mit der Option //-t// werden die Ländercodes ausgewählt für welche die IP-Adressen abgerufen werden sollen. Mehrere Länder werden mit Doppelpunkten aneinander gereiht. Das Ganze wird dann an IPFW übergeben. | ||
+ | |||
+ | Um den Erfolg zu sehen kann nochmals die Tabelle angezeigt werden. | ||
+ | <code> | ||
+ | # ipfw table 0 list | ||
+ | </code> | ||
+ | |||
+ | ===== Filterregel anlegen ===== | ||
+ | <code> | ||
+ | # ipfw add deny all from not 'table(0)' to any in | ||
</code> | </code> | ||
===== IPFW-Tabelle regelmäßig aktualisieren ===== | ===== IPFW-Tabelle regelmäßig aktualisieren ===== | ||