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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam. Mam taki problem odnośnie firewalla. Mam na jednym serwerze serwer squida oraz dansguardian'a
i firewalla. Skonfigurowałem sobie firewalla z przekierowaniem na porty dansguardiana ale jest problem z wyświetlaniem stron.
Konfig wygląda tak:
#!/bin/bash function aktyw_polit_domyslna() { echo "1" > /proc/sys/net/ipv4/ip_forward iptables -F iptables -P INPUT DROP iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -F -t nat iptables -A INPUT -s 192.168.15.0/24 -p tcp --dport 22 -j ACCEPT } function zerowanie() { echo "1" > /proc/sys/net/ipv4/ip_forward iptables -F iptables -F -t nat ####### POLITYKA DOMYSLNA iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT } function nat() { iptables -t nat -A POSTROUTING -o eth0 -s 192.168.15.0/24 -j SNAT --to 192.168.115.13 } function reguly() { iptables -A FORWARD -s 192.168.15.0/24 -p udp --dport 53 -j ACCEPT iptables -A FORWARD -s 192.168.15.0/24 -p tcp --dport 80 -j ACCEPT iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3129 }
Jak widać ostatnia linijka przekierowuje ruch z 80 na 3129 ( port dansguardian, port squida to 3128 )
I nie działa. Pingi przechodzą ale strony się nie otwierają.
Dopiero kiedy zmienię linijkę z polityki domyślnęj:
iptables -P INPUT DROP na iptables -P INPUT ACCEPT to wszystko śmiga. Ale wtedy odblokowuje cały INPUT.
Ma ktoś może jakiś pomysł??
Offline
Może spróbuj dodać utrzymanie połączeń, które zostały nawiązane :
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
Ostatnio edytowany przez ba10 (2013-11-14 16:23:05)
Offline
Absolutnie nie dawał bym tego na wszystkie cele.
Offline
Nawet jeśli to i tak nie pomogło. Nie bardzo wiem co może być nie tak.
Offline
Odpal firefox i na sztywno wpisz w ustawieniach żeby używał proxy 3128 i sprawdź czy strony się wyświetlają będziesz wiedział ze squid jest ok
Potem na sztywno proxy 3129 i będziesz wiedział że dans + squid ok
Ja przekierowuje na dansa trochę inaczej, sprawdź może pomoże.
U ciebie powinno to mniej więcej wyglądać tak:
for iiii in `seq 2 254` do iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.15.$iiiii --dport 80 ! -d 192.168.15.0/24 -j DNAT --to-destination 192.168.15.1:3128 done
Offline
qlemik napisał(-a):
.....................
Ja przekierowuje na dansa trochę inaczej, sprawdź może pomoże.
U ciebie powinno to mniej więcej wyglądać tak:Kod:
for iiii in `seq 2 254` do iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.15.$iiiii --dport 80 ! -d 192.168.15.0/24 -j DNAT --to-destination 192.168.15.1:3128 done
@qlemik
Zabiłeś kotka. :D
Co to za gimnastyka z tą pętlą for?
Do pakowania 200 albo 200 000 adresów do jednej regułki służy w Netfilterze ipset.
Sznurki:
http://ipset.netfilter.org/
http://www.varlog.pl/2010/03/ipset-znany-i-nieznany/
Pomijając fakt, że do powyższego przypadku nawet Ipseta nie trzeba, wystarczy przestrzegać kolejności reguł, i najpierw przepuścić co trzeba,
a potem całą klasę adresową po masce np /24 wysłać na proxy przez DNAT.
Sznurki:
http://jacekalex.sh.dug.net.pl/Iptables-packet-flow.png
http://pl.wikibooks.org/wiki/Sieci_w_Linuksie/Netfilter/iptables
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2013-11-29 18:45:46)
Offline
@Jacekalex
Zabiłeś kotka. :D
Co to za gimnastyka z tą pętlą for?
Dobre to ipset :)
Dzięki i Pozdrawiam
Offline
@qlemik
Co Ci przypomina, co Ci przypomina:
#!/bin/bash ipset create peerblock hash:net maxelem 262144 2>/dev/null curl -L "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz" | gunzip | cut -d: -f2 | grep -E "^[-0-9.]+$" | gawk '{print "add peerblock "$1}' | ipset restore -exist iptables -t raw -I OUTPUT -p tcp --match multiport ! --dports 80,443 -m set --match-set peerblock dst -j DROP iptables -t raw -I PREROUTING -p tcp --match multiport ! --sports 80,443 -m set --match-set peerblock src -j DROP
Widok straszliwy ten....
Odpal tego skrypta z roota, a potem policz adresy w tablicy, wyświetlone poleceniem:
ipset list peerblock
Przyjemnego liczenia. :DDD
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2013-11-15 12:22:03)
Offline