Grzegorz Czerepak

Grzegorz Czerepak Student, Wyższa
Szkoła Technologii
Informatycznych w
Kato...

Temat: zapobieganie przed zmianą adresu ip przez użytkownika

Witam czy orientuje się ktos co jest źle w tym skrypcie, Skrypt ma powodować blokade przez użytkownika zmiane adresu ip. Tzn. jak zmieni adres ip lub adres mac to ma mieć zabroniony dostęp do sieci.
Przy wykonywaniu tego skryptu dostaje takie oto błędy:

[: 24: closing paren expected
[: 36: =: unexpected operator


#!/bin/sh

# skrypt posiada trzy parametry:
# 1) add (nowa dzierżawa DHCP) |
# del (wygasająca dzierżawa) |
# old (odnowiona dzierżawa –
# np. w wypadku restartu dnsmasq w czasie trwania dzierżawy)
# 2) adres MAC klienta
# 3) adres IP klienta otrzymany z DHCP
IPTABLES='/sbin/iptables'
EXT_INTERFACE=eth1
INT_INTERFACE=eth0
# jeśli dzierżawa jest nowa ($1 = add) lub odnowiona ($1 = old)
# i nie ma jeszcze takiej reguły w łańcuchu FORWARD
# to pozwalamy na przekazywanie pakietów w obie strony.
iptables -P FORWARD ACCEPT
if [ \( $1 = 'add' -o $1 = 'old' \) -a \
` iptables -L FORWARD | grep -i -c "$3"` -eq0 ]
then
iptables -A FORWARD -i $INT_INTERFACE -o $EXT_INTERFACE \
-m mac --mac-source $2 -s $3 -j ACCEPT
iptables -A FORWARD -o $INT_INTERFACE -i $EXT_INTERFACE \
-d $3 -j ACCEPT
fi
# jeśli dzierżawa wygasa ($1 = del)
# i istnieją reguły w łańcuchu FORWARD
# pozwalające na przekazywanie pakietów w obie strony
# to je usuwamy.
if [ $1 = 'del' -a \
` iptables -L FORWARD | grep -i -c " $3 " ` -ne 0 ]
then
iptables -D FORWARD -i $INT_INTERFACE -o $EXT_INTERFACE \
-m mac --mac-source $2 -s $3 -j ACCEPT
iptables -D FORWARD -o $INT_INTERFACE -i $EXT_INTERFACE \
-d $3 -j ACCEPT
fi



Czy jestescie w stanie mi pomóc ?
Stanisław P.

Stanisław P. Software designer

Temat: zapobieganie przed zmianą adresu ip przez użytkownika

(strzelam) Najprawdopodobniej pomoże zmiana /bin/sh na /bin/bash. Pewnie masz distro które ma dash'a w miejscu sh, zamiast pełnego basha.

A swoją drogą to wygląda jak skrypt do automatyzacji przez dnsmasq - nie powinieneś go odpalać samemu.Stanisław P. edytował(a) ten post dnia 05.12.11 o godzinie 23:10
Grzegorz Czerepak

Grzegorz Czerepak Student, Wyższa
Szkoła Technologii
Informatycznych w
Kato...

Temat: zapobieganie przed zmianą adresu ip przez użytkownika

Stanisław P.:
(strzelam) Najprawdopodobniej pomoże zmiana /bin/sh na /bin/bash. Pewnie masz distro które ma dash'a w miejscu sh, zamiast pełnego basha.

zmiana na /bin/bash dała taki rezultat:

line 17: [: za dużo argumentów
line 26: [: za dużo argumentów
A swoją drogą to wygląda jak skrypt do automatyzacji przez dnsmasq - nie powinieneś go odpalać samemu.

No i właśnie jest do tego, z tym że nie działa i niewiem dlaczego

Następna dyskusja:

zabezpieczenie serwera prze...




Wyślij zaproszenie do