Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest poniedziałek, 23 czerwca 2025, 20:58

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 23 ]  Przejdź na stronę Poprzednia  1, 2
Autor Wiadomość
 Tytuł:
Post: środa, 9 maja 2007, 10:36 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
tassman pisze:
if [ "$1" = "start" ] && [ "$2" == "" ]; then

echo "Przypomnienia wlaczone dla 192.168.1.$2"
iptables -A PREROUTING -t nat -s 192.168.1.$2 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:82 -m limit --limit 60/h --limit-burst 1

fi


dalej to samo, probwalem jeszcze kilku innych sztyczek ale cos nie tak... popatrzcie prosze


ten warunek przekształcony na mowę potoczną znaczy:

jeśli pierwszy argument jest równy start i jednocześnie drugi argument jest pusty to zrób echo i wykonaj polecenie iptables.

Czy o to ci chodziło? Zgaduję, że chyba nie...
Może powinieneś najpierw sprawdzić ile masz podanych parametrów ($#) i dopiero potem sprawdzać zawartośc tych parametrów...
Napisz dokładnie co chcesz uzyskać.

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


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 9 maja 2007, 10:53 
Offline
Użytkownik

Rejestracja: niedziela, 18 maja 2003, 22:55
Posty: 386
Lokalizacja: Rzeszów
aaaaa... no pewnie ze nie, na mowe potoczna chcialem:

jesli pierwszy warunek jest start i drugi warunek jest dowolnym znakiem [w tym wypadku cyfra] to powoduje wywolanie iptables i w miejsce 192.168.1.(tu) wpada ten drugi znak.

################################
Zrobilem tak:
if [ $1 ]; then

echo "Przypomnienia wlaczone dla 192.168.1.$1"
iptables -A PREROUTING -t nat -s 192.168.1.$1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:82 -m limit --limit 60/h --limit-burst 1

fi

i poszlo, prosciej mysle.

A co zrobic jak bym chcial wpisywac jeden po drugim parametrze uruchamiajacym np i kazdy parametr dopisuje sie do regulki w skrypcie

skrypt 1 12 16 167 [kazda cyfra to IP],

_________________
------------------------
HOUSE music


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 10 maja 2007, 21:22 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
tassman pisze:
aaaaa... no pewnie ze nie, na mowe potoczna chcialem:

jesli pierwszy warunek jest start i drugi warunek jest dowolnym znakiem [w tym wypadku cyfra] to powoduje wywolanie iptables i w miejsce 192.168.1.(tu) wpada ten drugi znak.


: [/] [] ()
#!/bin/sh
# sprawdzasz czy drugi parametr nie jest pusty
if [ ! -z $2 ]; then
    # tymczasowa zmienna wraz z następnym warunkiem pozwalają
    # sprawdzić czy drugi parametr jest liczbą
    tmp=`echo $2 | tr -d '[[:digit:]]'`
    if [ -z $tmp ]; then
        # i ostatecznie sprawdzasz czy pierwszy parametr jest "start", a drugi
        # mieści się w zakresie od 0 do 255 (możesz zmienić ten zakres).
        # Jesli tak, to wywołujesz iptables
        if [ $1 = start -a $2 -ge 0 -a $2 -le 255 ]; then
            # tutaj wpisujesz regułki iptables
        fi
    fi
fi

Powyższe nie testowane, ale chyba powinno działać. Możliwe, że zamiast warunku [ ! -z $2 ] będzie trzeba sprawdzić czy są podane dokładnie dwa parametry wywołania scriptu. Robi się to warunkiem [ $# = 2 ]





tassman pisze:
################################
Zrobilem tak:
if [ $1 ]; then

echo "Przypomnienia wlaczone dla 192.168.1.$1"
iptables -A PREROUTING -t nat -s 192.168.1.$1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:82 -m limit --limit 60/h --limit-burst 1

fi

i poszlo, prosciej mysle.


a co będzie jeśli jako pierwszy parametr ($1) podasz np słowo "ala"? Wyjdzie ci taki adres IP - 192.168.1.ala... a jeszcze smieszniej będzie jesli jako parametr podasz spację...

tassman pisze:
A co zrobic jak bym chcial wpisywac jeden po drugim parametrze uruchamiajacym np i kazdy parametr dopisuje sie do regulki w skrypcie

skrypt 1 12 16 167 [kazda cyfra to IP],


nie do końca rozumiem, ale wydaje mi się, że pętla for załatwi ci sprawę.
Musisz tylko pamiętać, że script (a nie pętla for) może przyjąć maksymalnie 9 parametrów. Jesli będzie więcej to raczej bez pliku pomocniczego się nie obędzie...

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


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 23 ]  Przejdź na stronę Poprzednia  1, 2

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 39 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:  
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl