Instalacja dodatku Geoip dla IPTables

Zombie
vps
anon40709621
anon40709621

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ę ;) )

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

Glenor
Glenor

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

anon40709621
anon40709621

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

Glenor
Glenor

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

SystemZ
SystemZ Admin lvlup.pro

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

https://lvlup.rok.ovh/t/poradnik-jak-zablokowac-inne-kraje-na-vps/290

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:

Glenor
Glenor

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

anon40709621
anon40709621

Glenor:

Czy da się dodać wyjątek IP z przykładowego zablokowanego kraju?

Raczej nie.

Glenor:

jak to wszystko usunąć ? 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 ;)

Dodałem to przy okazji do poradnika =)