+ Responder ao Tópico



  1. #1

    Padrão Redirecionamento de Portas no FreeBSD

    Olá galera,
    Estou necessitando da ajuda de vcs pra resolver um pequeno problema em um Gateway/Firewall que acabei de instalar para um LanHouse.
    O caso é q eu tenho 3 placas de rede neste server, configuradas da seguinte maneira:
    1ª placa - Rede Interna - 192.168.200.2
    2ª placa - ADSL 1 - 10.1.1.21
    3ª placa - ADSL 2 - 10.1.2.21
    Desta maneira eu gostaria de fazer a distribuição de tráfego entre as duas ADSL's por portas utilizados pelos usuários, por exemplo:
    O pessoal q utiliza web, download's e msn irão se utilizar da ADSL 1, e o pessoal jogo Counter-Strike eu redireciona para a ADSL 2.
    Eu necessito fazer o redirecionamento do tráfego e não o balanceamento.

    Obs: Estou utilizando a solução FreeBSD+(IPFilter, IPNat).

    QQ ajuda agradeço muito, um grande abraço à todos.

  2. #2
    robsonzornitta
    Visitante

    Padrão kr!!

    eu fiz a mesma coisa aqui em paranavaí em uma lanhouse soh que alem de fazer rota para os 2 servers de cs em adsl diferentes eu fiz autobalance tbm eh meio cumplicadinhu e outra utilizei o Linux SUSE 7.0 pra fazer issu naum seim se funciona direitinhu no FreeBSD mas vou te passar agora as regras que eu fiz depois vc tira o que quiser ou adiciona blz?

    Código :
    #Definir Variaveis
    IF1="eth1"
    IF2="eth2"
    IF0="eth0"
    IP1="192.168.100.1"
    IP2="192.168.200.1"
    IP3="192.168.1.254"
    P1="192.168.100.254"
    P2="192.168.200.254"
    P1_NET="192.168.100.0/24"
    P2_NET="192.168.200.0/24"
    P0_NET="192.168.1.0/24"
    SERVER="192.168.1.101"
     
    #-------------------------------------------------------------------------------------------------------
     
    #Abilitar o Forwarding.
    echo "1" > /proc/sys/net/ipv4/ip_forward
     
    #-------------------------------------------------------------------------------------------------------
     
    #Regras de roteamento.
    ip route add $P1_NET dev $IF1 src $IP1 table T1
    ip route add default via $P1 table T1
    ip route add $P2_NET dev $IF2 src $IP2 table T2
    ip route add default via $P2 table T2
     
    #ip route add default via $P1
     
    ip rule add from $IP1 table T1
    ip rule add from $IP2 table T2
     
    ip route add $P0_NET dev $IF0 table T1
    ip route add $P2_NET dev $IF2 table T1
    ip route add 127.0.0.0/8 dev lo table T1
    ip route add $P0_NET dev $IF0 table T2
    ip route add $P1_NET dev $IF1 table T2
    ip route add 127.0.0.0/8 dev lo table T2
     
    ip route add 192.168.1.101 dev eth0 table T1
     
     
    #Definicao de balanceamento de carga.
    ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1
     
    #---------------------------------------------------------------------------------------------------------
     
    #Regras de iptable
     
    #Habilitar para os micros navegarem na internet
    iptables -t nat -A POSTROUTING -o $F1 -j MASQUERADE
    iptables -t nat -A POSTROUTING -o $F2 -j MASQUERADE
    iptables -A FORWARD -s $P0_NET -j ACCEPT
    iptables -A FORWARD -d $P0_NET -m state --state ESTABLISHED,RELATED -j ACCEPT
     
     
    #Habilitar o servidor de CS
    iptables -A FORWARD -d $SERVER -p tcp --dport 27015 -j ACCEPT
    iptables -A FORWARD -d $SERVER -p udp --dport 27015 -j ACCEPT
    iptables -A FORWARD -s $SERVER -p tcp --sport 27015 -j ACCEPT
    iptables -A FORWARD -s $SERVER -p udp --sport 27015 -j ACCEPT
    iptables -t nat -A PREROUTING -d $IP1 -p tcp --dport 27015 -j DNAT --to 192.168.1.101:27015
    iptables -t nat -A PREROUTING -d $IP1 -p udp --dport 27015 -j DNAT --to 192.168.1.101:27015
    iptables -t nat -A PREROUTING -d $IP2 -p tcp --dport 27015 -j DNAT --to 192.168.1.101:27015
    iptables -t nat -A PREROUTING -d $IP2 -p udp --dport 27015 -j DNAT --to 192.168.1.101:27015
    iptables -t nat -A POSTROUTING -d $SERVER -p tcp --dport 27015 -j MASQUERADE
    iptables -t nat -A POSTROUTING -d $SERVER -p udp --dport 27015 -j MASQUERADE
     
    iptables -A FORWARD -d $SERVER -p tcp --dport 27016 -j ACCEPT
    iptables -A FORWARD -d $SERVER -p udp --dport 27016 -j ACCEPT
    iptables -A FORWARD -s $SERVER -p tcp --sport 27016 -j ACCEPT
    iptables -A FORWARD -s $SERVER -p udp --sport 27016 -j ACCEPT
    iptables -t nat -A PREROUTING -d $IP1 -p tcp --dport 27016 -j DNAT --to 192.168.1.101:27016
    iptables -t nat -A PREROUTING -d $IP1 -p udp --dport 27016 -j DNAT --to 192.168.1.101:27016
    iptables -t nat -A PREROUTING -d $IP2 -p tcp --dport 27016 -j DNAT --to 192.168.1.101:27016
    iptables -t nat -A PREROUTING -d $IP2 -p udp --dport 27016 -j DNAT --to 192.168.1.101:27016
    iptables -t nat -A POSTROUTING -d $SERVER -p tcp --dport 27016 -j MASQUERADE
    iptables -t nat -A POSTROUTING -d $SERVER -p udp --dport 27016 -j MASQUERADE
     
    iptables -A FORWARD -d $SERVER -p tcp --dport 27017 -j ACCEPT
    iptables -A FORWARD -d $SERVER -p udp --dport 27017 -j ACCEPT
    iptables -A FORWARD -s $SERVER -p tcp --sport 27017 -j ACCEPT
    iptables -A FORWARD -s $SERVER -p udp --sport 27017 -j ACCEPT
    iptables -t nat -A PREROUTING -d $IP1 -p tcp --dport 27017 -j DNAT --to 192.168.1.101:27017
    iptables -t nat -A PREROUTING -d $IP1 -p udp --dport 27017 -j DNAT --to 192.168.1.101:27017
    iptables -t nat -A PREROUTING -d $IP2 -p tcp --dport 27017 -j DNAT --to 192.168.1.101:27017
    iptables -t nat -A PREROUTING -d $IP2 -p udp --dport 27017 -j DNAT --to 192.168.1.101:27017
    iptables -t nat -A POSTROUTING -d $SERVER -p tcp --dport 27017 -j MASQUERADE
    iptables -t nat -A POSTROUTING -d $SERVER -p udp --dport 27017 -j MASQUERADE
     
     
    #----------------------------------------------------------------------------------------------------
    agora faça como vc quiser!!! :good: :P [/quote]

  3. #3

    Padrão Redirecionamento de Portas no FreeBSD

    obrigado pelas resposta amigo, mas eu gostaria de saber c naum é possível fazer isso sofemente utilizando-se do ipfilter e ipnat (ipf.rules e ipnat.rules), alguém poderia me dar uma dica de como fazer ???