[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