Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    NeoRamza
    Pessoal, eu uso proxi transparende na minha rede. Porem eu uso o seguinte comando do iptables para liberar o acesso ao IP 200.201.174.207 sem passar pelo squid.

    iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128

    Repare que o comando vale para todos os destinations menos o ip indicado (por isso informado o "!").

    Mas agora eu quero fazer isso com varios ips e não só com esse. Como eu devo fazer isso?

  2. #2
    eric_lc
    iptables -t nat -A PREROUTING -p tcp -d 200.201.174.207 --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -d A.B.C.D --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -d E.F.G.H --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

    Com isso ele faz NAT para todos os destinos com excessão dos citados nas 3 primeiras linhas. É só ir adicionando mais regras antes da última.



  3. olá,

    Código :
    for ip in 200.201.174.207 200.201.174.208 200.201.174.209 200.201.174.210
     do
     iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! $ip --dport 80 -j REDIRECT --to-port 3128
     done

    até...

  4. Citação Postado originalmente por flamehazard
    olá,

    Código :
    for ip in 200.201.174.207 200.201.174.208 200.201.174.209 200.201.174.210
     do
     iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! $ip --dport 80 -j REDIRECT --to-port 3128
     done

    até...
    Flame, essas regras nao funcionam conforme o desejado.
    Vamos analisar:

    As regras criadas seriam as seguintes:

    iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128

    iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.208 --dport 80 -j REDIRECT --to-port 3128

    iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.209 --dport 80 -j REDIRECT --to-port 3128

    iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.210 --dport 80 -j REDIRECT --to-port 3128

    Se a requisicao do usuario fosse para o ip 209, a primeira regra carregada pelo kernel diz o seguinte: redirecione para a porta 3128 todos os pacotes com destino a porta 80 que nao sejam para o ip de destino 200.201.174.207. Como o ip de destino em questao é o 209, o kernel aplica a regra para a solicitacao, redirecionando para o squid. A forma correta e mais 'limpa' é a citada pelo Eric.

    Ou, ainda, se a sua necessidade for apenas com relacao ao Conectividade Social, voce pode cirar a regra pra classe toda, é mais garantido.

    iptables -t nat -A PREROUTING -p tcp -d ! 200.201.174.0/24 --dport 80 -j REDIRECT --to-port 3128

    Att,

    Fabio K. Lima
    LPIC1/81913



  5. para ficar mais organizados.. pode usar chains personalizadas assim:

    iptables -t nat -N proxy

    iptables -t nat -A PREROUTING -p tcp --dport 80 -j proxy
    iptables -t nat -A proxy -d 200.200.200.1 -j ACCEPT
    iptables -t nat -A proxy -d 200.200.200.2 -j ACCEPT
    iptables -t nat -A proxy -j DNAT --to-destination 192.168.0.1:3128

    assim fica mais organizado






Tópicos Similares

  1. Como captar a saída de uma função/comando do linux?
    Por Duca no fórum Linguagens de Programação
    Respostas: 6
    Último Post: 25-11-2008, 16:53
  2. Iptables, como faço esse script?
    Por lipeiori no fórum Servidores de Rede
    Respostas: 7
    Último Post: 24-11-2008, 09:24
  3. Como bloquear pelo nome do aplicativo - iptables
    Por gsiena no fórum Servidores de Rede
    Respostas: 5
    Último Post: 15-04-2008, 13:09
  4. Duvida em comando do iptables...
    Por fisiconuclear18 no fórum Servidores de Rede
    Respostas: 5
    Último Post: 31-12-2005, 14:34
  5. Como mudar a funcao do comando CTRL+ALT+DEL
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 27-06-2003, 19:04

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L