16.3. Estou utilizando o proxy (squid) mas os clientes da minha rede não estão conseguindo receber nem enviar emails, o que fazer ?

Suponha o seguinte exemplo:

    
                                _  __  _
                               | \/  \/ |
                              / Internet \
                              \_/\_/\_/\_/
                                   |
                                   |
                                   |     200.10.15.1
                                   |   /
                                   | /
                               __________
                              |          |
                              | Firewall |  <-- Gateway
                              |  System  |
                              |__________|
                                   |\
                                   |  \
                                   |    192.168.0.1
                                   |   255.255.255.0
                                   |
             _____________________________________________
            |                      |                      |
            |                      |                      |
            |                      |                      |
            |                      |                      |
       _____________        _____________           _____________
      |             |      |             |         |             |
      | Workstation |      | Workstation |         | Workstation |
      |_____________|      |_____________|         |_____________|
       192.168.0.2           192.168.0.3             192.168.0.4
      255.255.255.0        255.255.255.0          255.255.255.0
   


As workstation's estão conseguindo acessar a internet normalmente através do squid (proxy), porém não conseguem receber e enviar email.

Isso acontece pois o squid trabalha somente com os protocolos http e ftp e não conseguem retransmitir outros protocolos como os de email (POP3 e SMTP).

Para resolver esse problema habilita-se na máquina firewall (onde está instalado o squid) algumas regras de repasse de pacotes somente para as porgtas do POP (110) e do SMTP (25).

Para isso, basta executar essas regras:

    [root@localhost]#  ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 25 -j MASQ


    [root@localhost]#  ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 110 -j MASQ


Elas basicamente dizem para repassar todos os pacotes vindos de qualquer porta de qualquer máquina da rede 192.168.1.0 e com a máscara 24 (255.255.255.0), com destino para as portas 25 ou 110 de qualquer máquina (0/0).

Para listar as novas regras adicionadas basta executar:

    [root@local]# ipchains -L


    Chain input (policy ACCEPT):
    Chain forward (policy ACCEPT):
    target     prot opt     source           destination        ports
    MASQ       tcp  ------  192.168.1.0/24    anywhere       any -> smtp
    MASQ       tcp  ------  192.168.1.0/24    anywhere       any ->   pop-3
    Chain output (policy ACCEPT):


Agora para que essas regras sejam sempre lidas na inicialização do sistema basta adicionar no final do arquivo /etc/rc.d/rc.local os dois comandos referentes as regras de repasse de pacotes.

Existe uma outra forma elegante de se fazer isso, veja as instruções abaixo:

1. Vá para o diretório /etc/rc.d/init.d.

2. Use o editor de textos de sua preferência e crie um arquivo chamado ipchains com o seguinte conteúdo:

    
        #! /bin/sh
        # description: Inicializacao do ipchains
        #
        # chkconfig: 2345 80 30
        # processname: ipchains
        # pidfile: /var/run/ipchains.pid
    
        . /etc/rc.d/init.d/functions
        . /etc/sysconfig/network
    
        if [ ${NETWORKING} = "no" ]
        then
            exit 0
        fi
    
        case "$1" in
          start)
            gprintf "Iniciando o serviço de %s: " "IPChains"
               echo
               echo 1 > /proc/sys/net/ipv4/ip_forward
               /sbin/ipchains -P forward DENY
               /sbin/ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 25 -j MASQ
               /sbin/ipchains -A forward -p tcp -s 192.168.1.0/24 -d 0/0 110 -j MASQ
            ;;
          stop)
            gprintf "Parando o serviço de %s: " "IPChains"
               echo
               /sbin/ipchains --flush
            ;;
             *)
               gprintf "Uso: ipchains (start|stop)"
               echo
               ;;
        esac
    
        exit 0
   


3. Dê permissões de execução ao arquivo recém criado:

    [root@localhost]# chmod a+x /etc/rc.d/init.d/ipchains


4. Para ativar o ipchains:

    [root@localhost]# cds


    [root@localhost]# ./ipchains start


e para desativar o mesmo execute:

    [root@localhost]# ./ipchains stop


5. Use o comando ntsysv para fazer com que o ipchains seja carregado junto com o sistema:

    
        [*] Ipchains
   


Configuração das Estações

A configuração das estações de trabalho para utilizar o IP Masquerading (mascaramento) é bastante simples tanto para estações Conectiva Linux quanto para estações Windows®.

Para configurar a estação Conectiva Linux, execute os seguintes passos:

    [root@localhost]# linuxconf


Vá para Ambiente de Rede->Tarefas do cliente->Roteamento e Roteadores:

Selecione Padrões e informe o endereço de IP de seu servidor.

Selecione Padrões e informe o endereço de IP de seu servidor.

Deixe a opção Ative o roteamento desativada.

Saia do Linuxconf e ative a configuração.

    [root@localhost]# cds


    [root@localhost]# ./network stop


    [root@localhost]# ./network start


### Kernel versão 2.4 ###

Para sistemas que utilizam kernel da versão 2.4 , para utilizar do ipchains é necessário habilitar o módulo ipchains:

    [root@localhost]# modprobe ipchains


Insira tal comando no arquivo /etc/rc.d/init.d/ipchains (acima da linha "/sbin/ipchains -P forward DENY") para que na próxima inicialização do sistema tal modulo seja habilitado automaticamente juntamente com as regras:

    ...
    /sbin/modprobe ipchains
    /sbin/ipchains -P forward DENY
    ...


Pode-se utilizar também do iptables para utilizar das mesmas regras de mascaramento. O iptables é a ferramenta netfilter padrão da versão 2.4 do kernel.

Estações Windows®

Para configurar uma estação Windows®, siga os seguintes passos:

1. Vá para Iniciar->Configurações->Painel de Controle->Rede:

2. Clique em TCP/IP e pressione o botão Propriedades.

3. Clique em Configuração DNS

4. Clique em Ativar DNS e digite o nome de sua máquina no campo Host e o domínio no campo Domínio. Especifique também o DNS do provedor onde você esta se conectando.

5. Digite o endereço de IP de seu servidor em Ordem pesquisa servidor DNS e clique em Adicionar.

6. Digite o nome do seu domínio em Ordem pesquisa sufixo domínio e clique em Adicionar.

7. Clique em Gateway e informe o número ip do seu servidor.

8. Clique em Ok e saia da configuração de rede. Você terá de reinicializar o computador. Para testar a configuração, tente acessar algum endereço da Internet após ter reinicializado a máquina.