Instalacja dodatku Geoip dla IPTables

anon40709621 | 2019-01-18 21:53:22 UTC | #1

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
-j Co ma zrobić?

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 | 2018-12-28 19:48:06 UTC | #2

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

-------------------------

anon40709621 | 2018-12-28 20:00:22 UTC | #3

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

-------------------------

Glenor | 2018-12-28 21:24:40 UTC | #4

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

-------------------------

SystemZ | 2018-12-29 08:04:54 UTC | #5

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

https://forum.lvlup.pro/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 | 2018-12-29 10:53:53 UTC | #6

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

-------------------------

anon40709621 | 2018-12-29 11:14:34 UTC | #7

[quote="Glenor, post:6, topic:9489"]
Czy da się dodać wyjątek IP z przykładowego zablokowanego kraju?
[/quote]

Raczej nie.

[quote="Glenor, post:6, topic:9489"]
jak to wszystko usunąć ?
[/quote]
wystarczy wpisać 
```iptables -P INPUT ACCEPT
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 =)


adminek153 | 2019-01-18 21:53:25 UTC | #8