Olá Gustavo,
tenho algo parecido funcionando, mas não documentei nada assim, não tenho certeza dos passos necessários para alcançar o funcionamento, assim posso te ajudar e quando você chegar na solução poste na lista...
- primeiramente instale o pacote iproute
- configure o iproute
Adicione duas linhas no seu arquivo /etc/iproute/rt_tables
101 velox
102 embratel
-faça um script, que tanto pode ser acionado pelo seu script de firewall, quanto pode ser colocado dentro do script de firewall:
#########################################################################
#!/bin/bash
IPT="/sbin/iptables"
IP="/bin/ip"
WAN1_NAME="velox"
WAN1_IF="ethX"
WAN1_IP="100.100.100.2"
WAN1_GW="100.100.100.1"
WAN1_NET="100.100.100.0/24"
WAN1_MARK=101
WAN1_WEIGHT=8
WAN2_NAME="embratel"
WAN2_IF="ethY"
WAN2_IP="200.200.200.2"
WAN2_GW="200.200.200.1"
WAN2_NET="200.200.200.0/24"
WAN2_MARK=102
WAN2_WEIGHT=4
# Local Interface Information
LAN_IF="ethZ"
LAN_IP="192.168.0.254"
LAN_NET="192.168.0.0/24"
LAN_BCAST="192.168.0.255"
# Localhost Interface
LO_IF="lo"
LO_IP="127.0.0.1"
LO_NET="127.0.0.0/8"
# This target allows packets to be marked in the mangle table
/sbin/modprobe ipt_mark
/sbin/modprobe ipt_MARK
# This target affects the TCP MSS
/sbin/modprobe ipt_tcpmss
# This enables source validation by reversed path according to RFC1812.
# In other words, did the response packet originate from the same interface
# through which the source packet was sent? It's recommended for single-homed
# systems and routers on stub networks. Since those are the configurations
# this firewall is designed to support, I turn it on by default.
# Turn it off if you use multiple NICs connected to the same network.
if [ "$SYSCTL" = "" ]
then
echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter
else
$SYSCTL net.ipv4.conf.all.rp_filter="0"
fi
# This option can be used to accept or refuse source routed
# packets. It is usually on by default, but is generally
# considered a security risk. This option turns it off.
if [ "$SYSCTL" = "" ]
then
echo "1" > /proc/sys/net/ipv4/conf/all/accept_source_route
else
$SYSCTL net.ipv4.conf.all.accept_source_route="1"
fi
# However, we'll ensure the secure_redirects option is on instead.
# This option accepts only from gateways in the default gateways list.
if [ "$SYSCTL" = "" ]
then
echo "0" > /proc/sys/net/ipv4/conf/all/secure_redirects
else
$SYSCTL net.ipv4.conf.all.secure_redirects="0"
fi
$IPT -t mangle -N MARK_VELOX
$IPT -t mangle -A MARK_VELOX -j MARK --set-mark $WAN1_MARK
$IPT -t mangle -A MARK_VELOX -j ACCEPT
$IPT -t mangle -N MARK_EMBRATEL
$IPT -t mangle -A MARK_EMBRATEL -j MARK --set-mark $WAN2_MARK
$IPT -t mangle -A MARK_EMBRATEL -j ACCEPT
$IPT -t mangle -N TO_MARK
$IPT -t mangle -A TO_MARK -p tcp --sport 3389 -j MARK_EMBRATEL
$IPT -t mangle -A TO_MARK -j MARK_VELOX
# Apaga tabelas de roteamento
$IP route flush table velox
$IP route flush table embratel
# Regras do iproute para direcionar marcas para as tabelas de roteamento
$IP rule add fwmark $WAN1_MARK table velox
$IP rule add fwmark $WAN2_MARK table embratel
$IP rule add from $WAN1_IP table velox
$IP rule add from $WAN2_IP table embratel
# Copia rotas da tabela principal para as outras tabelas de roteamento
$IP route show | grep -v ^default | while read rota; do
$IP route add table velox $rota
$IP route add table embratel $rota
done
# Definindo rota default de cada tabela de roteamento
# Tabela WAN1
$IP route add default via $WAN1_GW dev $WAN1_IF table velox
# Tabela WAN2
$IP route add default via $WAN2_GW dev $WAN2_IF table embratel
# Tabela default
$IP route add default via $WAN1_GW dev $WAN1_IF
# LIMPANDO CACHE
echo "Limpando cache de rotas."
ip route flush cache
########################################################################2008/6/2 gunix <gustavo.grupos@gmail.com>:
Tenho o CENARIO
CLIENTE ACESSANDO (3389)
|
|
ROTEADOR VELOX
| |
| |
------------SERVIDOR----------
LINUX DEFAULT VELOX
|
|
SWITCH
|
|
SERVER RESPONDENDO 3389
SAIDA DA INTERNET PELO VELOX
O cliente faz a requisicao do 3389 no ip fixo.
Este mesmo chega até o roteador, e do roteador no servidor firewall.
Porem no firewall minha rota padrao onde saem todas as maquinas é o velox.
Se eu deixar desta forma o servidor nao consegue responder.
TEnho umas regras DNAT nata que aponta a conexao para o server.
Porem se eu colocar a conexao default o Embratel e deixar o Velox de lado, ai funciona normalmente.
O que pode ser?
Att
Gustavo2008/6/2 Junior Polegato - Linux <linux@juniorpolegato.com.br>:gunix escreveu:
Na verdade meu link entra no meu firewall, por isso nao ta fazendo...2008/6/2 Junior Polegato - Linux <linux@juniorpolegato.com.br <mailto:linux@juniorpolegato.com.br>>:
Tenho que fazer estar rotas nao mao para funcionar.
Porem vi uns assuntos que é possivel eu direcionar somente porta. Ex: Tudo da rede na porta 3389 passa pelo link. o que nao for passa pelo velox.
gunix escreveu:
alguem poderia me dizer como faço para criar um roteamento
pela origem?
Porem gostaria de fazer o seguinte.
Tenho 3 placas de rede:
eth0 - LAN
eth1 - Velox
eth2 - Embratel Dedicado
Tudo que sai da rede gostaria que sai-se pelo Velox.
E tudo que sai da porta 3389 Gostaria que sai-se pelo Embratel.
Na verdade as pessoas vão se conectar pela porta 3389 no meu
server pelo embratel. E deve retornar pelo mesmo link.
O Velox estando default da problema.
Algeum pode me ajudar?
Não estou muito certo, mas pelo visto vai ter um servidor
respondendo na porta 3389, é isso? Se sim, então basta
"anunciá-lo" pelo link da Embratel e a tabela de roteamento cuida
do resto. Já tentou fazer ou monitorar isso?
Se quer a entrada pelo link da Velox e saído pelo da
Embratel, acho complicado, creio que não tenha um jeito simples.
Olá,
Primeira pergunta não respondida: vai ter um servidor respondendo na porta 3389?
Se a resposta for sim, então você precisa acessá-lo através o link da Embratel, aí todo o fluxo entre esse servidor e o cliente trafega pelo link da Embratel "naturalmente".
Se a resposta for não, você está querendo acessar um servidor, isto é, você é o cliente, é só colocar uma rota estática para este servidor.
Descreva melhor seu cenário.
[]'s
Junior Polegato