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
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!
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