+ Responder ao Tópico



  1. #1

    Padrão Redirecionar trafego P2P

    Ola, Galera.

    é o seguinte, Gcas a Deus e a ajuda da comunidade Linux consegui fazer o meu GW funcionar c/ 2 links, um ADSL e um Dedicado. Redireciono trafego como porta 80 pro ADSL e o restante fica no dedicado, toh querendo fazer o seguinte: Jogar todo o trafego p2p(kazaa, emule, etc), pro ADSL.

    Bom instalei o IPP2P, e toh em duvida q regras coloco no meu iptables.

    iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j MARK --set-mark 2
    iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 2

    # Joga serviço 80 (pacotes marcados com 2) pro adsl
    # ------------------------------------------------------------
    ip rule add fwmark 2 table 20 prio 20
    ip route add default via 172.16.0.1 dev eth2 table 20

    Uso o exemplo acima aqui no meu servidor.
    Pra ele marcar os pacotes e redireciona-los pro ADSL. Sou novato em IPTABLES e conto com ajuda dos colegas. Obrigado.

  2. #2
    Avenger
    Visitante

    Padrão Redirecionar trafego P2P

    Olha, é meio complicado saber quais portas o programa p2p vai usar prá você redirecionar coerentemente, além disso algum port-forward (no caso do eMule prá ficar com id alta) se fará necessário. Mesmo no caso do emule, diferentes portas podem ser usadas para o p2p trafegar. Logo o que você pode fazer, é um levantamento das portas mais comuns, e encher de regras para elas. Pode colocar em todos os mesmos fwmark da porta 80, poupando os comandos 'ip rule' e 'ip route', mas terá que fazer uma série de filtros no iptables para capturar os pacotes de cada porta. Umas comuns são essas: 1214, 4662. Mas vão existir várias outras, e excessões únicas (ou não) variando de 2 a 65534...

    No caso então você pode fazer um scriptzinho com recursividade e:

    Código :
    portas="80 1214 4662"
    for porta in ${portas}; do
     iptables -t mangle -I PREROUTING -i eth1 -p tcp --dport ${porta} -j MARK --set-mark 2
     iptables -t mangle -I OUTPUT -p tcp --dport ${porta} -j MARK --set-mark 2
    done

    daí você só vai colocando mais portas separadas por espaço ou 'enter', tipo
    Código :
    portas="80 90 100 110 120 2340
     230 280 290 1293"

    Desde que não feche as aspas antes do tempo, pode dar enter e o que quiser na variavel.

    Espero que isso ajude!

  3. #3

    Padrão Redirecionar trafego P2P

    To tentando fazer a mesma coisa.. to marcando o p2p com layer7, porém to tendo problemas para fazer o iproute funcionar (nao sei se é algum bug)

  4. #4
    Avenger
    Visitante

    Padrão Redirecionar trafego P2P

    Pode ser bug, mas eu acho pouco provável. Eu quebrei muito a cabeça até conseguir fazer o ip rule funcionar. No meu caso, como eu uso dispositivos do shaper.o ao invés de HTB/CBQ, eu tive que configurar esses dispositivos com o mesmo IP da máquina para poder usar o gateway sem problemas. O único problema que achei usando o shaper + ip route/rule foi a limitação de apenas 256 tabelas de roteamento no kernel, pois eu preciso setar o gateway por determinada interface de acordo com o ip de origem, e isso só consegui com o ip rule (add from <ip> lookup <tabela>), mas não com alguma regra de IPtables ou 'ip route' simplesmente.

    Talvez se você abrir um tópico com seu problema com o ip rule a gente consiga achar uma solução pra o que esteja acontecendo.