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  2013-11-14 14:53:15

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Iptables + konfiguracja routera

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:

Kod:

#!/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ł??


debbie
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

#2  2013-11-14 16:21:35

  ba10 - Członek DUG

ba10
Członek DUG
Skąd: jesteś ?
Zarejestrowany: 2006-03-07
Serwis

Re: Iptables + konfiguracja routera

Może spróbuj dodać utrzymanie połączeń, które zostały nawiązane :

Kod:

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)


"Jeżeli chcesz się nauczyć Linuksa, to pierwsze co musisz zrobić to odrzucić wszelkie przyzwyczajenia wyniesione z poprzedniego systemu. Twoja wiedza jest o tyle zgubna, że daje Ci poczucie że coś jednak wiesz — jednak w kontekście Linuksa prawdopodobnie nie wiesz jeszcze nic." Minio
Mój [url=jarekw.eu]Blog[/url], a później [url=tanczymy.com]Tańczymy[/url] ;)

Offline

 

#3  2013-11-14 20:25:38

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: Iptables + konfiguracja routera

Absolutnie nie dawał bym tego na wszystkie cele.

Offline

 

#4  2013-11-15 07:18:57

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Iptables + konfiguracja routera

Nawet jeśli to i tak nie pomogło. Nie bardzo wiem co może być nie tak.


debbie
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

#5  2013-11-15 07:23:31

  qlemik - Użytkownik

qlemik
Użytkownik
Zarejestrowany: 2007-11-27

Re: Iptables + konfiguracja routera

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:

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

Offline

 

#6  2013-11-15 08:35:53

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Iptables + konfiguracja routera

[quote=qlemik].....................

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

[/quote]
@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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2013-11-15 09:48:06

  qlemik - Użytkownik

qlemik
Użytkownik
Zarejestrowany: 2007-11-27

Re: Iptables + konfiguracja routera

@Jacekalex
Zabiłeś kotka. :D
Co to za gimnastyka z tą pętlą for?

Dobre to ipset :)


Dzięki i Pozdrawiam

Offline

 

#8  2013-11-15 11:26:01

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Iptables + konfiguracja routera

@qlemik

Co Ci przypomina, co Ci przypomina:

Kod:

#!/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:

Kod:

ipset list peerblock

Przyjemnego liczenia. :DDD

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2013-11-15 12:22:03)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

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

[ Generated in 0.012 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00011 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00173 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.22.42.189' WHERE u.id=1
0.00160 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.22.42.189', 1732863287)
0.00064 SELECT * FROM punbb_online WHERE logged<1732862987
0.00091 SELECT topic_id FROM punbb_posts WHERE id=245804
0.00008 SELECT id FROM punbb_posts WHERE topic_id=24610 ORDER BY posted
0.00088 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24610 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00193 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24610 ORDER BY p.id LIMIT 0,25
0.00115 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24610
Total query time: 0.00916 s