Ubuntu 14.04 como um gateway / roteador e um firewall

14

Minha configuração atual do sistema é Ubuntu 14.04 Desktop 64 Bit e estou usando a Internet de um roteador usando um IP público

eth0 - WAN Public IP 182.x.x.x  
eth1 - LAN private IP 192.168.0.1

Agora, quero distribuir essa conexão para outros computadores usando meu sistema como Gateway , o IP do meu sistema é 192.168.0.1 e os outros computadores da rede estão usando o IP estático 192.168.0.2 e 192.168.0.255 as static e / ou DHCP .

Além disso, quero configurar um firewall no meu sistema para que eu possa monitorar e controlar o tráfego de outros sistemas na rede.

    
por Santi Varghese 28.02.2015 / 06:08

3 respostas

14
  1. Abra um Terminal Ctrl + Alt + T

  2. Digite o seguinte comando para editar interfaces file:

    sudo vim /etc/network/interfaces
    
  3. Edite o arquivo com as seguintes linhas: (adicione seu netmask e gateway )

    auto lo 
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 182.x.x.x 
    netmask  x.x.x.x 
    gateway x.x.x.x
    
    auto eth1
    iface eth1 inet static 
    address 192.168.0.1
    netmask x.x.x.x
    
  4. Agora edite o /etc/sysctl.conf e remova o comentário:

    # net.ipv4.ip_forward=1
    

    para que ele leia:

    net.ipv4.ip_forward=1
    

    e salve-o digitando

    sudo sysctl -p /etc/sysctl.conf

  5. Para ativar o mascaramento de IP, digite o seguinte conjunto de comandos no terminal:

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    

Atualização: Corrigir "-state" estranho fazendo com que o comando falhe e conserte o MASQUERADE nat para eth0 (interface wan)

    
por Anbu 28.02.2015 / 06:23
3

@ o comentário de chreekat está correto que os adaptadores Ethernet são trocados na etapa 5 da resposta da @Anbu, e como mostrado (a partir de 2017-02-21) cria UM GRANDE FURO DE SEGURANÇA que permite acesso irrestrito à rede privada por qualquer um em a rede pública.

A configuração corrigida para o passo 5 é mostrada abaixo.

Teoria da operação: (Regra # 2) Os pacotes ingressando da rede pública (eth0) são aceitos para encaminhamento para a rede privada (eth1) se, e somente se, o pacote público ingressando estiver relacionado a uma conversa estabelecida por um host na rede privada. (Regra # 3) Aceite todos os pacotes ingressando na rede privada (eth1) e encaminhe-os para a rede pública (eth0).

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    
por Jim Fischer 22.02.2017 / 02:56
0

Isso é o que eu uso, funciona bem sempre. Uma combinação de vários tutoriais. Testado no Ubuntu 16.04LTS também.

Etapa A - Certifique-se de que o ufw esteja instalado

sudo apt-get install ufw

Etapa B - Configure suas interfaces de rede .

sudo nano /etc/network/interfaces

Configure o arquivo interfaces para algo assim abaixo:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The WAN primary network interface
iface eth0 inet static
        address 182.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx

#LAN side interface
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        address 192.168.0.1

Salve o arquivo selecionando CTRL-X do nano ou de qualquer outro editor de sua preferência.

Etapa C - Permitir encaminhamento de IP . Defina o encaminhamento. Edite o arquivo /etc/sysctl.conf

sudo nano /etc/sysctl.conf

Remova o comentário nesta linha # net.ipv4.ip_forward=1 para que seja net.ipv4.ip_forward=1 Salve as alterações e vá para a próxima etapa.

Etapa D - Regras de mascaramento / encaminhamento

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Persiste iptables muda

sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables

Digite este conteúdo:

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

Salvar alterações Então edite / crie o próximo arquivo iptables

sudo nano /etc/network/if-post-down.d/iptables

Digite este conteúdo:

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
    iptables-restore < /etc/iptables.rules
fi
exit 0

Salvar alterações. Tornar ambos os arquivos executáveis

sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables

Passo E - Finalize com a configuração do ufw

sudo nano /etc/default/ufw

Altere a política de encaminhamento de parâmetros para aceitar

DEFAULT_FORWARD_POLICY="ACCEPT"

Salvar alterações.

Eu tenho meu SSH na porta 49870, então também permiti que ufw aceitasse conexões nessa porta:

sudo ufw allow 49870

Etapa F - Não se esqueça de ativar o ufw .

sudo ufw enable

Nesta fase, basta reiniciar o seu sistema. Em seguida, todos os dispositivos da LAN podem usá-lo como gateway principal. Em uma nota lateral, ufw é muito conveniente para gerenciar as configurações do firewall.

    
por sukupandachu 24.05.2018 / 10:58