De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

PPPoE + NAT no OpenBSD

Colaboração: André Luiz Facina

Data de Publicação: 05 de November de 2008

Essa dica mostrará como configurar o OpenBSD 4.x para se conectar na internet utilizando o PPPoE, bem como configurar o NAT para que os computadores da LAN possam acessar a internet através do OpenBSD.

Habilitar o Forwarding de pacotes

  # sysctl net.inet.ip.forwarding=1

Para que a configuração seja ativada no boot, modifique a linha net.inet.ip.forwarding=0 para net.inet.ip.forwarding=1 no arquivo de configuração /etc/sysctl.conf

Configurando a Interface Externa

Criar o arquivo /etc/hostname.pppoe com o seguinte conteúdo:

  inet 0.0.0.0 255.255.255.255 NONE pppoedev INTERFACE \
        authproto pap authname USER authkey PASSWORD up
        dest 0.0.0.1
        !/sbin/route add default 0.0.0.1

Obs: Troque INTERFACE pela interface física que está conectada com o modem ADSL (O modem deve estar como bridge). Também troque USER e PASSWORD pelo usuário e senha do provedor.

Depois de configurar a interface pppoe, deve configurar a interface física que está conectada ao modem ADSL. Para isso inclua apenas um up no arquivo /etc/hostname.interface, troque o .interface pelo respectivo nome da interface. Lembre-se, o OpenBSD não reconhece as interfaces pela tipo de conexão, mas sim pelo chipset(modelo) da placa de rede. Por exemplo, no meu caso ficaria:

  # echo "up" > /etc/hostname.fxp0

Se estiver configurado um default gateway para a máquina, deve removê-lo, pois agora quem irá fornecê-lo será o servidor PPPoE.

  # rm -f /etc/mygate

Configurando a Interface Interna (LAN)

Definir um ip fixo para a placa de rede da LAN, para isso é muito simples, basta apenas incuir a seguinte linha no arquivo de configuração /etc/hostname.interface. Por exemplo:

  # echo "inet 10.10.2.254 255.255.255.0 NONE" > /etc/hostname.vr0

Reiniciar as interfaces

  # sh /etc/netstart

NAT

Para configurar o NAT deve conhecer o básico do PF, mas aqui irei mostrar como configurar, de forma simples, para que as máquinas da rede interna possam acessar a internet através da Máquina com OpenBSD.

Habilite o PF

  # pfctl -e

Edite o arquivo /etc/pf.conf e inclua as seguintes linhas:

  # macros
  if_ext="pppoe0"
  if_int="vr0"
  rede="192.168.1.0/24"
  
  # Ativa o scrub, ""Scrubbing" é o processo de normalização de pacotes, para que
  # não haja ambiguidades na interpretação pelo destino final do pacote. A
  # diretiva scrub também remonta pacotes fragmentados, protegendo alguns
  # sistemas operacionais de algumas formas de ataque, e descarta pacotes TCP
  # que possuam combinações de flag inválidas."
  
  scrub in
  
  # NAT
  # Utiliza-se o "( )" na interface externa, quando o ip válido é dinâmico
  
  nat on $if_ext from !($if_ext) -> ($if_ext)
  
  #EOF

Lembre-se, essa é uma configuração simples do PF e apenas com NAT, é preciso configurar também as regras de filtragem e que não se encontram nessa configuração.

Carregando o Firewall

  # pftcl -f /etc/pf.conf

Visualizando as regras de NAT

  # pfctl -sn

Para que a configuração do PF seja ativada durante o boot, modifique a linha pf=NO para pf=YES no arquivo de configuração /etc/rc.conf. Também aproveite e verifique a seguinte linha pf_rules=/etc/pf.conf e caso o arquivo de configuração esteja em outro lugar, modifique a linha.

Espero ter mostrado, de forma simples e funcional, como configurar o OpenBSD para utilizar PPPoE e para realizar traduções de endereços (NAT).

Error: No domain found