Configurando o Ubuntu Server 16.04 como Gateway para conexão OpenVPN

1

Estou tentando configurar um servidor Ubuntu 16.04 em uma máquina virtual para atuar como um gateway para o tráfego a ser tunnelled através de uma conexão via OpenVPN.

O conceito é que essa VM tem um IP estático e os clientes em minha rede podem definir esse IP como seu gateway e a VM deve rotear o tráfego por meio da conexão OpenVPN. Todos os outros clientes padrão via DHCP para o gateway principal.

Eu segui isso como um guia e adaptei-o aos meus propósitos. ( link ) No entanto, quando eu definir um cliente para usar este gateway de túnel VM como o gateway padrão não pode se conectar a qualquer saída. Aqui está minha configuração:

Gateway de túnel (executando o Ubuntu Server 16.04) IP: 192.168.2.3 Gateway: 192.168.2.1 (este é o gateway principal que os clientes DHCP recebem)

Conteúdo do /etc/rc.local:

# /etc/rc.local

# Default policy to drop all incoming packets
iptables -P INPUT DROP
iptables -P FORWARD DROP

# Accept incoming packets from localhost and the LAN interface
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i ens160 -j ACCEPT

# Accept incoming packets from the WAN if the router initiated
# the connection
iptables -A INPUT -i tun0 -m conntrack \
    --ctstate ESTABLISHED,RELATED -j ACCEPT

# Forward LAN packets to the WAN
iptables -A FORWARD -i ens160 -o tun0 -j ACCEPT

# Forward WAN packets to the LAN if the LAN initiated the
# connection
iptables -A FORWARD -i tun0 -o ens160 -m conntrack \
    --ctstate ESTABLISHED,RELATED -j ACCEPT

# NAT traffic going out the WAN interface
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

# rc.local needs to exit with 0
exit 0

tun0 é estabelecido via systemctl no início do sistema com um arquivo de configuração. Uma vez estabelecida, a VM do gateway de túnel não tem problemas em enviar tráfego por padrão.

O cliente está configurado como tal: IP: 192.168.2.42 Gateway Padrão: 192.168.2.3

Por favor, deixe-me saber o que preciso corrigir ou se houver qualquer informação adicional que eu possa fornecer!

    
por Cas 16.04.2018 / 21:10

1 resposta

0

Adicionando o seguinte ao /etc/rc.local acima de todas as minhas declarações do iptables (acima) corrigiu o problema:

echo 1 > /proc/sys/net/ipv4/ip_forward
    
por Cas 17.04.2018 / 00:11