Página 6 de 6 PrimeiroPrimeiro ... 23456
+ Responder ao Tópico



  1. Como estamos utilizando iproute2 e marcação de pacotes acho que não precisa dessa regra na tabela main: default via 192.168.1.1 dev eth1 metric 100

  2. Bom dia Magun,

    Como vc disse tirei umas das rota default apontando para eth1 deixando apenas a essa rota, alem das rotas na tabela link1 e link2, ficou assim:

    [root@srvteste wasley]# ip route show table main
    192.168.2.0/24 dev eth2 proto kernel scope link src 192.168.2.1
    192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.31
    192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.31
    169.254.0.0/16 dev eth2 scope link
    default via 192.168.0.1 dev eth0
    [root@srvteste wasley]#

    [root@srvteste wasley]# ip route show table link1
    default via 192.168.0.1 dev eth0

    [root@srvteste wasley]# ip route show table link2
    default via 192.168.1.1 dev eth1
    [root@srvteste wasley]#

    Desculpe minha ignorancia, mas se estou entendendo corretamente a logica, se a rota default incluida na tabela main cair a rota, as outras rotas pararam de funcionar inclusive a rota que esta saindo pela eth1 (rota essa cadastrada na tabela link2).
    Última edição por wasley; 12-08-2009 às 10:59.



  3. Cara, na verdade, essa rota da tabela main só server para tráfego gerado localmente (gerado pelo próprio Linux) uma vez que todo o restante do tráfego está sendo tratado pelas tabelas link1 e link2.

    Se vc quiser confirmar isso, pega um rost que está sendo roteado pelo Linux e faz um tracert pra um destino na internet. Depois retire a regra da tabela main e realize o mesmo teste, o resultado deve ser o mesmo.

    Até mais...

  4. Boa Tarde,
    Infelizmente pintou umas urgencias aqui no trabalho e tive que dar uma parada com as configurações, mas retomando.

    Consegui criar um script onde o trafego da porta 80 esta saindo pelo interface eth1 e o trafego da porta 25 e 110 estão saindo pela interface eth0.

    Para o trafego da porta 80 sair pela eth1 alem de outras configurações foi necessario criar uma NAT, da seguinte forma:

    $IPTABLES -t nat -A POSTROUTING -s $LAN -o eth1 -p tcp --dport 80 -j MASQUERADE

    Agora minha duvida, como faço para ao invez das conexões da porta 80 utilizarem essa NAT, elas saiam pelo squid na por 3128, ou seja, o trafego chega na porta 80 é redirecionado para porta 3128 (squid) e saindo pela interface eth1.


    Segue abaixo o script completo:

    Agradeço desde já. (a novela esta chegando ao fim :-))

    ###################################################
    # DEFININDO VARIAVEIS
    ###################################################
    # VARIAVEL PARA IPTABLES
    IPTABLES="/sbin/iptables"

    # BUSCANDO INFORMACAO DA PLACA COM IP DINAMICO
    FW0=`ifconfig eth0| grep "inet end."| awk '{print $3}'|cut -d":" -f2`
    FW1=`ifconfig eth1| grep "inet end."| awk '{print $3}'|cut -d":" -f2`

    # PLACA LOCAL
    FW2="192.168.2.1/32"

    # REDE INTERNA
    LAN="192.168.2.0/24"

    ###################################################
    # CARREGANDO MODULOS
    ###################################################
    DEPMOD=/sbin/depmod
    MODPROBE=/sbin/modprobe
    $DEPMOD -a
    $MODPROBE ip_conntrack_ftp
    $MODPROBE ip_nat_ftp
    $MODPROBE iptable_nat

    ###################################################
    # HABILITANDO ROTEAMENTO
    ###################################################
    echo 1 > /proc/sys/net/ipv4/ip_forward
    echo 1 > /proc/sys/net/ipv4/ip_dynaddr

    ###################################################
    # LIMPEZA GERAL
    ###################################################
    $IPTABLES -F
    $IPTABLES -F INPUT
    $IPTABLES -F OUTPUT
    $IPTABLES -F FORWARD
    $IPTABLES -F -t mangle
    $IPTABLES -F -t nat
    $IPTABLES -X

    ###################################################
    #SETUP DE POLITICA
    ###################################################
    ####
    # TABELA FILTER
    ####
    $IPTABLES -P INPUT DROP
    $IPTABLES -P OUTPUT DROP
    $IPTABLES -P FORWARD DROP

    ###################################################
    # REGRA DE ESTABILIDADE / DINAMICA DE ROTEAMENTO
    ###################################################
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    ###################################################
    # REMOVENDO REGRAS DA TABELAS
    ###################################################
    ip route del default table link1 &> /dev/null
    ip route del default table link2 &> /dev/null

    ####################################################
    # REMOVENDO ROTA PADRAO
    ####################################################
    ip route del default &> /dev/null
    ip route del default &> /dev/null
    ip route del default &> /dev/null

    ####################################################
    # ADICIONANDO ROTA DEFAULT
    ####################################################
    ip route add default dev eth0 via 192.168.0.1 table main

    #####################################################
    # INSERINDO ROTA DEFAULT PARA TABELAS
    #####################################################
    ip route add table link1 default via 192.168.0.1
    ip route add table link2 default via 192.168.1.1

    #####################################################
    # REDE INVALIDA (INTERNA) E LOCAL
    #####################################################
    ####
    # INTERFACE LOOPBACK
    ####
    $IPTABLES -A INPUT -i lo -j ACCEPT

    ####
    # REDE INVALIDA
    ####
    $IPTABLES -A FORWARD -i eth2 -d 0/0 -j ACCEPT

    ####
    # REDE INTERNA ACESSANDO SERVIDOR
    ####
    $IPTABLES -A INPUT -s $LAN -d $FW2 -j ACCEPT

    ######################################################
    # MARCADO TRAFEGO DA PORTA 80
    ######################################################
    $IPTABLES -t mangle -A PREROUTING -i eth2 -p tcp --dport 80 -j MARK --set-mark 20
    $IPTABLES -t mangle -A PREROUTING -i eth2 -p tcp --dport 80 -j RETURN
    $IPTABLES -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 10

    ######################################################
    # VINCULANDO TRAFEDO COM A TABELA
    ######################################################
    ip rule add fwmark 10 table 10 prio 20
    ip rule add fwmark 20 table 20 prio 20

    ######################################################
    # VIGORANDO REGRAS NAS TABELAS DE ROTEAMENTO
    ######################################################
    ip route flush cached

    ######################################################
    # NAT MASQUERADE PARA MAQUINAS ESPECIFICAS
    ######################################################
    $IPTABLES -t nat -A POSTROUTING -s $LAN -o eth1 -p tcp --dport 80 -j MASQUERADE

    ###################################################
    # REGRA PARA EMAIL
    ###################################################
    ####
    # FORWARD PARA EMAILS
    ####
    $IPTABLES -A FORWARD -p tcp -s $LAN -d $FW2 -o eth0 --dport 25 -j ACCEPT
    $IPTABLES -A FORWARD -p tcp -d $LAN -s $FW2 -i eth0 --sport 25 -j ACCEPT
    $IPTABLES -A FORWARD -p tcp -s $LAN -d $FW2 -o eth0 --dport 110 -j ACCEPT
    $IPTABLES -A FORWARD -p tcp -d $LAN -s $FW2 -i eth0 --sport 110 -j ACCEPT

    ####
    # NAT PARA EMAILS
    ####
    $IPTABLES -t nat -A POSTROUTING -s $LAN -p tcp --dport 25 -o eth0 -j MASQUERADE
    $IPTABLES -t nat -A POSTROUTING -s $LAN -p tcp --dport 110 -o eth0 -j MASQUERADE

    ######################################################
    # REGRAS PARA DNS
    ######################################################
    ####
    # FORWARD PARA DNS
    ####
    $IPTABLES -A FORWARD -p udp -s $LAN -d $FW2 -o eth0 --dport 53 -j ACCEPT
    $IPTABLES -A FORWARD -p udp -d $LAN -s $FW2 -i eth0 --sport 53 -j ACCEPT
    $IPTABLES -A FORWARD -p udp -s $LAN -d $FW2 -o eth1 --dport 53 -j ACCEPT
    $IPTABLES -A FORWARD -p udp -d $LAN -s $FW2 -i eth1 --sport 53 -j ACCEPT

    ####
    # NAT PARA DNS
    ####
    $IPTABLES -t nat -A POSTROUTING -s $LAN -p udp --dport 53 -o eth0 -j MASQUERADE
    $IPTABLES -t nat -A POSTROUTING -s $LAN -p udp --dport 53 -o eth1 -j MASQUERADE

    #####################################################
    # BLOQUEIO GERAL
    #####################################################
    $IPTABLES -A INPUT -j DROP
    $IPTABLES -A FORWARD -j DROP
    $IPTABLES -A OUTPUT -j ACCEPT

    echo "SCRIPT IPTABLES EXECUTADO"



  5. Consegui fazer o que tinha em mente, segue o script completo.
    Gostaria de agradecer a ajuda de todos em especial Magnun, sem a ajuda de vcs não seria capaz.

    # DEFININDO VARIAVEIS
    # VARIAVEL PARA IPTABLES
    IPTABLES="/sbin/iptables"

    # BUSCANDO INFORMACAO DA PLACA COM IP DINAMICO
    FW0=`ifconfig eth0| grep "inet end."| awk '{print $3}'|cut -d":" -f2`
    FW1=`ifconfig eth1| grep "inet end."| awk '{print $3}'|cut -d":" -f2`

    # PLACA LOCAL
    FW2="192.168.2.1/32"

    # REDE INTERNA
    LAN="192.168.2.0/24"

    # MAQUINA ADM
    ADM="192.168.0.2/32"

    # CARREGANDO MODULOS
    DEPMOD=/sbin/depmod
    MODPROBE=/sbin/modprobe
    $DEPMOD -a
    $MODPROBE ip_conntrack_ftp
    $MODPROBE ip_nat_ftp
    $MODPROBE iptable_nat

    # HABILITANDO ROTEAMENTO
    echo 1 > /proc/sys/net/ipv4/ip_forward
    echo 1 > /proc/sys/net/ipv4/ip_dynaddr

    ###################################################
    # LIMPEZA GERAL
    ###################################################
    $IPTABLES -F
    $IPTABLES -F INPUT
    $IPTABLES -F OUTPUT
    $IPTABLES -F FORWARD
    $IPTABLES -F -t mangle
    $IPTABLES -F -t nat
    $IPTABLES -X

    ###################################################
    #SETUP DE POLITICA
    ###################################################
    ####
    # TABELA FILTER
    ####
    $IPTABLES -P INPUT DROP
    $IPTABLES -P OUTPUT DROP
    $IPTABLES -P FORWARD DROP

    ###################################################
    # REGRA DE ESTABILIDADE / DINAMICA DE ROTEAMENTO
    ###################################################
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    ###################################################
    # LIBERAR PACOTES MARCIANOS
    ###################################################
    for i in /proc/sys/net/ipv4/conf/*/rp_filter;
    do
    echo 0 >$i
    done

    ###################################################
    # REMOVENDO REGRAS DA TABELAS
    ###################################################
    ip route del default table link1 &> /dev/null
    ip route del default table link2 &> /dev/null

    ####################################################
    # REMOVENDO ROTA PADRAO
    ####################################################
    ip route del default &> /dev/null
    ip route del default &> /dev/null
    ip route del default &> /dev/null

    ####################################################
    # ADICIONANDO ROTA DEFAULT
    ####################################################
    ip route add default dev eth0 via 192.168.0.1 table main

    #####################################################
    # INSERINDO ROTA DEFAULT PARA TABELAS
    #####################################################
    ip route add table link1 default via 192.168.0.1
    ip route add table link2 default via 192.168.1.1

    #####################################################
    # REDE INVALIDA (INTERNA) E LOCAL
    #####################################################
    ####
    # INTERFACE LOOPBACK
    ####
    $IPTABLES -A INPUT -i lo -j ACCEPT

    ####
    # REDE INVALIDA
    ####
    $IPTABLES -A FORWARD -i eth2 -d 0/0 -j ACCEPT

    ####
    # REDE INTERNA ACESSANDO SERVIDOR
    ####
    $IPTABLES -A INPUT -s $LAN -d $FW2 -j ACCEPT
    $IPTABLES -A INPUT -s $ADM -d $FW0 -j ACCEPT

    ######################################################
    # MARCADO TRAFEGO DA PORTA 25 E 110
    ######################################################
    $IPTABLES -t mangle -A PREROUTING -i eth2 -p tcp --dport 25 -j MARK --set-mark 20
    $IPTABLES -t mangle -A PREROUTING -i eth2 -p tcp --dport 25 -j RETURN
    $IPTABLES -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 10

    $IPTABLES -t mangle -A PREROUTING -i eth2 -p tcp --dport 110 -j MARK --set-mark 20
    $IPTABLES -t mangle -A PREROUTING -i eth2 -p tcp --dport 110 -j RETURN
    $IPTABLES -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 10

    ######################################################
    # VINCULANDO TRAFEDO COM A TABELA
    ######################################################
    ip rule add fwmark 10 table 10 prio 20
    ip rule add fwmark 20 table 20 prio 20

    ######################################################
    # VIGORANDO REGRAS NAS TABELAS DE ROTEAMENTO
    ######################################################
    ip route flush cached

    ######################################################
    # NAT MASQUERADE REDIRECIONANDO PORTA 80 PARA SQUID
    ######################################################
    $IPTABLES -t nat -A PREROUTING -s $LAN -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

    ###################################################
    # REGRA PARA EMAIL
    ###################################################
    ####
    # FORWARD PARA EMAILS
    ####
    $IPTABLES -A FORWARD -p tcp -s $LAN -d $FW2 -o eth1 --dport 25 -j ACCEPT
    $IPTABLES -A FORWARD -p tcp -d $LAN -s $FW2 -i eth1 --sport 25 -j ACCEPT
    $IPTABLES -A FORWARD -p tcp -s $LAN -d $FW2 -o eth1 --dport 110 -j ACCEPT
    $IPTABLES -A FORWARD -p tcp -d $LAN -s $FW2 -i eth1 --sport 110 -j ACCEPT

    ####
    # NAT PARA EMAILS
    ####
    $IPTABLES -t nat -A POSTROUTING -s $LAN -p tcp --dport 25 -o eth1 -j MASQUERADE
    $IPTABLES -t nat -A POSTROUTING -s $LAN -p tcp --dport 110 -o eth1 -j MASQUERADE

    ######################################################
    # REGRAS PARA DNS
    ######################################################
    ####
    # FORWARD PARA DNS
    ####
    $IPTABLES -A FORWARD -p udp -s $LAN -d $FW2 -o eth0 --dport 53 -j ACCEPT
    $IPTABLES -A FORWARD -p udp -d $LAN -s $FW2 -i eth0 --sport 53 -j ACCEPT

    $IPTABLES -A FORWARD -p udp -s $LAN -d $FW2 -o eth1 --dport 53 -j ACCEPT
    $IPTABLES -A FORWARD -p udp -d $LAN -s $FW2 -i eth1 --sport 53 -j ACCEPT

    ####
    # NAT PARA DNS
    ####
    $IPTABLES -t nat -A POSTROUTING -s $LAN -p udp --dport 53 -o eth0 -j MASQUERADE

    $IPTABLES -t nat -A POSTROUTING -s $LAN -p udp --dport 53 -o eth1 -j MASQUERADE

    #####################################################
    # BLOQUEIO GERAL
    #####################################################
    $IPTABLES -A INPUT -j DROP
    $IPTABLES -A FORWARD -j DROP
    $IPTABLES -A OUTPUT -j ACCEPT

    echo "SCRIPT IPTABLES EXECUTADO"






Tópicos Similares

  1. Como Criar uma Rota?
    Por marcosagnes no fórum Redes
    Respostas: 13
    Último Post: 19-12-2011, 19:42
  2. Como Criar Rotas de IPs no Linux?
    Por Izzyt no fórum Servidores de Rede
    Respostas: 2
    Último Post: 01-02-2006, 07:49
  3. como criar rota para máquinas windows na vpn
    Por rodriguesoline no fórum Servidores de Rede
    Respostas: 6
    Último Post: 05-11-2004, 10:11
  4. Como Criar Rotas em Redes Lineares
    Por christian no fórum Servidores de Rede
    Respostas: 4
    Último Post: 11-05-2004, 11:10
  5. como comunicar duas rotas de IP
    Por redoctober no fórum Servidores de Rede
    Respostas: 1
    Último Post: 07-05-2003, 20:17

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L