[FUG-BR] duvida ipfw+setfib+divert

Thiago Pollachini thiagopollachini em bsd.com.br
Sexta Maio 21 03:07:56 BRT 2010


Olá Joel,

Vou te dar um exemplo para voce trabalhar.
Esse exemplo é feito com o ipfw nat (nat dentro do kernel [com libalias])

fwsetup.sh
---------corta aqui---------
dslgw="192.168.0.254"
dslif="nfe0"
dslhosts="table\(1\)"
radiohosts="table\(2\)"
radiogw="192.168.2.254"
radioif="xl0"
#CLEANING...
cmd="/sbin/ipfw -q"
$fwcmd -f flush
$fwcmd -f pipe flush
$fwcmd -f nat flush
$fwcmd disable one_pass

#LOADING FTP MODULE
kldload alias_ftp> /dev/null 2>&1

#DEFINING THE DEFAULT ROUTES
setfib 1 route delete default
setfib 2 route delete default
setfib 1 route add default ${dslgw}
setfib 2 route add default ${radiogw}

#NAT
${fwcmd} nat 1 config if ${dslif}
${fwcmd} add nat 1 all from any to me in via ${dslif}
${fwcmd} nat 2 config if ${radioif}
${fwcmd} add nat 2 all from any to me in via ${radiolif}

${fwcmd} add setfib 1 all from ${dslhosts} to any
${fwcmd} add setfib 1 all from any to ${dslhosts}

${fwcmd} add setfib 2 all from ${radiohosts} to any
${fwcmd} add setfib 2 all from any to ${radiohosts}


dsl_table=`cat /etc/dslhosts`
${fwcmd} table 1 flush
for i in $dsl_table
do
${fwcmd} table 1 add $i
done

radio_table=`cat /etc/radiohosts`
${fwcmd} table 2 flush
for i in $dsl_table
do
${fwcmd} table 2 add $i
done
---------corta aqui---------

Tente isso aí...

Caso nao funcione, nao leve a mal, pois fiz no dedo agora pra voce, e
reporte no forum...


Saudações,


Mais detalhes sobre a lista de discussão freebsd