Ola Marcio,
O script já altera essas configuracoes no rp_filter (estou enviando o
script completo abaixo), portanto ja esta tudo zerado:
onde:
eth1=interface embratel
eth2=interface velox
rota default=embratel
==================================================================
#!/bin/bash
# Resetando tabelas de rotas, padrao do sistema
echo "255 local" > /etc/iproute2/rt_tables
echo "254 main" >> /etc/iproute2/rt_tables
echo "253 default" >> /etc/iproute2/rt_tables
echo "0 unspec" >> /etc/iproute2/rt_tables
#Adicionando tabelas
echo "10 link1" >> /etc/iproute2/rt_tables
echo "11 link2" >> /etc/iproute2/rt_tables
echo "30 conexao" >> /etc/iproute2/rt_tables
#Setando variaveis
export VLX_DEV=eth2
export VLX_IP="`ifconfig $VLX_DEV | grep 'Bcast:' | cut -f2 -d: | cut
-f1 -d' '`"
export VLX_GW="XXX.XXX.XXX.XXX"
export VLX_NET="$VLX_GW/32"
echo "DEV=$VLX_DEV IP=$VLX_IP GW=$VLX_GW NET=$VLX_NET"
export IPD_DEV=eth1
export IPD_IP="`ifconfig $IPD_DEV | grep 'Bcast:' | cut -f2 -d: | cut
-f1 -d' '`"
export IPD_GW="XXX.XXX.XXX.XXX"
export IPD_NET="$IPD_IP/26"
echo "DEV=$IPD_DEV IP=$IPD_IP GW=$IPD_GW NET=$IPD_NET"
#limpando rotas default
route del -net default gw $IPD_GW
route del -net default gw $VLX_GW
#Removendo deteccao de pacotes marcianos
for eee in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 0 > $eee
done
cat /proc/sys/net/ipv4/conf/*/rp_filter
#adicionando rotas para as tabelas de roteamento
ip route add $IPD_IP via $IPD_GW table link1
ip route add $VLX_IP via $VLX_GW table link2
#adicionando regras as tabelas de roteamento
ip rule del from $IPD_IP
ip rule add from $IPD_IP table link1
ip rule del from $VLX_IP
ip rule add from $VLX_IP table link2
#adicionando rota default para as tabelas de roteamento
ip route add default via $IPD_GW table link1
ip route add default via $VLX_GW table link2
#adicionando routa default
ip route add default via $IPD_GW
#load balancing
ip rule del fwmark 0x3
ip rule add fwmark 0x3 lookup conexao prio 3
ip route add default table conexao \
nexthop via $VLX_GW dev $VLX_DEV weight 4 \
nexthop via $IPD_GW dev $IPD_DEV weight 1
ip route flush cache
==================================================================
No script que inicia o firewall (no SuSE eu utilizo
o /etc/sysconfig/SuSEfirewall2 e
o /etc/sysconfig/scripts/SuSEfirewall2-custom) os pacotes estão sendo
marcados, como o exemplo abaixo:
/usr/sbin/iptables -A PREROUTING -t mangle -p tcp --dport 80 -d !
XXX.XXX.XXX.XXX/26 -j MARK --set-mark 0x3
/usr/sbin/iptables -A PREROUTING -t mangle -p tcp --dport 25 -d !
XXX.XXX.XXX.XXX/26 -j MARK --set-mark 0x3
/usr/sbin/iptables -A PREROUTING -t mangle -p tcp --dport 21 -d !
XXX.XXX.XXX.XXX/26 -j MARK --set-mark 0x3
*(XXX.XXX.XXX.XXX/26 é o IP da minha rede embratel)
Em Qui, 2006-07-20 às 23:45 +0000, Márcio Correia escreveu:
> Faço balanceamento e roteamento avançado com iproute2, iptables e kernel 2.6
> Minha dica é verificar a configuração do rp_filter
>
> cat /proc/sys/net/ipv4/conf/all/rp_filter
> cat /proc/sys/net/ipv4/conf/default/rp_filter
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html