Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2024-08-08 09:40:49

  LillyWhy - Nowy użytkownik

LillyWhy
Nowy użytkownik
Zarejestrowany: 2024-08-08

Iptables oraz Ipset (Nie działa po resecie)

Witam na wstępie chciałbym poinformować, że jestem nowy w środowisku Debian/Linux i jeszcze się uczę.
Tak więc wracając do tematu chciałem zabezpieczyć swoją stację roboczą poprzez ustawienie Iptables oraz Ipset po ustawieniu wszystkiego według wątku z Forum "iptables - PREROUTING -> https://forum.dug.net.pl/viewtopic.php?id=32390" wszystko przechodzi bez problemu według instrukcji zapisałem ustawienia poleceniem

Kod:

iptables-save > /etc/iptables/rules.v4

po sprawdzeniu wszystko jest zapisane, lecz po zrobieniu resetu i wpisaniu 

Kod:

ipset list block1

wyskakuje mi błąd

Kod:

The set with given name does not exist

Nawet po wczytaniu komendą

Kod:

iptables-restore < /etc/iptables/rules.v4

dalej to się pokazuje. Czy mógłby ktoś mi wyjaśnić gdzie popełniłem błąd? Byłbym wdzięczny ;)

Ostatnio edytowany przez LillyWhy (2024-08-08 11:12:32)

Offline

 

#2  2024-08-08 11:43:59

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Iptables oraz Ipset (Nie działa po resecie)

iptables save i restore nie zapisują ustawień ipseta, tylko same reguły firewalla.
Tablice ipseta musisz po każdym restarcie założyć od nowa.
możesz sobie zrzuć adresy z ipseta do pliku i potem je wczytać przy starcie.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2024-08-08 12:07:33

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Iptables oraz Ipset (Nie działa po resecie)

A nie lepiej zacząć się uczyć na aktualnych narzędziach, tj. nftables? xD  Przykład:

Kod:

table netdev traffic-control {
    set meter-tcp {
        type ipv4_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

    set meter-tcp6 {
        type ipv6_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

    set meter-icmp {
        type ipv4_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

    set meter-icmp6 {
        type ipv6_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

#    set autoban {
#        type ipv4_addr
#        size 128000
#        flags dynamic,timeout
#        timeout 1h
#    }

#    set autoban6 {
#        type ipv6_addr
#        size 128000
#        flags dynamic,timeout
#        timeout 1h
#    }

    chain INGRESS {
        # priority -500=before prerouting
        type filter hook ingress device "bond0" priority -500; policy accept;
#        ip saddr @autoban update @autoban { ip saddr timeout 1d } counter drop
#        ip6 saddr @autoban6 update @autoban6 { ip6 saddr timeout 1d } counter drop
#        tcp dport 22 add @autoban { ip saddr } counter drop
        ip protocol vmap { icmp : jump chain-icmp, tcp : jump chain-tcp }
        ip6 nexthdr vmap { tcp : jump chain-tcp6, ipv6-icmp : jump chain-icmp6 }
    }

    chain chain-tcp {
        tcp flags syn / fin,syn,rst,ack add @meter-tcp { ip saddr timeout 1m limit rate over 20/second } counter drop
        tcp flags syn / fin,syn,rst,ack counter accept
    }

    chain chain-tcp6 {
        tcp flags syn / fin,syn,rst,ack add @meter-tcp6 { ip6 saddr timeout 1m limit rate over 20/second } counter drop
        tcp flags syn / fin,syn,rst,ack counter accept
    }

    chain chain-icmp {
        add @meter-icmp { ip saddr limit rate over 20/second } counter drop
        limit rate over 1 mbytes/second counter drop
        counter accept
    }

    chain chain-icmp6 {
        add @meter-icmp6 { ip6 saddr limit rate over 20/second } counter drop
        limit rate over 1 mbytes/second counter drop
        counter accept
    }
}

Nftables ma te przewagę, że ma tablicę netdev, gdzie można podpiąć się pod hook ingress, który jest prawie na samym początku łańcucha przetwarzania pakietów (zaraz po odebraniu ich od karty sieciowej, grubo przed tablicą raw), co wpływa na wydajność całego procesu blokowania niechcianych pakietów (sporo mniejsze obciążenie procka i zużycie RAM).

https://thermalcircle.de/lib/exe/fetch.php?media=linux:netfilter-packet-flow.png

https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks
https://wiki.nftables.org/wiki-nftables/index.php/N … milies#netdev

Ostatnio edytowany przez morfik (2024-08-08 12:24:37)

Offline

 

#4  2024-08-08 13:08:09

  LillyWhy - Nowy użytkownik

LillyWhy
Nowy użytkownik
Zarejestrowany: 2024-08-08

Re: Iptables oraz Ipset (Nie działa po resecie)

Ja rozumiem że są lepsze/aktualne rzeczy lecz jakoś mi utkwiło w głowie te iptables oraz ipset i postanowiłem sie tym bardziej zająć z czystej ciekawości oraz jak to mówią "żeby wiedzieć z czym to sie je".
Czyli lepiej będzie jak przejdę na nftables i nim się zajmę? Wiecie szukam czegoś co mi da w jakimś stopniu kontrole nad tym co chce sie wbić do kompa.

morfik napisał(-a):

A nie lepiej zacząć się uczyć na aktualnych narzędziach, tj. nftables? xD  Przykład:

Kod:

table netdev traffic-control {
    set meter-tcp {
        type ipv4_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

    set meter-tcp6 {
        type ipv6_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

    set meter-icmp {
        type ipv4_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

    set meter-icmp6 {
        type ipv6_addr
        size 128000
        flags dynamic,timeout
        timeout 1m
    }

#    set autoban {
#        type ipv4_addr
#        size 128000
#        flags dynamic,timeout
#        timeout 1h
#    }

#    set autoban6 {
#        type ipv6_addr
#        size 128000
#        flags dynamic,timeout
#        timeout 1h
#    }

    chain INGRESS {
        # priority -500=before prerouting
        type filter hook ingress device "bond0" priority -500; policy accept;
#        ip saddr @autoban update @autoban { ip saddr timeout 1d } counter drop
#        ip6 saddr @autoban6 update @autoban6 { ip6 saddr timeout 1d } counter drop
#        tcp dport 22 add @autoban { ip saddr } counter drop
        ip protocol vmap { icmp : jump chain-icmp, tcp : jump chain-tcp }
        ip6 nexthdr vmap { tcp : jump chain-tcp6, ipv6-icmp : jump chain-icmp6 }
    }

    chain chain-tcp {
        tcp flags syn / fin,syn,rst,ack add @meter-tcp { ip saddr timeout 1m limit rate over 20/second } counter drop
        tcp flags syn / fin,syn,rst,ack counter accept
    }

    chain chain-tcp6 {
        tcp flags syn / fin,syn,rst,ack add @meter-tcp6 { ip6 saddr timeout 1m limit rate over 20/second } counter drop
        tcp flags syn / fin,syn,rst,ack counter accept
    }

    chain chain-icmp {
        add @meter-icmp { ip saddr limit rate over 20/second } counter drop
        limit rate over 1 mbytes/second counter drop
        counter accept
    }

    chain chain-icmp6 {
        add @meter-icmp6 { ip6 saddr limit rate over 20/second } counter drop
        limit rate over 1 mbytes/second counter drop
        counter accept
    }
}

Nftables ma te przewagę, że ma tablicę netdev, gdzie można podpiąć się pod hook ingress, który jest prawie na samym początku łańcucha przetwarzania pakietów (zaraz po odebraniu ich od karty sieciowej, grubo przed tablicą raw), co wpływa na wydajność całego procesu blokowania niechcianych pakietów (sporo mniejsze obciążenie procka i zużycie RAM).

https://thermalcircle.de/lib/exe/fetch.php?media=li … cket-flow.png

https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks
https://wiki.nftables.org/wiki-nftables/index.php/N … milies#netdev

Offline

 

#5  2024-08-09 14:36:58

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Iptables oraz Ipset (Nie działa po resecie)

Ja bym obecnie zaczął od nftables, bo równie dobrze można by rzucić przykładem uczenia się HAL, czyli tego co było przed UDEV do obsług urządzeń w linux -- no można, tylko po co? xD Obecnie masz w linux warstwę kompatybilności na linii nftables<->iptables, tj. składnia iptables będzie tłumaczona na reguły nftables w tle, tak by użytkownik nawet nie wiedział, że używa nftables. Więc skoro mamy już taka rzeczywistość, to czemu po prostu nie zrezygnować z tej warstwy i zacząć używać natywnie nftables? xD

Ostatnio edytowany przez morfik (2024-08-09 14:43:58)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)