FBSD, transp. Squid, PF---proxy funzt, aber nicht transp.

hobby

#man women
Hallo liebe "Gemeinde"...


ich werde noch wahnsinnig wg squid...

ich habe hier ein Free BSD 5.3-RELEASE-p2, mit squid-2.5.7_3 und pf am laufen...so weit so gut.

um es kurz zu halten; wenn ich im browser den proxy port einstelle funktioniert alles und die access.log von squid schreibt zB folgendes korrekt (auszug):
Code:
1102822607.528    112 10.0.0.20 TCP_REFRESH_HIT/304 278 GET http://www.swr.de/sw
r_standard/nachrichten/gfx/design/bg_rechts.gif - DIRECT/217.6.176.9 image/gif
1102822607.671    216 10.0.0.20 TCP_MISS/200 2026 GET http://www.swr.de/verkehr/
gfx/stauschild.gif - DIRECT/217.6.176.16 image/gif
1102822607.701    251 10.0.0.20 TCP_MISS/200 7856 GET http://www.swr.de/wetter/g
fx/wetter_sit_gross/nebel.gif - DIRECT/217.6.176.16 image/gif
1102822607.947    493 10.0.0.20 TCP_MISS/302 302 GET http://www.swr.de/swr_stand
ard/nachrichten/gfx/design/trenner178_rechts.gif.gif - DIRECT/217.6.176.9 text/p
lain
1102822608.063    115 10.0.0.20 TCP_MISS/200 2896 GET http://www.swr.de/nachrich
ten/index.html - DIRECT/217.6.176.9 text/html

wenn ich nun aber im browser den proxy deaktivieren und alles transparent laufen "sollte" kommt beim aufurf einer URL sofort ein popup, dass die seite nicht geöffnet/gefunden werden konnte und in der access.log kommt folgendes:
Code:
1102822607.461   2013 10.0.0.20 TCP_MISS/200 65835 GET http://www.swr.de/nachric
hten/bw/stuttgart/index.html - DIRECT/217.6.176.16 text/html
1102822607.528    112 10.0.0.20 TCP_REFRESH_HIT/304 278 GET http://www.swr.de/sw
r_standard/nachrichten/gfx/design/bg_rechts.gif - DIRECT/217.6.176.9 image/gif
1102822607.671    216 10.0.0.20 TCP_MISS/200 2026 GET http://www.swr.de/verkehr/
gfx/stauschild.gif - DIRECT/217.6.176.16 image/gif
1102822607.701    251 10.0.0.20 TCP_MISS/200 7856 GET http://www.swr.de/wetter/g
fx/wetter_sit_gross/nebel.gif - DIRECT/217.6.176.16 image/gif
1102822607.947    493 10.0.0.20 TCP_MISS/302 302 GET http://www.swr.de/swr_stand
ard/nachrichten/gfx/design/trenner178_rechts.gif.gif - DIRECT/217.6.176.9 text/p
lain
1102822608.063    115 10.0.0.20 TCP_MISS/200 2896 GET http://www.swr.de/nachrich
ten/index.html - DIRECT/217.6.176.9 text/html

EDIT: mist, ich sehe grade das im log "über mir" ja doch alle zu funzen scheint...sehr seltsam...habe es grade nochmal ausprobiert und nun wird bei der transp.var. (wenn ich dem browser keinen proxy nenne) NICHTS in der access.log hinzufügt..sie bleibt unverändert wie beim letzten mal, wo es ging..
aber ich hatte es schon einmal gestern, wo fehler auftauchten...naja, bevor ich mich jetzt selber verwirre...ihr wisst ja sicherlich, was ich meine


hier meine pf.conf:
Code:
### Variablen ###

Intern = "fxp1"
Extern = "tun0"
IntNet = "10.0.0.0/24"
RouterIP = "10.0.0.1"
Loop = "lo0"

# Adressen die auf dem externen Device nicht geroutet werden
NoRoute = "{ 127.0.0.0/8, 172.16.0.0/12, 10.0.0.0/8, 255.255.255.255/32 }"

# Ports die geoeffnet werden sollen
InServicesTCP = "{ 21, 22, 80 }"
#InServicesUDP = "{   }"

### Options ###

# Statistiken fuer die DSL-Verbindung
set loginterface $Extern

# Beendet inaktive Verbindungen schneller
set optimization aggressive

# Fragmentierte Pakete saeubern
scrub on $Extern all fragment reassemble random-id

### NAT & Forward ###

# NAT Aktivieren
nat on $Extern from $IntNet to any -> $Extern static-port

# WWW - Umleitung zu squid
rdr on $Intern proto tcp from any to any port 80 -> 127.0.0.1 port 8080

# NAT Rules
rdr on $Extern proto tcp from any to any port 80 -> 127.0.0.1 port 8080

# Falls Active FTP gew<FC>nscht ist, folgendes Auskommentieren:
# rdr on $Intern proto tcp from !$RouterIP to !$IntNet port 21 -> 127.0.0.1 port
 8021

rdr-anchor redirect

### Filter ###

# Generelle Block Regel
block on $Extern
block return log on $Extern

# IPv6.0 Blocken
block quick inet6

# Loopback Device darf alles
pass quick on $Loop

# Erschwert scannen mit nmap und co.
block in log quick on $Extern inet proto tcp from any to any flags FUP/FUP
block in log quick on $Extern inet proto tcp from any to any flags SF/SFRA
block in log quick on $Extern inet proto tcp from any to any flags /SFRA

# IP Spoofing verhindern
block in log quick on $Extern inet from $NoRoute to any
block in log quick on $Extern inet from any to $NoRoute

# Active FTP erlauben
#pass in quick on $Extern inet proto tcp from any to any port > 49151 user proxy
 flags S/SAFR keep state

# Ping akzeptieren
pass in quick on $Extern inet proto icmp all icmp-type 8 code 0 keep state

# Ports nach aussen oeffnen
pass in quick on $Extern inet proto tcp from any to any port $InServicesTCP flag
s S/SAFR keep state label ServicesTCP
#pass in quick on $Extern inet proto tcp from any to any port $InServiceUDP flag
s S/SAFR keep state label ServicesUDP

anchor passin

# Raus darf (fast) alles
pass out quick on $Extern keep state

hier die squid.conf:
Code:
http_port 10.0.0.1:8080

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy  on
httpd_accel_uses_host_header on



cache_mgr

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp

acl CONNECT method CONNECT

acl NETZ src 10.0.0.0/24

http_access allow NETZ
http_access deny all

fxp0 = tun0
fxp1 = LAN IF (10.0.0.1)

vielen dank für hilfe, falls welche kommt ;)
:-)

ps.: ich hoffe, es sind alle erforderlichen angaben dabei :D
gN8 :huth:
 
Zuletzt bearbeitet:
OK, ich habe das Problem jetzt eigenständig lösen können, nach laaaaaaangem rumprobieren!

undzwar habe ich in der pf.conf beim rdr des port 80 nicht den localhost, sondern die IP des internen int. angegeben....

alt, NICHT funktionierend:
Code:
rdr on $Intern proto tcp from any to any port 80 -> 127.0.0.1 port 8080

neu, funzt!!!:
Code:
rdr on $Intern proto tcp from any to any port 80 -> 10.0.0.1 port 8080

gN8
 
Habe ein ähnliches Problem.
Und zwar:
pf leitet zwar die Anfragen von Port 80 auf Port 3128 (Squid) um, allerdings bekommt der Squid, egal was ich im Browser eingeb, als URL nur ein "/" übergeben.

Woran kann dies liegen?

Squid funktioniert. Wenn ich im Browser den Proxy einstelle dann geht es.

pf.conf wie oben von Hobby

Gruß ShitHappens
 
Die squid.conf muss bestimmte Werte für transparent-Proxy enthalten (siehe Checklist). Ansonsten könnte es sein das Ihr Squid mit den falschen Optionen übersetzt habt. Verwendet also einfach Squid als Package um sicherzugehen.
Code:
% pkg_add -r squid
 
Zurück
Oben