Hozzászólások
Hali!
Még kezdő vagyok pf-ben és OpenBSD-ben, de hiába néztem utána mindenhol a problémámnak, nem találtam megoldást.
A következő volna a gond: OpenBSD 3.6 tűzfalat használok otthon ADSL-el pf-el, eddig ment minden rendesen. Két gép van mögötte, egy Slackware, ami a DMZ-nek felel meg, http, stb, és egy WinXP. Dynamic DNS-en keresztül érem el a tűzfalamat. Egész a múlt hétig ment rendesen a linux elérése http redirection-al, azóta azonban csináltam egy transparent proxy-t (Daniel Hartmeier: http://www.benzedrine.cx/transquid.html) és kb azóta nem akar menni. Megnéztem a tcpdump-al a pflog0-t, és azt láttam, hogy a pf általnos block szabálya eldobja a http request-eket. Http nyitva van mindenfelől. Azért nem értem a dolgot, mert csak a transparent proxynak megfelelő változtatásokat csináltam meg a pf.conf-ban, se a block szabályokhoz, se a korábban már meglevő http redirect és pass szabályokhoz nem nyúltam hozzá. Kikapcsoltam a proxy-t, kikommenteztem a neki megfelelő sorokat a pf.conf-ból, de utána se akart menni a http, még akkor se, amikor úgy konfigoltam a pf-et, hogy redirect nélkül a tűzfal test weboldalát jelenítse meg. Amikor egy korábbi, egyszerűbb pf.conf-ot változtattam meg hogy http-t kinyitottam, s azt töltöttem vissza (hátha közben elkonfigoltam valamit), ugyanez volt a hiba, az általános block szabály eldobta a http request-eket, holott a http pass szabály szerepelt a konfigban.
Ugyanakkor a linuxra ssh redirect port forwarding-al és a WinXP-re VNC redirect szintén port forwarding-al gond nélkül megy, csak a http nem.
a pf.conf :
#Macros
ext_if = "tun0"
int_if = "rl1"
int_if2 = "rl2"
LAN_server = "192.168.2.3"
#LAN_firewall = "192.168.1.1"
LAN_clients = "{ 192.168.1.0/24 192.168.2.0/24 }"
Friends = "{ 192.168.1.4, 192.168.2.3, x.x.x.x }"
PRIVATE_BLOCKS = "{ 127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 }"
FW_services = "{ ssh, 4897 }"
VNC_ports = "{ 5800, 5900 }"
CVSupServers = "{ 152.66.243.8, 193.225.13.161, 194.242.157.43, 131.159.252.181 }"
CVSupPorts = "{ 5999 }"
DynDNSServer = "{ 63.208.196.94 }"
DynDNSPorts = "{ 8245 }"
LAN_to_INT_services = "{ www, https, ssh, smtp, pop3 }"
set optimization aggressive
scrub in log on $ext_if all
#NAT and Redirect
nat on $ext_if from $LAN_clients to any -> ($ext_if)
rdr on $ext_if proto tcp from $Friends to $ext_if port 4897 -> 192.168.2.3 port 22
rdr on $ext_if proto tcp from any to $ext_if port www -> 192.168.2.3 port www
rdr on $ext_if proto tcp from any to any port $VNC_ports -> 192.168.1.4
rdr pass on $ext_if proto tcp from $DynDNSServer to $ext_if port $DynDNSPorts -> 192.168.2.3
#Transparent proxy redirection
#rdr on { $int_if $int_if2 } proto tcp from $LAN_clients to any port www -> 127.0.0.1 port 3128
#Blocking rules
#block in quick inet6 all
#block out quick inet6 all
block drop in log quick on $ext_if inet from $PRIVATE_BLOCKS to any
block drop out log quick on $ext_if inet from any to $PRIVATE_BLOCKS
antispoof for $ext_if inet
block in log on $ext_if proto { udp, tcp, icmp } all
#block return in log on $ext_if proto { udp, tcp } all
block out log on $ext_if proto { udp, tcp, icmp } all
#Immediate blocks
# fuzz any 'nmap' attempt
block in log quick on $ext_if inet proto tcp from any to any flags FUP/FUP
block in log quick on $ext_if inet proto tcp from any to any flags SF/SFRA
block in log quick on $ext_if inet proto tcp from any to any flags /SFRA
#Passing rules
#loopback
pass in quick on lo0 all
pass out quick on lo0 all
#UDP name resolution
pass out on $ext_if inet proto udp from $ext_if to any keep state
#to contact internet services
pass out on $ext_if inet proto tcp from $ext_if to any port $LAN_to_INT_services flags S/AUPRFS modulate state
#ping
pass out quick on $ext_if inet proto icmp all icmp-type 8 code 0 keep state
pass in log quick on $ext_if inet proto icmp all icmp-type 8 code 0 keep state
#passive ftp
pass out on $ext_if inet proto tcp from $ext_if to any port 21 flags S/AUPRFS modulate state
pass out on $ext_if inet proto tcp from $ext_if to any port > 1024 flags S/AUPRFS modulate state
#Transparent proxy
#pass in on { $int_if $int_if2 } inet proto tcp from any to 127.0.0.1 port 3128 keep state
#pass out on $ext_if inet proto tcp from any to any port www keep state
#CVS update
pass out quick on $ext_if inet proto tcp from $ext_if to $CVSupServers port $CVSupPorts flags S/SA modulate state
# DynDNS.org update
pass out quick on $ext_if inet proto tcp from any to $DynDNSServer port $DynDNSPorts flags S/SA modulate state
#Time server#
pass out quick on $ext_if inet proto { tcp, udp } from $ext_if to 148.6.0.1 port ntp flags S/SA modulate state
#SSH
pass in on $ext_if inet proto tcp from $Friends to $ext_if port $FW_services modulate state
pass in on $ext_if inet proto tcp from $Friends to $LAN_server port 22 flags modulate state
#DMZ web access
pass in on $ext_if inet proto tcp from any to $ext_if port www flags S/SA synproxy state
#VNC to WinXP
pass in on $ext_if inet proto tcp from $Friends to 192.168.1.4 port $VNC_ports flags S/SA modulate state
block in on $int_if2 all
pass in on $int_if2 inet proto tcp from $Friends to any port $FW_services modulate state
Ezzel a konfiggal a transparent proxy-ig rendesen ment a http redirect.
Segítséget előre is köszönöm!
- A hozzászóláshoz be kell jelentkezni
pass on $ext_if from any to 192.168.2.3 port www
- A hozzászóláshoz be kell jelentkezni
Uhh! Köszi thug, ezt csúnyán benéztem! :oops:
Legközelebb majd jobban körülnézek...csak az a fura, hogy e nélkül a szabály nélkül is ment eddig.
Namind1, fő hogy megy! Thx mégegyszer! :wink:
- A hozzászóláshoz be kell jelentkezni