View Full Version : IPTABLES SQUID DANSGUARDIAN UBUNTU SERVER
ciao a tutti.. sono alle prese con il PROXY ...
ovvero mi funge tutto solo che ogni volta per navigare su internet devo impostare il client windows con indirizzo del PROXY alla porta 8080
come posso ovviare automaitcamnete ???
premetto che tutte le richieste sulla porta 80 sono droppate..
riassumendo:
proxy con 2 schede di rete eth0 = internet ; eth1 = lan locale ;
iptables :
# Generated by iptables-save v1.3.6 on Mon Sep 24 21:41:51 2007
*mangle
:PREROUTING ACCEPT [13371:2794179]
:INPUT ACCEPT [11903:1754674]
:FORWARD ACCEPT [1468:1039505]
:OUTPUT ACCEPT [13138:5911013]
:POSTROUTING ACCEPT [14699:6972175]
COMMIT
# Completed on Mon Sep 24 21:41:51 2007
# Generated by iptables-save v1.3.6 on Mon Sep 24 21:41:51 2007
*filter
:INPUT ACCEPT [166:26427]
:FORWARD ACCEPT [1456:1038670]
:OUTPUT ACCEPT [13126:5909953]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 12193 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 24359 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 24362 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 6881:6892 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.0.0 -o eth0 -p tcp -m tcp --dport 80 -j DROP
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Mon Sep 24 21:41:51 2007
# Generated by iptables-save v1.3.6 on Mon Sep 24 21:41:51 2007
*nat
:PREROUTING ACCEPT [52:2829]
:POSTROUTING ACCEPT [10:1273]
:OUTPUT ACCEPT [177:13541]
-A PREROUTING -i eth0 -p udp -m udp --dport 12193 -j DNAT --to-destination 192.168.1.254:12193
-A PREROUTING -i eth0 -p tcp -m tcp --dport 24359 -j DNAT --to-destination 192.168.1.254:24359
-A PREROUTING -i eth0 -p udp -m udp --dport 4672 -j DNAT --to-destination 192.168.1.254:4672
-A PREROUTING -i eth0 -p tcp -m tcp --dport 4662 -j DNAT --to-destination 192.168.1.254:4662
-A PREROUTING -i eth0 -p udp -m udp --dport 4665 -j DNAT --to-destination 192.168.1.254:4665
-A PREROUTING -i eth0 -p udp -m udp --dport 12193 -j DNAT --to-destination 192.168.1.254:12193
-A PREROUTING -i eth0 -p tcp -m tcp --dport 24359 -j DNAT --to-destination 192.168.1.254:24359
-A PREROUTING -i eth0 -p udp -m udp --dport 24362 -j DNAT --to-destination 192.168.1.254:24362
-A PREROUTING -i eth0 -p udp -m udp --dport 12193 -j DNAT --to-destination 192.168.1.254:12193
-A PREROUTING -i eth0 -p tcp -m tcp --dport 24359 -j DNAT --to-destination 192.168.1.254:24359
:confused: :confused:
Ciao,
hai un firewall tutto aperto..
setta le policy in DROP o REJECT oppure logga e dopo droppa tutto in una catena... cmq:
devi intercettare le chiamate alla porta 80 del web sul gateway e reindirizzarle sempre sul gateway ma verso la porta 8080
$IPT -A PREROUTING -t nat -p tcp -d $IPGATEWAY --dport 80 -j DNAT --to $IPGATEWAY:8080
devi inoltre accettare il traffico in input sulla interfaccia dove ascolta il processo.
bye
intanto grazie per l'aiuto...
si è aperto .. poiche il server ha :
amule
ftp
http
ecc....
fa anche da PROXY ... con squid e dansguardian
la policy in drop c'è solo che se la metto tutti i browers si devono configurare manualmente... invece vorrei che vengano reindirizzati alla porta 8080 dove li aspetta dansguardian.. spero di essere stato chiaro....:confused:
allora ho dato la seguente impsotazione :
eth1= rete locale -192.168.0.1
eth0= internet 192.168.1.254
iptables -A PREROUTING -t nat -p tcp -d 192.168.0.1 --dport 80 -j DNAT --to 192.168.1.254:8080
morale: i pc navigano ma non v'è filtro di dansguardian
cosa che esiste se attivo sul browers impostaizoni lan :192.168.1.254:8080
ho provato anche :
iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j DNAT --to 192.168.1.254:8080
ma il browers esce con una schermata di http invalid SQUID ......
ciao
devi mettere questa:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.254:8080
dovrai poi accettare i pacchetti su quella interfaccia..
magari metti una regola di log cosi vedi se routa il pacchetto:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j LOG --log-prefix "[ PREROUTING DANS ]"
bye
..grazie... provo e di faccio sapere:ave:
ciao
devi mettere questa:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.254:8080
dovrai poi accettare i pacchetti su quella interfaccia..
magari metti una regola di log cosi vedi se routa il pacchetto:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j LOG --log-prefix "[ PREROUTING DANS ]"
bye
---allora ho messo la regola consigliata ....e appena apro il browers ( internet explorer ricevo :
The following error was encountered:
Invalid Request
Some aspect of the HTTP Request is invalid. Possible problems:
Missing or unknown request method
Missing URL
Missing HTTP Identifier (HTTP/1.0)
Request is too large
Content-Length missing for POST or PUT requests
Illegal character in hostname; underscores are not allowed
Your cache administrator is webmaster.
--------------------------------------------------------------------------------
Generated Thu, 27 Sep 2007 11:50:53 GMT by localhost (squid/2.6.STABLE5)
????????... dove sbaglio .. forse devo mettere qualche altra regola ???'
che sito cerchi di aprire?
al tuo squid non piacciono le url con l'underscore.
cmq secondo me stai scasinando
posta l'output del comando:
iptables -nvL
ciao
allora a rieccomi :
1) il problema si manifesta con tutti i siti .. anche il piu semplice come google.it
ecco quanto richiesto :
Chain INPUT (policy ACCEPT 46 packets, 11063 bytes)
pkts bytes target prot opt in out source destination
120 14747 ACCEPT 0 -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 111 ACCEPT 0 -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:12193
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:24359
0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:24362
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:6881:6892
Chain FORWARD (policy ACCEPT 2 packets, 421 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 226 packets, 114K bytes)
pkts bytes target prot opt in out source destination
14 2245 ACCEPT 0 -- * lo 0.0.0.0/0 0.0.0.0/0
root@SERVER:~#
ciao
scusami pasta anche l'output di questi:
iptables -nvL -t nat
iptables -nvL -t mangle
lasciando perdere il firewall (pensiamo una cosa alla volta)
sei sicuro che dansguardian/squid funzionino decentemente?
non e' che magari hai aggiunto l'autenticazione a squid (te lo chiedo perche' transparent proxy + autenticazione non si puo' fare)?
se quel firewall che hai postato gira sulla macchina che ha ip 192.168.1.254 mi sa che devi riguardarti un attimino iptables (a meno di una configurazione veramente stramba dei servizi che usano tutte quelle porte che redirigi... e allora e' meglio se oltre a iptables dai un'occhiata alla configurazione dei singoli servizi)
allra che squid e dansguardian funzionano ne sono certo al 100%
infatti se metto su internet explorer impostazioni proxy 192.168.1.254 porta 8080 ... navigo e i contenuti vengono filtrati regolarmente.....quindi escludo una problematica di questo tipo....inoltre avevo fatto una prova a mettere su iptables forward con regola di drop su porta 80 cosi da obligare a impostare il browers a 8080 .... quindi ci sono ... è proprio questo che volgio evitare ... vorrei
anzhiche impostare manualmente il browers alla porta 8080 venga rediretto auotmaticamente .....
problabile qualcosa su squid vvada corretta??.. ma sinceramente non saprei dove cercare
p.s quelle porte che trovi aperte suono di amule.....
allra che squid e dansguardian funzionano ne sono certo al 100%
infatti se metto su internet explorer impostazioni proxy 192.168.1.254 porta 8080 ... navigo e i contenuti vengono filtrati regolarmente.....quindi escludo una problematica di questo tipo....inoltre avevo fatto una prova a mettere su iptables forward con regola di drop su porta 80 cosi da obligare a impostare il browers a 8080 .... quindi ci sono ... è proprio questo che volgio evitare ... vorrei
anzhiche impostare manualmente il browers alla porta 8080 venga rediretto auotmaticamente .....
problabile qualcosa su squid vvada corretta??.. ma sinceramente non saprei dove cercare
siccome non ho mai configurato squid come transparent proxy, prova a cercare qualcosa su internet... potrebbe essere che ha bisogno di qualche cosa in particolare (basta cercare in google: squid transparent proxy)
p.s quelle porte che trovi aperte suono di amule.....
se intendi queste:
-A PREROUTING -i eth0 -p udp -m udp --dport 12193 -j DNAT --to-destination 192.168.1.254:12193
-A PREROUTING -i eth0 -p tcp -m tcp --dport 24359 -j DNAT --to-destination 192.168.1.254:24359
-A PREROUTING -i eth0 -p udp -m udp --dport 4672 -j DNAT --to-destination 192.168.1.254:4672
-A PREROUTING -i eth0 -p tcp -m tcp --dport 4662 -j DNAT --to-destination 192.168.1.254:4662
-A PREROUTING -i eth0 -p udp -m udp --dport 4665 -j DNAT --to-destination 192.168.1.254:4665
-A PREROUTING -i eth0 -p udp -m udp --dport 12193 -j DNAT --to-destination 192.168.1.254:12193
-A PREROUTING -i eth0 -p tcp -m tcp --dport 24359 -j DNAT --to-destination 192.168.1.254:24359
-A PREROUTING -i eth0 -p udp -m udp --dport 24362 -j DNAT --to-destination 192.168.1.254:24362
-A PREROUTING -i eth0 -p udp -m udp --dport 12193 -j DNAT --to-destination 192.168.1.254:12193
-A PREROUTING -i eth0 -p tcp -m tcp --dport 24359 -j DNAT --to-destination 192.168.1.254:24359
e la tua macchina (da come ho capito) ha 2 interfacce di rete, una con ip 192.168.0.1 e l'altra 192.168.1.254, sono totalmente inutili, infatti se lanci un
netstat -pln | grep mule
vedrai che amule stara' in ascolto su tutte le interfacce e non sara' bindato solo sulla 192.168.1.254
e comunque sia per amule dovrebbero bastarti solamente 4662 tcp e 4672 udp..
inoltre visto che sei dietro ad un router (visto che la tua interfaccia internet e' 192.168.0.1) l'importante e' che sia configurato lui bene in modo da ridirigere le suddette porte su 192.168.0.1
quindi alla fine dei conti, visto le regole che usi, il firewall non ti serve a niente (fai ACCEPT su tutto e il risultato sara' identico se invece ti fidi poco del tuo router, o hai configurato il router per mettere 192.168.0.1 in DMZ, allora e' meglio che inizi a chiudere qualcosa!)
Ciao!
allora sul proxy .. faro una ricerca su google.. ma solo gi ail pensiero di leggere l'inglese ... mi vien il mal di pancia :p
per quanto riguarda emule
l'interfaccia di rete che va su internet è lastessa del proxy e dei servizi... annessi 192.168.1.254 ovvero
ADSL-----> ROUTER -----> PROXY (192.168.1.254)
LAN LOCALE ( 192.168.0.1.)
AD OGNI MODO IL ROUTER HA IL FIREWALL ....
ciao
facciamo chiarezza....:
dansguardian ===> proxy_generico ===> internet
porta 8080 =====> porta 3128 ======> porta 80 del sito
viene da se che dansguardian da solo non puo funzionare, ha
SEMPRE bisogno di un proxy dietro che prelevi la pagina dal web
sulla porta 80 o 443 o quella che vuoi per noi....
che poi sia squid o varnish o oops o apache o quello che vuoi non importa.
Importa in parte dove ascoltano i servizi...
assumento che dansguardian ascolti sull'interfaccia di rete della lan,
e squid o sulla stessa o ancora meglio in localhost,
con le regole che ti ho specificato prima non dovresti avere problemi.
il trasparent proxying qua non lo effettui con squid ma bensi su dansguardian.
quindi per finire:
prendi le richieste che hanno destinazione tcp porta 80 e come sorgente la tua lan e le ruoti verso l'ip di dove ascolta dansguardian e sulla sua porta:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.254:8080
ora che i pacchetti cambiano destinazione devi aprire la porta sul firewall
per accettarli nella rispettiva interfaccia su cui ascolta il tuo servizio.
assumento eth1 come interfaccia:
iptables -A INPUT -i eth1 -p tcp -d 192.168.1.254 --dport 8080 -j ACCEPT
quest'ultima regola in teoria non ti serve visto il tuo firewall completamente
aperto.
per vedere dove ascoltano i servizi:
netstat -ntl
spero di essere stato chiaro :)
prova e fai sapere, byez
allora .. ho riferificato la mi iptables.............
ho inserito quello che mi hai detto tu :
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.254:8080
e in piu su il file di squid.conf
poiche la versione è una 2.6
ho messo :
http_port 127.0.0.1:3128 transparent
o riavviato i servizi , squid e di iptables ( lo carico all'avvio con la rete )e adesso non è piu necessario impostare i browers-------
GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE A TUTTTTTTIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
:ave: :ave: :cincin: :winner: ..VE LA MERITATE.. VERAMENTE PER LA PAZIENZA CHE AVETE....
thank !!!!!!!!!
Ciao
Ottimo lavoro, buon surfing :)
byez
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.