2008/6/4 Anderson Silva <
abnerdoom@gmail.com>:
Gustavo,
se a regra "ip rule add from 192.168.0.253 table embratel" está funcionando, então a maior parte do iproute também está funcionando, o problema deve ser na marcação dos pacotes ou na regra que direciona um pacote marcado para uma dada conexão.
O script que eu te enviei não estava completo... Depois eu enviei um email com um adendo ao script, você colocou as regras que eu te passei no script?
Seguem as regras:
$IPT -t mangle -A PREROUTING -i $LAN_IF -j TO_MARK
$IPT -t mangle -A OUTPUT -j TO_MARK
Para identificar o problema verifique se os pacotes estão sendo marcados com "iptables -t mangle -nvL" e olhe se o contador de pacotes da regra "--sport 3389 -j MARK --set-mark" aumentaram, verifique também a regra no iproute que direciona os pacotes marcados para uma dada conexão com o comando "ip rule show" e verifique a presença de uma linha como "from all fwmark 0xZZ lookup embratel", onde ZZ é um número hexadecimal.
mande por email os seguintes comandos (e altere os ips, para não se comprometer, caso haja ips publicos)
ip rule show
ip route show
ip route show table velox
ip route show table embratel
iptables -t mangle -nvL --line-numbers
iptables -t filter -nvL --line-numbers
iptables -t nat -nvL --line-numbers
2008/6/4 gunix <
gustavo.grupos@gmail.com>:
AMigos,
ainda nada, estas mesmas regras no firewall eu ja tinha.
A unica coisa que consigo é se eu adocopnar a regra.
ip rule add from 192.168.0.253 table embratel
Porem todo trafego da maquinas passa pelo dedicado, entao se algum engraçadinho tentar baixar algo vai pelo dedicado e prejudicam os funcionarios que trabalham remoto.
Att
Gustavo
2008/6/3 Fernando Yamada <
suporte2@viaip.com.br>:
tentou?
(1)
iptables -t mangle -A PREROUTING -p tcp -s <ip do windows> --sport 3389 -j MARK --set-mark 3389
ip rule add fwmark 3389 table velox
ip route add default via <gateway do velox> table velox
(2)
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to <ip do windows>
iptables -t nat -A POSTROUTING -p tcp -o <interface lan> -p tcp --dport 3389 -d <ip do windows> -j MASQUERADE
--
Fernando Yamada
Via IP Soluções para Internet Ltda
Fone: +55 48 2106-6161
Quoting gunix <
gustavo.grupos@gmail.com>:
ola amigos,
agradeço a ajuda, porem esta quase no fim.
A ajuda do nosso amigo anderson silva me deu esta funcionando bem.
Externamento consigo acessar meu firewall de ambas as interfaces.
A unica coisa que nao consigo é acessar meu server windows que esta
respondendo a porta 3389.
Tentei e abusei do MARK, mas mesmo assim nao vai.
E mais uma vez... se eu excluir a rota default funciona bem.
Consigo colocar uma regra na rota pela origem juntamento com laguma função
de porta?
ex: o que vier de 192.168.0.x porta 3389 ir para o link embratel?
Att
Gustavo
O unico problema que t otendo agora é o seguinte
2008/6/2 Anderson Silva <abnerdoom@gmail.com>:
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
Gustavo
2008/6/2 Junior Polegato - Linux <linux@juniorpolegato.com.br>:
gunix escreveu:
Na verdade meu link entra no meu firewall, por isso nao ta fazendo...
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.
2008/6/2 Junior Polegato - Linux <linux@juniorpolegato.com.br <mailto:
linux@juniorpolegato.com.br>>:
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