+ Responder ao Tópico



  1. #1

    Padrão Compartilhar interface eth0:1

    Pessoal, estou tentando compartilhar a internet que recebo via minha interface virtual eth0:1 mas não está funcionando, alguém sabe por que?

    [root@srv01 ~]# iptables -t nat -A POSTROUTING -o eth0:1 -j MASQUERADE
    Warning: wierd character in interface `eth0:1' (No aliases, :, ! or *).

    At.,

  2. #2

    Padrão

    Então amigo... a eth0:1 não é uma interface! É um alias!
    Então você precisaria fazer um SOURCE NAT mais ou menos assim:

    Pode ver que o iptables diz explicitamente:

    Código :
    Warning: wierd character in interface `eth0:1' ([B]No aliases, :, ! or *[/B]).

    Então você faz assim:

    Código :
    [B]iptables -t nat -A POSTROUTING -s <sua rede>/<sua mascara> -j SNAT --to <seu ip valido>
    [/B]
    Não esqueça de habilitar o ipforward!
    Falowww

  3. #3

    Padrão

    Obrigado, funcionou perfeitamente.

    Aproveitando será que você pode me ajudar no meu firewall? Estou montando um firewall do zerado e não gostaria de usar o MASQUERADE para mascarar a conexão, na verdade nem sei muito bem para que server. Estou com um problema que não consigo permitir que os meu servidor interno resolva nome, será pode me ajudar?

  4. #4

    Padrão

    Opa...
    Então meu amigo...
    Pode ser que seu servidor não tenha setado o servidor dns "/etc/resolv.conf"!
    Ou ele não tem permissão para sair usando a porta 53!
    Como esta seu firewall?

    Faloww

  5. #5

    Padrão

    Olá Zenun, eu ja tentei milhares de regras mas nada deu certo meu firewaal ta assim:

    #! /bin/sh

    # Carregando os Módulos
    /sbin/depmod -a
    /sbin/modprobe ip_tables
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe iptable_nat

    # Ativando o roteamento de pacotes
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # Limpando as regras
    iptables -F
    iptables -F -t nat

    # Politica padrão
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    # Descarta pacotes malformados, protegendo contra ataques diversos:
    iptables -A INPUT -m state --state INVALID -j DROP

    # Libera todo o acesso a interface loopback
    iptables -t filter -A INPUT -j ACCEPT -i lo

    # Permite acesso total da rede interna para o firewall
    iptables -A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -j ACCEPT

    # Mantem as conexoes estabelecidades e relatadas
    iptables -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

    # Impede a abertura de novas conexões
    iptables -A INPUT -p tcp --syn -j DROP

    # Redireciona as conexoes da porta 80 para a porta 3128 do squid
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128



    Se vc puder me ajudar serei muito grato pois todos os dias tento arrumar isso

  6. #6

    Padrão

    Ola amigo..
    Se essas são todas as regras que você tem ai, esta faltando você permitir o trafego na chain FORWARD!

    Código :
    iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t filter -A FORWARD -s <sua rede>/<sua mascara> -o <interface internet> -j ACCEPT
    Coloca ai e testa!

    Voce precisa dessas regras ai para qualquer trafego que nao seja porta 80!

    Faloww
    Última edição por zenun; 23-08-2008 às 00:52. Razão: mais info

  7. #7

    Padrão

    Zenun, mas com essa regra eu vou liberar todo o trafego certo? Eu não queria isso .. eu quero deixar tudo bloqueado e liberar aos poucos

  8. #8

    Padrão

    Zenun, as regras que você não deram certo.
    Vc tem msn?

  9. #9

    Padrão

    Ola amigo...
    Então cara... como esta sua configuração final?

  10. #10

    Padrão

    Zenun, final ficou assim:

    #!/bin/sh
    # Carregar modulos
    modprobe iptable_nat
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp
    modprobe ipt_LOG
    modprobe ipt_REJECT
    modprobe ipt_MASQUERADE


    # Tabelas padrão
    iptables -F
    iptables -X
    iptables -F -t nat
    iptables -X -t nat
    iptables -F -t mangle
    iptables -X -t mangle
    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD DROP

    # Descarta pacotes malformados, protegendo contra ataques diversos:
    iptables -A INPUT -m state --state INVALID -j DROP

    # Libera todo o acesso a interface loopback
    iptables -t filter -A INPUT -j ACCEPT -i lo

    # Permite acesso total da rede interna para o firewall
    iptables -A INPUT -s 10.10.10.0/255.255.255.0 -i eth0 -j ACCEPT

    # Libera o SSH
    iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT

    # Mantem as conexoes estabelecidades e relatadas
    iptables -t filter -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

    # Impede a abertura de novas conexões
    iptables -A INPUT -p tcp --syn -j DROP

    iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t filter -A FORWARD -s 10.10.10.0/24 -o eth0 -j ACCEPT

    Só que essa regra liberou tudo iptables -t filter -A FORWARD -s 10.10.10.0/24 -o eth0 -j ACCEPT tanto a consulta DNS quanto a navegação web, eu só quero permitir que o usuário consiga resolver nomes usando um servidor de dns externo.

  11. #11

    Padrão

    Então camarada...
    A finalidade dessa regra é exatamente isso! Hehehe
    Mas se você quiser liberar somente DNS (ou seja, seus usuários só irão conseguir resolver um nome em ip) você precisa em vez de liberar assim:

    Código :
    iptables -t filter -A FORWARD -s 10.10.10.0/24 -o eth0 -j ACCEPT
    Precisa deixar assim:

    Código :
    iptables -t filter -A FORWARD -s 10.10.10.0/24 -p udp --dport 53 -o eth0 -j ACCEPT
    Assim você esta dizendo que somente trafego vindo da sua rede com o protocolo udp com porta de destino 53 estará
    permitido a passar pelo seu firewall e nada mais! Espero que ajude!

  12. #12

    Padrão

    Zenun,

    Agora deu certo, ele nao retorna o ping mas o endereço ele resolveu, acho que vai funcionar.
    Agora só para matar se eu quiser que ele consulte somente um dns especifico como devo fazer? Porque com a regra que você me passou esta liberado a porta 53 se eu quiser a porta 53 de um determinado servidor como devo fazer?

    Muito obrigado até agora!

  13. #13

    Padrão

    Ola amigo...
    Se quiser permitir ping coloque também assim

    Código :
    iptables -t filter -A FORWARD -p icmp -j ACCEPT
    E para especificar o endereço do DNS que você quer adicionar o seguinte ao comando:

    Código :
    -d <ip do servidor dns>
    Falowww

  14. #14

    Padrão

    Olá Zenun,

    Deu tudo certo.
    Muito obrigado mesmo, de pessoas assim que o forum precisa.
    A primeira parte do firewall ja foi, agora preciso liberar o e-mail e permitir que uma máquina em especifica da minha rede tenha acesso total a rede sem passar pelo firewall vou pesquiser e qualquer coisa volta a postar.

    Muitoo Obrigado

  15. #15

    Padrão

    Ola amigo!
    Obrigado pelas palavras!

    Então quando você quiser liberar alguma maquina totalmente para o acesso a internet você pode colocar essa regra depois daquela que verifica os pacotes RELACIONADOS, e ESTABELECIDOS (-m state --state ESTABLISHED,RELATED) assim:

    Código :
    iptables -t filter -A FORWARD -s <ip da maquina de origem> -o eth0 -j ACCEPT
    Assim esse ip não será restringido pelas outras regras!
    E para liberar o e-mail, o principio é o mesmo para a regra de DNS que te passei!
    Qualquer coisa poste aee!!

    André

    p.s.: Estou com um blog e sempre estarei postando algumas dicas que acabo usando em minha rede!
    Da uma olhada la as vezes!