viniciusmathias
(usa CentOS)
Enviado em 14/06/2013 - 12:00h
Boa tarde, estou com dificuldade na transição de rotas do links.
Tenho dois links de internet e fiz duas tabelas, e gostaria que a VPN toda passasse pelo link2 fora do GW padrão, o problema é que o INPUT está funcionando e está passando pelo link 2 mas o envio OUTPUT, está passando pela rota padrão.
Abaixo as configurações de rota.
#if ! $IPR route show table Link2 | grep $GW_PIVA > /dev/null; then
$IPR route flush table Link2 #Limpa as rotas no cache da tabela
$IPR route add default via $GW_PIVA table Link2
#fi
#if ! $IPR route show table Link1 | grep $GW_NETELL > /dev/null; then
$IPR route flush table Link1 #Limpa as rotas no cache da tabela
$IPR route add default via $GW_NETELL table Link1
#fi
# Marcaç de pacotes dos serviç do Firewall
#------------
$IPT -t mangle -A OUTPUT -p tcp --sport 1194 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p udp --sport 1194 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p tcp --sport 5000 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p udp --sport 5000 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p udp --sport 5001 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p udp --sport 5002 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p udp --sport 5003 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p tcp --sport 5001 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p tcp --sport 5002 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p tcp --sport 5003 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A OUTPUT -p tcp --sport 1521 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # ORACLE
$IPT -t mangle -A OUTPUT -p tcp --sport 5005 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # SSH velox
$IPT -t mangle -A POSTROUTING -p udp --dport 5000 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A POSTROUTING -p udp --dport 5001 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A POSTROUTING -p udp --dport 5002 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A POSTROUTING -p udp --dport 5003 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A POSTROUTING -p udp --dport 1194 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
$IPT -t mangle -A POSTROUTING -p tcp --dport 1194 ! -d $LAN_RANGE0 -j MARK --set-mark 2 # VPN
# Marcaç de pacotes dos serviç da rede interna
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 25 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 110 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 143 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 993 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 995 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 465 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 587 -j MARK --set-mark 2
$IPT -t mangle -A PREROUTING -i $LANIF0 -p tcp --dport 443 -j MARK --set-mark 2
#-------------------------------------
sucesso && printf "Limpando regras de roteamento anteriormente estabelecidas..."
REGRAS="1"
for C in $REGRAS; do
while ip rule show | grep "x$C lookup" >> /dev/null; do
ip rule del fwmark "$C"
done
done
REGRAS="2"
for C in $REGRAS; do
while ip rule show | grep "x$C" >> /dev/null; do
ip rule del fwmark "$C"
done
done
sucesso && printf "Regras de roteamento anteriormente estabelecidas..."
REGRAS="1 "
for C in $REGRAS; do
while ip rule show | grep "x$C lookup" >> /dev/null; do
ip rule del fwmark "$C"
done
ip rule add fwmark "$C" table Link1 #Link 1 Netell
done
REGRAS="2"
for C in $REGRAS; do
while ip rule show | grep "x$C" >> /dev/null; do
ip rule del fwmark "$C"
done
ip rule add fwmark "$C" table Link2 #Link 2 Netarthur
done