|
|
- # $OpenBSD: relayd.conf,v 1.14 2011/04/07 13:33:52 reyk Exp $
- #
- # Macros
- #
- ext_addr="192.168.1.1"
- webhost1="10.0.0.1"
- webhost2="10.0.0.2"
- sshhost1="10.0.0.3"
-
- #
- # Global Options
- #
- # interval 10
- # timeout 1000
- # prefork 5
-
- #
- # Each table will be mapped to a pf table.
- #
- table <webhosts> { $webhost1 $webhost2 }
- table <fallback> { 127.0.0.1 }
-
- #
- # Services will be mapped to a rdr rule.
- #
- redirect www {
- listen on $ext_addr port http interface trunk0
-
- # tag every packet that goes thru the rdr rule with RELAYD
- tag RELAYD
-
- forward to <webhosts> check http "/" code 200
- forward to <fallback> check icmp
- }
-
- #
- # Relay and protocol for HTTP layer 7 loadbalancing and SSL acceleration
- #
- http protocol httpssl {
- header append "$REMOTE_ADDR" to "X-Forwarded-For"
- header append "$SERVER_ADDR:$SERVER_PORT" to "X-Forwarded-By"
- header change "Connection" to "close"
-
- # Various TCP performance options
- tcp { nodelay, sack, socket buffer 65536, backlog 128 }
-
- # ssl { no sslv2, sslv3, tlsv1, ciphers HIGH }
- # ssl session cache disable
- }
-
- relay wwwssl {
- # Run as a SSL accelerator
- listen on $ext_addr port 443 ssl
- protocol httpssl
-
- # Forward to hosts in the webhosts table using a src/dst hash
- forward to <webhosts> port http mode loadbalance \
- check http "/" code 200
- }
-
- #
- # Relay and protocol for simple TCP forwarding on layer 7
- #
- protocol sshtcp {
- # The TCP_NODELAY option is required for "smooth" terminal sessions
- tcp nodelay
- }
-
- relay sshgw {
- # Run as a simple TCP relay
- listen on $ext_addr port 2222
- protocol sshtcp
-
- # Forward to the shared carp(4) address of an internal gateway
- forward to $sshhost1 port 22
- }
-
- #
- # Relay and protocol for a transparent HTTP proxy
- #
- http protocol httpfilter {
- # Return HTTP/HTML error pages to the client
- return error
-
- # Block disallowed sites
- label "URL filtered!"
- request url filter "www.example.com/"
-
- # Block disallowed browsers
- label "Please try a <em>different Browser</em>"
- header filter "Mozilla/4.0 (compatible; MSIE *" from "User-Agent"
-
- # Block some well-known Instant Messengers
- label "Instant messenger disallowed!"
- response header filter "application/x-msn-messenger" from "Content-Type"
- response header filter "app/x-hotbar-xip20" from "Content-Type"
- response header filter "application/x-icq" from "Content-Type"
- response header filter "AIM/HTTP" from "Content-Type"
- response header filter "application/x-comet-log" from "Content-Type"
- }
-
- relay httpproxy {
- # Listen on localhost, accept diverted connections from pf(4)
- listen on 127.0.0.1 port 8080
- protocol httpfilter
-
- # Forward to the original target host
- forward to destination
- }
|