Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2010-07-01 14:53:54

  pietrucha - Użytkownik

pietrucha
Użytkownik
Zarejestrowany: 2010-06-30

kofiguracja iptables plus proxy

Szanowni forumowicze,
mam kłopot z konfiguracją iptables. Buszując po internecie znalazłem pewne rozwiązania, ale nie spełniają się one w moim przypadku.

Napisałem skrypt ustawiający iptables:

Kod:

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
ip_wan=10.0.0.2
ip_dns=10.0.0.9
wan=eth0
lan=eth1
ip_lan=10.0.1.0/24
echo "Usuwanie wszystkich reguł i czyszczenie tablic"
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
echo "Blokada polaczen przychodzacych, zostawiony ruch wychodzacy"
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#dopuszczamy polaczenia z sieci 127.
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT
#
#echo "Pelny dostep do Internetu dla wszystkich hostow"
#iptables -A FORWARD -i $lan -o $wan -p all -j ACCEPT
#
#echo "Odblokowanie DNS"
#----forward----
#iptables -A FORWARD -p tcp --dport 53 -j ACCEPT

iptables -A FORWARD -p udp --dport 53 -j ACCEPT
#----------------
echo "Przekierowanie portu 80 na 3128 - squid"
iptables -I OUTPUT -o $wan -p tcp -s $ip_wan --dport 80 -j ACCEPT
iptables -A INPUT -i $lan -p tcp --src $ip_lan --dport 3128 -j ACCEPT
iptables -t nat -A PREROUTING -i $lan -p tcp --dport 80 -j REDIRECT --to-port 3128
#
echo "Zezwolenie na ruch na porcie 80 i 443, port 80 przekierowany jest na 3128"
#
iptables -A FORWARD -m physdev --physdev-in $lan -o $wan -p tcp -s $ip_lan --dport 443 -j ACCEPT
iptables -A FORWARD -m physdev --physdev-in $lan -o $wan -p udp -s $ip_lan --dport 443 -j ACCEPT
#
echo "Zezwolenie na SMTP,POP3 POP3SSH - odblokownaie portow 25, 110, 465 i 995"
#
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --dport 465 -j ACCEPT
iptables -A FORWARD -p tcp --dport 995 -j ACCEPT
#
echo "Zezwolenie na ftp"
#
iptables -A FORWARD -p tcp --dport 20:21 -j ACCEPT
#
#----postrouting----
#iptables -t nat -A POSTROUTING -o $wan -s $ip_lan -j SNAT --to $ip_wan
#

Efekt jest taki, że squid działa i rejestruje strony, natomiast gdy używam klienta pocztowego na stacji roboczej
w sieci 10.0.1.0/24 to przy próbie pobrania poczty pojawia się komunikat, że nie może znaleźć serwera.
Wygląda na to, że porty do obsługi pop i smtp na proxy są przyblokowane mimo że zawarłem regułkę odblokowujacą
prosiłbym o jakąś podpowiedź gdzie jest błąd?

Ostatnio edytowany przez pietrucha (2010-07-01 15:55:40)

Offline

 

#2  2010-07-02 16:44:53

  micromachine - Użytkownik

micromachine
Użytkownik
Zarejestrowany: 2010-02-04

Re: kofiguracja iptables plus proxy

Pokaz output z iptables -L

Offline

 

#3  2010-07-03 22:01:49

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: kofiguracja iptables plus proxy

Wszystkie usługi typu tcp można "przetestować" za pomocą telnet.
jeżeli reguły są poprawne - musi zostać nawiązane połączenie, a jeżeli połączenie jest nawiązane problemu szukasz w innym miejscu.
Dla mnie komunikat "nie może znaleźć serwera" oznacza błąd rozwiązania nazwy - DNS

Jeszcze drobna uwaga odnośnie reguł - nie wiem czy to całość - jednak jaki ma sens akceptowanie jakichkolwiek pakietów w łańcuchu OUTPUT gdy polityka jest na ACCEPT w sytuacji gdy nie następują po nich reguły w które mogą wpaść :)?

Ostatnio edytowany przez bobycob (2010-07-03 22:05:04)

Offline

 

#4  2010-07-06 10:57:52

  saiqard - Użytkownik

saiqard
Użytkownik
Skąd: Wałbrzych
Zarejestrowany: 2009-07-30

Re: kofiguracja iptables plus proxy

zainteresuj się jeszcze

Kod:

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

natomiast do przeglądania pakietów odrzuconych przez firewall'a:

Kod:

iptables -A FORWARD -o eth0 -j LOG --log-prefix "FWDoeth0:"

wynik będzie wyświetlał się w /var/log/syslog :)

Offline

 

#5  2010-07-06 11:20:03

  pietrucha - Użytkownik

pietrucha
Użytkownik
Zarejestrowany: 2010-06-30

Re: kofiguracja iptables plus proxy

Wszystkie usługi typu tcp można "przetestować" za pomocą telnet.
jeżeli reguły są poprawne - musi zostać nawiązane połączenie, a jeżeli połączenie jest nawiązane problemu szukasz w innym miejscu.

Dziękuję za podpowiedź. Sprawdziłem telnetem połączenia.
Serwer proxy ma dwa interfejsy sieciowe eth0 - internet, eth1 - wewnętrzny lan.
Można się z nim połączyć telnetem na następujące porty: 21, 25, 110, 80 i 3128.
Natomiast nie ma połączenia na porty 53, 995 i 465.
To dzieje się zarówno po stronie eth0 jak i eth1
Do celów testowych zrobiłem taką sieć:
z Internetem jest połączenie przez router DSL na wyjściu routera jest sieć 10.0.0.0/24, w której jest DNS i serwer proxy
połączony interfejsem eth0 do interfejsu eth1 poprzez switch podłączony jest jeden komp (sieć 10.0.1.0/24) z DNS-em w sieci
10.0.0.0/24
Jest to cała konfiguracja iptables.
jeśli zahaszuję następujące linijki kodu:

Kod:

iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT

to mam dostęp do internetu - mogę przeglądać strony www a nie mogę korzystać z klienta pocztowego
(OutLook Express) - przy  próbie połączenia się z serwerem (jest serwer pocztowy tpsa) daje
komunikat, że nie można odnaleźć hosta.
Jeśli z kolei w/w linijki nie będą zahaszowane to wyświetla się strona Squida z komunikatem, że nie można znależć serwera

Ostatnio edytowany przez pietrucha (2010-07-06 13:37:30)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)