Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest czwartek, 28 marca 2024, 14:26

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 8 ] 
Autor Wiadomość
Post: niedziela, 23 stycznia 2011, 17:32 
Offline
Użytkownik

Rejestracja: piątek, 22 sierpnia 2003, 12:40
Posty: 621
Lokalizacja: okolice Częstochowy
Witam,
Chciałem dorobić jedną funkcjonalność do firewalla ale niestety po wykonaiu pliku mam
: [/] [] ()
Bad argument `192.168.32.13'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `192.168.57.6'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `192.168.36.5'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `192.168.34.5'
Try `iptables -h' or 'iptables --help' for more information.


pomimo że dobrze wyciąga adres IP z pliku.

Co źle robię.

Poniżej pliki

Wpis w firewallu
: [/] [] ()
    if [ $BLOKOWANIE = 1 ]; then
    stat_busy "Wlaczanie blokady adresow IP..."
        grep "^" /etc/iptables/65535.list | grep -v "^#"|grep [0123456789] |while read T TCP IP ; do
   $i -D PREROUTING -t nat -s $IP -p tcp --dport 1:65535 -j DNAT --to- 192.168.5.1:81
   done
    fi   
   


Plik z danymi
: [/] [] ()
DNAT       tcp  --  192.168.32.13        0.0.0.0/0           tcp dpts:1:65535 to:192.168.5.1:81
DNAT       tcp  --  192.168.57.6         0.0.0.0/0           tcp dpts:1:65535 to:192.168.5.1:81
DNAT       tcp  --  192.168.36.5         0.0.0.0/0           tcp dpts:1:65535 to:192.168.5.1:81
DNAT       tcp  --  192.168.34.5         0.0.0.0/0           tcp dpts:1:65535 to:192.168.5.1:81


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 stycznia 2011, 18:01 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Według mnie ta regułka nie jest dobrze napisana. Rozumiem, że chcesz podane w jakimś pliku IP zablokować i spowodować przekierowanie na serwer na port 81.
Chyba powinno wyglądać to tak:
: [/] [] ()
iptables -t nat -I PREROUTING -s 192.168.0.20 -p tcp --dport 1:65535 -j DNAT --to 182.168.0.1:81

Taka regułę dodaje się podczas pracy firewalla, a więc -I, gdy będziesz chciał ja usunąć wtedy -D.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 stycznia 2011, 18:32 
Offline
Użytkownik

Rejestracja: piątek, 22 sierpnia 2003, 12:40
Posty: 621
Lokalizacja: okolice Częstochowy
ten plik jest efektem polecenia
: [/] [] ()
    $i -L PREROUTING -t nat -n |grep 65535 >> /etc/iptables/65535.list

więc te reguły już działają teraz testuję ich usuwanie poprze z -D a poźniej zmiana -D na -A i automatyczne dodawanie ich po restarcie firewalla


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 stycznia 2011, 19:27 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Nie bardzo rozumiem, co chcesz osiągnąć. Twoje polecenie wyświetli wszystkie reguły w których pojawia się port 65535, czyli wcześniej zablokowane IP, teraz chcesz je hurtem odblokować. OK to użyj -D.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 stycznia 2011, 20:39 
Offline
Użytkownik

Rejestracja: piątek, 22 sierpnia 2003, 12:40
Posty: 621
Lokalizacja: okolice Częstochowy
Dobra opiszę zasadę bo może zacząłem od d... strony

Korzystam z tablicy ogłoszeń i blokowania niepłacących użytkowników, ale niestety po każdym restarcie firewalla blokady są wymazywane (brak możliwości zrobienia tego w rc.local jak było do tej pory - bez rozstrzygania dlaczego).
W związku z tym chciałem przerobić firewalla tak żeby w czasie wykonywania restartu zrzucał wszystkich zablokowanych do pliku 65535.list
najpierw stop
: [/] [] ()
stop() {
    rm /etc/iptables/65535.list
    $i -L PREROUTING -t nat -n |grep 65535 >> /etc/iptables/65535.list
    $i -F INPUT
    $i -F FORWARD
    $i -F OUTPUT
    $i -P INPUT DROP
    $i -P FORWARD DROP
    $i -P OUTPUT DROP
    echo 0 > /proc/sys/net/ipv4/ip_forward

stat_done

pożniej start
Wycinek z pliku /etc/rc.d/firewall
: [/] [] ()
    if [ $BLOKOWANIE = 1 ]; then
    stat_busy "WĹ�Ä�czanie blokady adresĂłw IP..."
        grep "^" /etc/iptables/65535.list | grep -v "^#"|grep [0123456789] |while read TABLICA TCPUDP IP ; do
   $i -A PREROUTING -t nat -s $IP -p tcp --dport 1:65535 -j DNAT --to- 192.168.5.1:81
   done
    fi   


Czyli ponowne wyciągnięcie adresów IP do blokowania z przed restartu firewalla.

Ale przy wykonywaniu tego polecenia otrzymuję komunikat

: [/] [] ()
Bad argument `192.168.32.13'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `192.168.57.6'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `192.168.36.5'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `192.168.34.5'
Try `iptables -h' or 'iptables --help' for more information.


Mam nadzieję że teraz nie zagmatwałem jeszcze bardziej.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 stycznia 2011, 21:14 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
W firewallu dla CDN został dodany pewien element, który viater zrobił wcześniej w NND, gdy pakiet fail2ban się pojawił. Wcześniej kiedyś tak samo można było zrobić gdy MRTG pracowało na łańcuchu mrtg-trafic. Tak samo sobie można dopisać niceshapera.
Generalnie chodzi o uruchomienie czegoś podczas restartu firewalla:
: [/] [] ()
restart() {
        stop
        start
        # sprawdzanie czy dziala fail2ban
        PIDFAIL2BAN=`ls /var/run/fail2ban |grep pid|wc -l`
        if [ "$PIDFAIL2BAN" = "1" ]; then
        service fail2ban restart
        fi

}

Zrób zestaw reguł blokujących poszczególne IP i uruchamiaj je osobnym poleceniem po firewallu. A podczas restartu, będziesz miał możliwość uruchomienia tego ponownie w sposób automatyczny.
Na pewno będzie to prostsze i bardziej niezawodne niż to, co usiłujesz wymyślić.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 stycznia 2011, 21:52 
Offline
Użytkownik

Rejestracja: piątek, 22 sierpnia 2003, 12:40
Posty: 621
Lokalizacja: okolice Częstochowy
Wydaje mi się że mnie nie rozumiesz, a sprawa z fail2ban niceshaper mrtg znam bo tak mam zrobione z mrtg i niceshaper że restarują się automatycznie z firewallem i tu sprawa jest jasna.

Mój powyższy przykład też działa w 90% i już niech tak zostanie problem leży w tym że,
: [/] [] ()
grep "^" /etc/iptables/65535.list | grep -v "^#"|grep [0123456789] |[b]while read TABLICA TCPUDP IP[/b] ; do
   $i -A PREROUTING -t nat -s $IP -p tcp --dport 1:65535 -j DNAT --to- 192.168.5.1:81

while read TABLICA TCPUDP IP mimo że wyciąga z pliku adres IP wg formatu
: [/] [] ()
DNAT       tcp  --  192.168.57.6         0.0.0.0/0           tcp dpts:1:65535 to:192.168.5.1:81
to iptables zwraca bład w postaci
: [/] [] ()
Bad argument `192.168.57.6'
Try `iptables -h' or 'iptables --help' for more information.

więc dlaczego jast Bad argument mimo że składnia adresu IP (zmienna $IP) jest w formacie 192.168.57.6 czyli adres do zmiennej $IP jest taki jak był go wpisał do polecenia ręcznie
$i -A PREROUTING -t nat -s 192.168.57.6 -p tcp --dport 1:65535 -j DNAT --to- 192.168.5.1:81


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 23 stycznia 2011, 22:26 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Masz zapewne jakąś literówkę lub błąd w skrypcie powodujący, że IP wstawia się ze spacją, albo jakimś innym znaczkiem. Jeśli wpisze taką regułkę z normalnym IP do działa (pod warunkiem, że -D ma co likwidować.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 8 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 12 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl