Skocz do zawartości

Iptables - Wlasnoreczny Firewall


narrow

Rekomendowane odpowiedzi

# Zalaczenie forwardingu w kernelu
ECHO "1" > /proc/sys/net/ipv4/ip_forward
IPTABLES = /sbin/iptables (to nie dziala)
# Maska sieci wewnetrznej
INTNET="192.168.0.0/24"   (czemu tu jest 24)
# Zewnetrzny interfejs
EXTDEV="eth0"
# Wewnetrzny interfejs
INTDEV="eth1"
# Czyscimy lancuchy
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z #kasujemy liczniki

# Polityki domyslne dla pakietow
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
# gdy nasz numer dynamiczny lub wdzwaniasz sie w siec
# (modem, NEO+) to korzystaj z maskarady
$IPTABLES -t nat -A POSTROUTING -s $INTNET -o $EXTDEV -j MASQUERADE

# Pelny ruch na interfejsie lo
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT

#--=={ PRZEKIEROWANIA PORTOW }==--


# $SRCPRT  -port na komputerze z ktorego przekierowujemy.
# $SRCIP  -IP komputera z ktorego przekierowujemy.
# $DSTIP  -IP komputera do ktorego przekierowujemy
# $DSTPRT  -port na ktory bedziemy przekierowywac.
# $ALLOWFROM -ktore komputery maja prawo wysylac do nas...
#
#
$IPTABLES -I FORWARD -p tcp -d $DSTIP --dport $DSTPRT -j ACCEPT
$IPTABLES -I FORWARD -p udp -d $DSTIP --dport $DSTPRT -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTDEV -s $ALLOWFROM -d $SRCIP --dport $SRCPRT -j DNAT --to $DSTIP:$DSTPRT
$IPTABLES -t nat -A PREROUTING -p udp -i $EXTDEV -s $ALLOWFROM -d $SRCIP --dport $SRCPRT -j DNAT --to $DSTIP:$DSTPRT


# Przepuszcza pakiety z flaga ESTABLISHED i RELATED
$IPTABLES -A INPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT -m state --state RELATED -j ACCEPT
# Akceptacja wszystkiego co jest prawidlowe :-)
$IPTABLES -A OUTPUT -m state --state ! INVALID -j ACCEPT

# Pozwalamy na nawiazywanie i utrzymanie polaczenia z sieci lokalnej
$IPTABLES -A FORWARD -i $INTDEV -p tcp -s $INTNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTDEV -p udp -s $INTNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Przepuszczamy pakiety do sieci lokalnej
$IPTABLES -A FORWARD -o $INTDEV -p tcp -d $INTNET -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -o $INTDEV -p udp -d $INTNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# Przepuszczamy caly poprawny ruch ICMP
$IPTABLES -A FORWARD -p icmp -m state --state ! INVALID -j ACCEPT
# Reszte pakietow logujemy i usuwamy (lancuc INPUT)
$IPTABLES -A INPUT -j LOG --log-prefix "IPT INPUT: "
$IPTABLES -A INPUT -j DROP
# Logujemy i kasujemy reszte (lancuch FORWARD)
$IPTABLES -A FORWARD -j LOG --log-prefix "IPT FORWARD: "
$IPTABLES -A FORWARD -j DROP

# "Reszte" logujemy i wyrzucamy (lancuch OUTPUT)
$IPTABLES -A OUTPUT -j LOG --log-prefix "IPT OUTPUT: "
$IPTABLES -A OUTPUT -j DROP

 

taki kod wprowadzilem do skryptu, kod sciagnalem z postu uzytkownika "ati"

wszystko pieknie ladnie ale serwer zostaje calkowicie odciety jak chodzi o wejscia

z zewnatrz

przy czym nie dziala tez serwer www i serwer pocztowy oraz ssh i PING

 

o jakie pozycje powinienem ubogacic powyzszy skrypt

zeby dzialal mi serwer www (jest na tym serwerze) oraz poczta i SSH (tylko z poszczegolnych IP) i ping (z jednego IP wewnatrz sieci)

 

z gory dziekuje za pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

IPTABLES = /sbin/iptables (to nie dziala)

Jak nie ma /sbin/iptables to nic dziwnego że cała reszta też nie działa smile.gif

Poszukaj sobie dokładnej scieżki do iptables, chociaż wg mnei /sbin jest OK. Może w ogóle nie masz zainstalowanego pakietu iptables?

Jak już będziesz miał iptables to zmien sobie ten wpis odpowiednio w swoim skrypcie i powinno działać.

# Maska sieci wewnetrznej
INTNET="192.168.0.0/24"   (czemu tu jest 24)

Przecież masz napisane w komentarzu w skrypcie "maska sieci wewnętrznej" - poczytaj troche o maskach. Generalnie taki zapis oznacza wszystkie numery IP z zakresu od 192.168.0.0 do 192.168.0.255. Zapis 192.168.0.0/24 oznacza sieć 192.168.0.0 z maska 255.255.255.0

Inaczej: 255.255.255.0 to 11111111.11111111.11111111.00000000 - czyli 24 pierwsze bity maski są ustawione. 255 dziesiętnie to binarne 11111111. jaśniej nie umiem cool.gif

 

Pozdr,

W.

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

dzieki za rady

iptables jest zainstlowany

dziala i ma sie dobrze

 

a ten skrypt tez dziala bardzo tylko za ladnie smile.gif

w sensie bloknal prawie wszystko (taki chyba byl cel)

a ja bym teraz chcial odblokowac kilka funkcji ktore opisalem we wczesniejszym poscie

 

pzodrawiam i dzieki

Odnośnik do komentarza
Udostępnij na innych stronach

a ten skrypt tez dziala bardzo tylko za ladnie smile.gif

w sensie bloknal prawie wszystko (taki chyba byl cel)

a ja bym teraz chcial odblokowac kilka funkcji ktore opisalem we wczesniejszym poscie

Bo ten skrypt przepusza tylko te połączenia, które Ty sam nawiązałeś (RELATED, ESTABLISHED). Pozostałe wyrzuca.

O szczegółach to już było tu na forum. Zapewne w wątku, w którym ati umieścił skrypt również.

Nie mogę się też powstrzymać od wskazania tego linku http://www.cda.pl/gry-online/g/f_toya2.htm

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

czy w radach linuxowych tez jestestak dobry jak w ironii??

 

otoz przeszukalem cale forum odnosnie tych tematow

i nie udalo mi sie znalexc tego co chcialem

przeszukalem tez wszystkie linki odnoszace sie do innych stron

nie dalo rady

 

ale jesli Ty dasz rade, to bylbym wdzieczny

skorygowac ten skrypt tak zeby mi to dzialalo z moimi uslugami

 

z gory dzieki

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

czy w radach linuxowych tez jestestak dobry jak w ironii??

a nie zauwazyles że Szanowny Waldo juz udowodnil ze jest dobry, jeszcze w to wątpisz? i wykazał chęć pomocy Ci?

Sprobuj tego dla WWW:

#iptables -A INPUT -p TCP -s 0/0 --destination-port 80 -j ACCEPT 

Tematów na wyszukiwarce dotyczacych iptables przy szukaniu "kiedykolwiek" jest troche i ciut-ciut

Odnośnik do komentarza
Udostępnij na innych stronach

co do drugiej czesci - dzieki za pomysl

niestety nie sprawdzil sie sad.gif

Ech, widzę, że coraz więcej osób czepia się moich zgryźliwości sad.gif

A co do tego co napisał przemk, to raczej musi działać. Z całym szacunkiem i bez złośliwości: może wstawiłeś polecenie, które podał przemk po tej linii gdzie masz "$IPTABLES -A INPUT -j DROP". Opcja -A daje append. Może trzeba użyć -I, a po INPUT dać odpowiedni numerek wiersza? Bo rozumiem, że sam wpis dodany z linii komend nie pokazuje błędów?

 

Pozdr,

W.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...