Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest piątek, 20 czerwca 2025, 09:41

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 9 ] 
Autor Wiadomość
Post: środa, 30 maja 2007, 23:32 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Używam pppoe i w plikach ip-up i ip-down staram się umieścić kilka dodatkowych funkcji . W tym wypadku są to wywołania blokad zależnie od klienta, mianowicie:są sobie pliki "blok" i "komunikat", tam wpisuję klientów zależnie od ich zadłużenia, albo wyświetla się komunikat z przyciskiem (tablica ogłoszeń) albo pełna blokada. To działa. Teraz tylko brakuje mi pewnej rzeczy: chciałbym, aby zanim uruchomią się te blokady/komunikaty skrypt sprawdzał plik "wyjatki" w którym były by IP osób wykluczonych z blokad/komunikatów i zależnie , czy dane IP było by wpisane czy nie blokował/komunikował lub nie.


: [/] [] ()
#blokowanie całkowite
IP_BLOK=$PPP_REMOTE
IP_KLIENT=`grep -w $IP_BLOK blok`
if [ "$IP_KLIENT" = "$IP_BLOK" ]; then
    $i -t nat -A PREROUTING -p tcp -s $IP_KLIENT -j REDIRECT --to-port 84
    $i -A PREROUTING -t nat -s $IP_KLIENT -p udp --dport ! 22:80 -j DROP
    $i -A PREROUTING -t nat -s $IP_KLIENT -p tcp --dport ! 22:80 -j DROP
else
    echo "nie wykonuję skryptu blokowania dla $IP_BLOK !!!"
fi


#komunikat
IP_KOM=$PPP_REMOTE
IP_KOMUN=`grep -w $IP_KOM komunikat`
if [ "$IP_KOMUN" = "$IP_KLIENT" ]; then
    exit
else
    if [ "$IP_KOMUN" = "$IP_KOM" ]; then
        $i -t nat -A PREROUTING -p tcp -s $IP_KOMUN -j REDIRECT --to-port 82
        echo "wykonuję komunikat dla $IP_KOM !!!"
    else
        echo "nie wykonuję skryptu komunikat dla $IP_KOM !!!"
    fi
fi


echa są oczywiście niepotrzebne, ale dają jasność skryptu. Proszę o pomoc.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 31 maja 2007, 00:02 
Offline
PGF

Rejestracja: niedziela, 14 lipca 2002, 14:33
Posty: 3234
Lokalizacja: Radziejów
Dlaczego robisz to w plikach ip-up i ip-down a nie w skrypcie firewala?
Jaki to ma sens, takie ciagle mieszanie w regulach firewala?

zrob to jako pierwsze sprawdzenie i jesli jest zgodnosc to exit
: [/] [] ()
IP_WYJ=$PPP_REMOTE
IP_KLIENT=`grep -w $IP_WYJ wyjatki`
if [ "$IP_KLIENT" = "$IP_WYJ" ]; then
echo "$IP_WYJ To kuzyn królika"
else
#blokowanie całkowite
.
.
fi


uwaga:
nie wszystko co wyje jest wyjątkiem.

_________________
Nie jestem NEKROMANTĄ, nie wróżę z flaków!
Alkohol pity z umiarem nie szkodzi nawet w największych ilościach!
Przeczytaj nim zapytasz
Obrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 3 czerwca 2007, 23:35 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Jeszcze małe pytanko : jak zrobić aby np. plik z ip formatu:
: [/] [] ()
192.168.1.10
192.168.1.11
192.168.1.12
.
.
.
192.168.1.nnn


był czytany linia po linii i podstawiany do zmiennej ?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 4 czerwca 2007, 01:26 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Albercik pisze:
jak zrobić aby np. plik z ip formatu:
: [/] [] ()
192.168.1.10
192.168.1.11
192.168.1.12
.
.
.
192.168.1.nnn


był czytany linia po linii i podstawiany do zmiennej ?


na przykład tak:

: [/] [] ()

while read line; do
      echo "$line"
done < plik_z_ipkami


_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 5 czerwca 2007, 00:47 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Męczę dalej , bo sam nie radzę sobie :wink: . Są dwa pliki z IP, nazwijmy je plik1 i plik2 . W plik1 znajdują się ip :
: [/] [] ()
192.168.1.10
192.168.1.11
192.168.1.12


a w plik2 znajdują się :
: [/] [] ()
192.168.1.10
192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14


Nie mam pojęcia jak to zrobić, aby skrypt w bash'u porównał te dwa pliki i wpisał do trzeciego pliku, np plik3 , ip które, są różnicą tych dwóch plików, czyli:
: [/] [] ()
192.168.1.13
192.168.1.14


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 5 czerwca 2007, 01:43 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Albercik pisze:
Nie mam pojęcia jak to zrobić, aby skrypt w bash'u porównał te dwa pliki i wpisał do trzeciego pliku, np plik3 , ip które, są różnicą tych dwóch plików,


masz parę rzeczy do wyboru:
diff
cmp
comm
sed
awk

proponuję jednak uzyć:

grep -vf plik1 plik2 > plik3 (i ewentualnie grep -vf plik2 plik1 >> plik3)

Zwróć tylko uwagę aby nie nadpisac plik3 jesli użyjesz drugiego polecenia (operator >> zamiast >)

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 5 czerwca 2007, 09:35 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Twoja pomoc jest nieoceniona, ogromne podziękowania. Nie chcę cały czas pytać "jak to" a "jak tamto" , ale nie mogę znaleźć jakiegoś rozbudowanego kursu bash'a. Zna ktoś coś takiego? Wszystkie te kursy są raczej podstawami, takich szczegółów niestety nie potrafię w tym wypatrzeć.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 5 czerwca 2007, 09:44 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Albercik pisze:
nie mogę znaleźć jakiegoś rozbudowanego kursu bash'a. Zna ktoś coś takiego?


http://freshmeat.net/projects/introtoba ... minghowto/
http://freshmeat.net/projects/advancedb ... tingguide/

choć na twoim miejscu raczej szukałbym terminu "programowanie w shellu".
Byłoby to bliższe temu co chcesz robić...

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 5 czerwca 2007, 11:15 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Mis' pisze:
Albercik pisze:
nie mogę znaleźć jakiegoś rozbudowanego kursu bash'a. Zna ktoś coś takiego?


http://freshmeat.net/projects/introtoba ... minghowto/
http://freshmeat.net/projects/advancedb ... tingguide/

choć na twoim miejscu raczej szukałbym terminu "programowanie w shellu".
Byłoby to bliższe temu co chcesz robić...


Po raz n-ty dziękuję bardzo.


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

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 24 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