iptables - nie dzia

Masz problemy z siecią bądź internetem? Zapytaj tu
retarf
Posty: 18
Rejestracja: 08 kwietnia 2010, 14:03

iptables - nie działająca reguła

Post autor: retarf »

Witam.

Uczę się właśnie iptables, ale coś mi nie chcą zaskoczyć proste reguły kiedy ustawiam politykę na DROP w tablicy filter. Robię to tak:

Kod: Zaznacz cały

iptables -P INPUT DROP
resztę łańcuchów pozostawiam bez zmian, następnie:

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
i nie otwierają mi się strony. Takie proste reguły podawane są we wszystkich poradnikach jakie czytałem, więc tym bardziej dręczy mnie pytanie, dlaczego?
rgl
Posty: 16
Rejestracja: 03 listopada 2009, 23:43

Post autor: rgl »

Jeśli dobrze zrozumiałem to Ty chcesz łączyć za pomocą przeglądarki z stronami w internecie.
Ustawiasz politykę kanału INPUT na DROP a więc zabraniasz dostępu jakichkolwiek pakietów do swojego hosta. Następna reguła umożliwia dostęp do twojego hosta pakietów tcp przychodzących na port 80 twojego hosta. Ale port 80 jest portem serwera http a nie portem z którego korzysta przeglądarka uruchomiona na twoim hoście. Więc można się z zewnątrz połączyć z serwerem http na twoim hoście (jeśli taki jest uruchomiony) ale żadne inne pakiety skierowane do twojego hosta nie przejdą.
Regułka dopuszczająca ruch przychodzący dla połączeń zainicjowanych przez Ciebie wyglądałaby mniej więcej tak:

Kod: Zaznacz cały

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
powyższe przepuści wszystkie połączenia które zostały zainicjowane z twojego hosta mimo ustawienia polityki kanału INPUT na DROP
retarf
Posty: 18
Rejestracja: 08 kwietnia 2010, 14:03

Post autor: retarf »

No tak. Chyba za długo nad tym siedziałem i mi się pomieszało. Chodziło mi o to żeby zablokować wszystkie wychodzące połączenia oprócz portu 80 - czyli w łańcuchu OUTPUT, a w INPUT miała być powyższa reguła. rgl, dziękuję za pomoc.

Oczywiście jak to bywa z początkującymi, mam jeszcze kilka pytań, ale zadam tylko najważniejsze:
Po zastosowaniu wyżej opisanych reguły:

Kod: Zaznacz cały

iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Próbuję się połączyć z hostem 10.0.1.2 przez ssh i znowu nie działa. Skoro jest załadowana opcja stanu ESTABLISHED powinno być wszystko w porządku, a nie jest. Oczywiście jak zmienię politykę łańcucha INPUT na ACCEPT wszystko jest w porządku.
rgl
Posty: 16
Rejestracja: 03 listopada 2009, 23:43

Post autor: rgl »

To są twoje wszystkie reguły? Jeśli tak to przy ustawieniu kanału OUTPUT na ACCEPT nic nie powinno blokować wyjścia przez SSH chyba że blokują to jakieś inne reguły. daj wynik:

Kod: Zaznacz cały

 iptables -L -v 
retarf
Posty: 18
Rejestracja: 08 kwietnia 2010, 14:03

Post autor: retarf »

Bardzo bym chciał, jednak tak sprytnie ustawiłem mój firewall, że nie umiem się połączyć zdalnie z tym komputerem. Jutro postaram się dać wynik wspomnianego polecenia.

Wygląda to mniej więcej tak:

Kod: Zaznacz cały

Chain INPUT (policy DROP 24285 packets, 1932K bytes)
 pkts bytes target     prot opt in     out     source               destination         
14473 1571K ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    2   108 ACCEPT     tcp  --  any    any     192.168.1.3          anywhere            tcp dpt:ssh state NEW 
   22  3424 ACCEPT     udp  --  any    any     192.168.1.2          anywhere            udp dpt :o penvpn state NEW 
    4   240 ACCEPT     tcp  --  any    any     192.168.0.3          anywhere            tcp dpt:ssh state NEW 
   11   924 ACCEPT     icmp --  any    any     192.168.0.3          anywhere            state NEW 

Chain FORWARD (policy DROP 73 packets, 5484 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  757  387K ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
   18  1080 ACCEPT     tcp  --  any    any     anywhere             vlat                tcp dpt:www state NEW 

Chain OUTPUT (policy ACCEPT 27947 packets, 4703K bytes)
 pkts bytes target     prot opt in     out     source               destination         
Host, o którym mowa łączy się przez ruter (192.168.1.2) do sieci A. Tą drogą ma również internet. Z hostem 10.0.1.2 (vlat) tworzy podsieć B. Z tym właśnie komputerem chciałem się połączyć przez ssh. Docelowo tam też ma być internet, ale dzięki polityce DROP na łańcuchu FORWARD również nie działa. 192.168.0.3 to host, z którego się łącze przez openvpn - oczywiście nie działa. Wychodzi na to, że ssh w ogóle nie działa w żadną ze stron.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Każdy adres, który podałeś należy do innej sieci, więc może w mym jest problem.
retarf
Posty: 18
Rejestracja: 08 kwietnia 2010, 14:03

Post autor: retarf »

Wszystkie trzy interfejsy działają, więc chyba to nie to. Spróbuję ustawić wszystko od początku i w razie powodzenia zdam relację.
ODPOWIEDZ