All pastes #556894 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-10 20:02 UTC
rendered paste body
# macros
ext_if="rl0"
int_if="sis0"

#computers ip
slack="10.0.0.1"
mac="10.0.0.2"
korolis="10.0.0.3"
localnet="10.0.0.0/24"

#computers ports
slack_tcp_port="{ 80, 5555 }"
slack_udp_port="{ 5555 }"
mac_tcp_port="{ 5100 }"
mac_udp_port="{ 5100 }"
korolis_tcp_port="{ 1412 }"
korolis_udp_port=" { 1412 }"
tcp_services="{ 22, 113 }"
icmp_types="echoreq"



# options
set block-policy return
set loginterface $ext_if

set skip on lo

# scrub
scrub in


##########queue#######

#download
altq on sis0 cbq bandwidth 99Mb queue { lan_in, net_in }

queue net_in  bandwidth 1Mb { slack_in, mac_in, korolis_in }
	queue slack_in bandwidth 33% cbq(borrow)
	queue mac_in bandwidth 34%  cbq(borrow)
	queue korolis_in bandwidth 33% cbq(borrow)
queue lan_in bandwidth 99Mb cbq(default red borrow)


#upload

altq on rl0 cbq bandwidth 256Kb queue { std_out, slack_out, mac_out, korolis_out }

#std_out stand queue the defualt

queue std_out bandwidth 100Kb cbq(default borrow)
queue slack_out bandwidth 50Kb cbq(borrow)
queue mac_out bandwidth 56Kb cbq(borrow)
queue korolis_out bandwidth 50Kb cbq(borrow) 


# nat/rdr
nat on $ext_if from !($ext_if) -> ($ext_if:0)
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"

rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021

#  .................. port forwarding
#slackware port forwanding
rdr on $ext_if proto tcp from any to any port $slack_tcp_port -> $slack
rdr on $ext_if proto udp from any to any port $slack_udp_port -> $slack
#mac port forwarding
rdr on $ext_if proto tcp from any to any port $mac_tcp_port -> $mac
rdr on $ext_if proto udp from any to any port $mac_udp_port -> $mac
#korolis port forwarding
rdr on $ext_if proto tcp from any to any port $korolis_tcp_port -> $korolis
rdr on $ext_if proto udp from any to any port $korolis_udp_port -> $korolis



# filter rules
block on { $ext_if, int_if } all
antispoof quick for $int_if inet

pass out keep state

anchor "ftp-proxy/*"


##### PASS IN ON $EXT_IF
#imac
pass in on $ext_if inet proto tcp from any to $mac port $mac_tcp_port flags S/SA synproxy state
pass in on $ext_if inet proto udp from any to $mac port $mac_udp_port
#slackware
pass in on $ext_if inet proto tcp from any to $slack port $slack_tcp_port flags S/SA synproxy state
#korolis
pass in on $ext_if inet proto tcp from any to $korolis port $korolis_tcp_port flags S/SA synproxy state
pass in on $ext_if inet proto udp from any to $korolis port $korolis_udp_port

#####PASS IN ola ta icmp requests
pass in inet proto icmp all icmp-type $icmp_types keep state
#PASS TCP UDP ICMP requests: LAN -> Internet
pass in quick on $int_if


######### PASS OUT ON $EXT_IF #########upload
pass out on $ext_if inet proto {tcp, udp} from $ext_if to $slack to any keep state queue slack_out
pass out on $ext_if inet proto {tcp, udp} from $ext_if to $mac   to any keep state queue mac_ out
pass out on $ext_if inet proto {tcp, udp} from $ext_if to $korolis to any keep state queue korolis_out

############ PASS IN ON $INT_IF ########download
pass  out on $int_if from any to $slack queue slack_in
pass  out on $int_if from any to $mac queue mac_in
pass  out on $int_if from any to $korolis queue korolis_in