Strona 1 z 2
Reguły iptables do sprawdzenia
: 08 września 2011, 14:15
autor: robero
Witam.
Opis:
[INDENT]ser
wer ma adres 192.168.2.1
komputer1 192.168.2.2
komputer2 192.168.2.3[/INDENT]
Chcę udostępnić dostęp do serwera tylko tym komputerom.
Moje reguły:
Kod: Zaznacz cały
iptables -P INPUT DROP
iptables -t nat -A POSTROUTING -s 192.168.2.2/32 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.2/32 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.3/32 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.3/32 -j ACCEPT
Czy to 32 po adresach to dobra liczba, ja to skopiowałem, na jakiej zasadzie się ją dobiera?
: 08 września 2011, 14:26
autor: v-sgfx
Kod: Zaznacz cały
iptables -t nat -A POSTROUTING -s 192.168.2.2/32 -j MASQUERADE
adres: 192.168.2.2/32 oznacza pulę hostów, którym dajesz dostęp, czyli od 2 do 32
Sytuacja blokowania (zwłaszcza na własnym komputerze) dostępu do jakiegoś hosta rzadko się jednak zdarza. Zazwyczaj zależy nam na zablokowaniu dostępu do naszego komputera lokalnego lub naszej sieci "z zewnątrz". najprostszy przykład polegać może na zablokowaniu dostępu do naszego komputera z określonego innego komputera. Powiedzmy, że chcemy aby nasz komputer był niedostępny dla sieci 192.168.0.0/8:
Tym razem używamy łańcucha INPUT, gdyż dotyczy on pakietów, których celem jest nasz komputer. Reguła -s oznacza "źródło pakietu", czyli adres IP, domenę lub sieć z którego pakiet został nadany.
Podobnie jak w przypadku -d możemy odwrócić źródło przy pomocy wykrzyknika - będziemy wtedy dostępni tylko i wyłącznie dla sieci 192.168.0.0/8.
źródło:
http://zsk.wsti.pl/publikacje/iptables_przystepnie.htm
: 08 września 2011, 14:43
autor: robero
Opcja 1
Kod: Zaznacz cały
iptables -P INPUT DROP
iptables -t nat -A POSTROUTING -s 192.168.2.2/3 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.2/3 -j ACCEPT
Opcja 2
Kod: Zaznacz cały
iptables -P INPUT DROP
iptables -A INPUT -s ! 192.168.2.2/3 -j DROP
Czy któraś z opcji jest ok? Jeśli obie to która lepsza?
: 08 września 2011, 14:56
autor: v-sgfx
Chyba tak:
Kod: Zaznacz cały
iptables -P INPUT DROP
iptables -A INPUT -s 192.168.2.2/3 ! -j DROP
A może i Twoja opcja 2 zadziała.
: 08 września 2011, 15:06
autor: Cyphermen
v-sgfx, co Ty gadasz:
Kod: Zaznacz cały
iptables -t nat -A POSTROUTING -s 192.168.2.2/32 -j MASQUERADE
to 32 to nie, że od 2 do 32 tylko to jest maska, a 32 oznacza, że tylko ten numer, o ile się nie mylę.
Jeśli jednak jest inaczej to chyba się przewrócę.
Poza tym, jeśli chcesz wejść na serwer odblokuj łańcuch ,,input'' dla tej sieci, czy tam tego hosta.
Przekierowanie (
ang. forward) to tylko ruch przechodzący przez serwer, czyli między hostami np. w sieci.
: 08 września 2011, 15:17
autor: robero
Kod: Zaznacz cały
iptables -P INPUT DROP
iptables -A INPUT -s 192.168.2.2/32 -j ACCEPT
iptables -A INPUT -s 192.168.2.3/32 -j ACCEPT
Teraz dobrze?
: 08 września 2011, 15:19
autor: markossx
adres: 192.168.2.2/32 oznacza pulę hostów, którym dajesz dostęp, czyli od 2 do 32
Co Ty mówisz?!
Gdybyście obaj zrobili listing
to byście wiedzieli, że to bzdura. To maska oznaczająca w tym wypadku pojedynczego hosta - niepotrzebna. Jak chcesz kilka hostów to można na przykład tak:
Kod: Zaznacz cały
#NAT
X1="2 3 4 5 6 7 8 9 10"
for i in $X1
do
IP="192.168.2.$i"
iptables -t nat -A POSTROUTING -o eth0 -p all -s $IP -j MASQUERADE
done
Ewentualnie można kombinować na maskach.
: 08 września 2011, 15:33
autor: robero
To jak ocenicie kod z mojego ostatniego posta? Czy jest poprawny?
markosxx dziękuję, mogę taki kod z pętlą dać po prostu do pliku /etc/sysconfig/iptables (o ile taki plik istnieje, nie mogę teraz sprawdzić)?
I chyba POSTROUTING nie jest wskazany w opisywanym przeze mnie przypadku.
: 08 września 2011, 16:29
autor: markossx
Cyphermen, dość długo miałem otwarte na edycji i nie widziałem Twojego wpisu.
robero, czy dobry? To zależy co ma robić. Jak wpuszczać do hosta to w porządku. To jest przykładowa pętla - możesz ją sobie wyregulować pod swoje potrzeby.
: 08 września 2011, 20:03
autor: Cyphermen
robero to zrób to z pomocą snat. Pytałeś, że chcesz dostęp do rutera tylko dla danych adresów, więc jeśli ograniczysz im ten dostęp opcją ,,drop'' na ,,input'' to i tak pisząc reguły
Kod: Zaznacz cały
iptables -P INPUT DROP
iptables -A INPUT -s 192.168.2.2/32 -j ACCEPT
iptables -A INPUT -s 192.168.2.3/32 -j ACCEPT
powinno być w porządku.
Napisałeś o dostępie do serwera, więc maskarada ci tu nie potrzebna. Określ dokładnie co chcesz osiągnąć?