Instalacja dodatku Geoip dla IPTables

1. Zaczynamy od aktualizacji serwera

sudo apt get update

2. Instalujemy dodatek

Wpisujemy w terminalu sudo apt install xtables-addons-common

3. Tworzymy folder xt_geoip w /usr/share/

sudo mkdir /usr/share/xt_geoip

4. Instalujemy wsparcie dla plików CSV/XS oraz pakiet do rozpakowywania

sudo apt install libtext-csv-xs-perl unzip

5. Uruchamiamy DL

/usr/lib/xtables-addons/xt_geoip_dl

(nie wiem, jak to nazwać, jak ktoś wie, to proszę napisać w poście to poprawię :wink: )

6. Budujemy plik .csv

/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv

Przykładowe użycie IPTables z GeoIP:

Blokada jednego kraju

iptables -A INPUT -m geoip --dst-cc CN -j DROP
Po wpisaniu tej komendy, połączenie wchodzące z Chin zostanie zablokowane.

Wiele krajów

iptables -A INPUT -m geoip --src-cc CN,RU -j DROP
Po wpisaniu tej komendy, połączenie wchodzące z Chin i Rosji zostanie zablokowane.

Blokada kraju na dany port

iptables -A INPUT -m geoip --dst-cc CN --dport 443 -j DROP
Po wpisaniu tej komendy, połączenie wchodzące z Chin na porcie 443 (HTTPS) zostanie zablokowane.

Jak uzupełnić?

iptables -A INPUT -m geoip --dst-cc SK -j DROP

W miejscu liter SK wpisujemy kod alfa-2 państwa, czyli dwuliterową nazwę kraju.
Lista krajów https://pl.wikipedia.org/wiki/ISO_3166-1

Wyjaśnienie skrótów

-A ruch
  • INPUT - ruch wchodzący
  • OUTPUT - ruch wychodzący
-j Co ma zrobić?
  • ACCEPT - zaakceptować (przyjąć)
  • DROP - odrzucić (wyciąć)

Pytania i odpowiedzi

[P] Czy da się zrobić wyjątek dla jednego adresu ip wyciętego całego kraju?
[O] Nie, nie da się.

[P] Jak zapisać IPTables, żeby zostały załadowane po ponownym uruchomieniu?
[O] Wystarczy wpisać iptables-save

[P] W jaki sposób usunąć wszystkie reguły z IPTables?
[O]

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X

Źródło: https://superuser.com/questions/996526/ubuntu-iptables-allow-only-allow-1-country

4 polubienia

Heej, dałbyś radę wytłumaczyć, napisać poradnik jak ustawić firewalla pod serwer minecraft na VPs instalując na nim iptables-persistent

Postaram się o tym poczytać, bo sam nie wiem co to i jak się tego używa. Jak się dowiem to napiszę :wink:

1 polubienie

Dzięki bardzo :smiley: (Nawet za chęci)

1 polubienie

Dla łatwiejszego znalezienia, podobny efekt można uzyskać też przy pomocy modułu ipset:

Niezależnie od metody, blokowanie niektórych krajów jak np. USA może wyciąć nam DNSy przez co będziemy mieli wrażenie że połączenie z Internetem nam przestało działać, wolę uprzedzić bo widziałem kilka klientów z tym problemem :slight_smile:

1 polubienie

Tak jeszcze zapytam. Czy da się dodać wyjątek IP z przykładowego zablokowanego kraju?.
Oraz jak to wszystko usunąć ?

Raczej nie.

wystarczy wpisać

iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
Dzięki @DBanaszewski za pomoc :wink:

Dodałem to przy okazji do poradnika =)

1 polubienie