Hi, Am 01.03.2013 um 15:24 schrieb Leonardo Santagostini <lsantagost...@gmail.com>: > Im facing maybe a misbehavior in my OpenBSD 5.2. This machine is > virtualized with KVM with 2 CPU and 4 Gb RAM > > Im running 5.2 GENERIC#278 i386 > > The point is: > > tld relay rule as show in my config is working properly. But, tld1 and > tld2 doesnt work when post method is invoked from the page is served > by the 4 webcaches i have working behind relayd. >
Do you have any log messages from relayd? Run it in foreground with some -d and -v flags to get more info... Can you provide some information about the POST? Maybe a pcap or tcpdump text dump: how do the HTTP headers look like, how large is the payload etc. But please look below first, there are inconsistencies in your relayd.conf. > ext_if="pcn0" > > set fingerprints "/etc/pf.os" > set optimization aggressive > > # match on $ext_if all scrub (no-df) > > # Genero las tablas que voy a usar > table <ips_malas> persist > table <redes_yell> persist file "/etc/redes.yell" > table <redes_permitidas> persist file "/etc/redes_permitidas.txt" > > # Defino la ip del balanceador para Mobile > address_mobile = "10.0.1.181" > address1 = "10.0.1.16" > > # Dejo de procesar cuando se trata de las redes internas > pass in quick from <redes_yell> to any > > # Dejo pasar las ips desde las redes permitidas > pass in quick from <redes_permitidas> to $address_mobile > > # Genero el block > block in quick from <ips_malas> > block in log quick on $ext_if proto tcp from any os "NMAP" to any > label ExtNMAPScan > > # Proteccion contra nmap y herramientas similares > # block in quick on $ext_if proto tcp flags FUP/WEUAPRSF > block in quick on $ext_if proto tcp flags WEUAPRSF/WEUAPRSF > block in quick on $ext_if proto tcp flags SRAFU/WEUAPRSF > block in quick on $ext_if proto tcp flags /WEUAPRSF > block in quick on $ext_if proto tcp flags SR/SR > block in quick on $ext_if proto tcp flags SF/SF > block in quick from urpf-failed > > > # Aplico reglas de DoS y Syn Flood en tld > pass in log on $ext_if proto tcp to $address_mobile port www keep > state (sloppy, max 10000, max-src-nodes 5000, max-src-conn 100, > max-src-conn-rate 95/2, adap > tive.start 6000, adaptive.end 12000, tcp.first 15, tcp.opening 5, > tcp.established 3600, tcp.closing 5, tcp.finwait 15, tcp.closed 15, > tcp.tsdiff 5) > > > # Aplico reglas de DoS y Syn Flood en tld2 > pass in on $ext_if proto tcp to $address1 port www keep state (sloppy, > max 10000, max-src-nodes 5000, max-src-conn 150, max-src-conn-rate > 150/3) > > > # Anchor Para relayd > anchor "relayd/*" > > ---------------------------- > # Archivo de configuracion de balanceo > > ## Opciones globales > interval 5 > timeout 1000 > prefork 5 > > ## Direcciones de las vip > address1="10.0.1.16" > address2="10.0.1.181" > address3="10.0.1.182" > > > ## Direcciones de los servidores > mobileWap01="10.0.1.200" > mobileWap02="10.0.1.201" > webcache01="10.0.1.70" > webcache02="10.0.1.71" > webcache03="10.0.1.72" > webcache04="10.0.1.73" > > ## Definicion de Tablas > table <mobileweb> { $mobileWap01 $mobileWap02 } > table <webcaches> { $webcache01 $webcache02 $webcache03 $webcache04 } > table <webcaches1> { $webcache01 } > > ## Definicion de protocolos (Filtros) > > http protocol "tld" { > OK, I see this is used by relay "tld". > # Parametros de rendimiento > tcp {nodelay, sack, socket buffer 65536, backlog 100 } > FYI, the socket buffer option can probably be removed as we support dynamic buffer scaling since a few releases. > ## Prueba > # return error > > # Cerramos la conexion > header change "Connection" to "close" > > # Block disallowed sites > label "URL Request DENIED" > request header expect "tld.com.ar" from "Host" > request header expect "www.tld.com.ar" from "Host" > request header expect "s.tld.com.ar" from "Host" > request header expect "get.tld.com.ar" from "Host" > request header expect "test.tld.com.ar" from "Host" > > # Block disallowed browsers > label "Please try a <em>different Browser</em>" > header filter "Mozilla/4.0 *" from "User-Agent" > > header append "$REMOTE_ADDR" to "X-Forwarded-For" > cookie hash "sessid" > > } > http protocol "httpRural" { This is not used by any of the relays. > > # Parametros de rendimiento > tcp {nodelay, sack, socket buffer 65536, backlog 100 } > > # return error > > # Cerramos la conexion > header change "Connection" to "close" > > # Block disallowed sites > label "URL Request DENIED" > request header expect "tld1.com.ar" from "Host" > request header expect "*.tld1.com.ar" from "Host" > request header expect "rojas.tld1.com.ar" from "Host" > > # Block disallowed browsers > label "Please try a <em>different Browser</em>" > header filter "Mozilla/4.0 *" from "User-Agent" > > header append "$REMOTE_ADDR" to "X-Forwarded-For" > cookie hash "sessid" > > } > > http protocol "httpBlancas" { > This is not used by any of the relays. > # Parametros de rendimiento > tcp {nodelay, sack, socket buffer 65536, backlog 100 } > > # return error > > # Cerramos la conexion > header change "Connection" to "close" > # request header expect "*.tld2.com.ar" from "Host" > > header append "$REMOTE_ADDR" to "X-Forwarded-For" > } > > > ## Definicion de los relays > relay tld { > listen on $address2 port 80 > protocol "tld" > forward to <mobileweb> port 80 mode roundrobin check http > "/relaycheck/mobileWAP/index.php" code 200 > } > > relay tld1 { > listen on $address3 port 80 > protocol "tld1" This protocol "tld1" does not exist - do you mean httpRural or httpBlancas? > forward to <webcaches> port 80 mode roundrobin check http > "/monitoreo/relayd.txt" code 200 > } > > relay tld2 { > listen on $address1 port 80 > protocol "tld2" This protocol "tld2" does not exist - do you mean httpRural or httpBlancas? > forward to <webcaches1> port 80 mode roundrobin check http > "/monitoreo/relayd.txt" code 200 > } > > I would really apreciatte any clue or any idea that make this work. > > Thanks in advance > > Saludos / Regards > Leonardo Santagostini