Para mim, não está muito claro o que você tenta alcançar. Deixe-me supor que você tem duas interfaces ethernet: eth0 e eth1. O Eth0 está conectado à internet, enquanto o eth1 está conectado à sua rede doméstica. Nesse caso, você poderia usar seu servidor como roteador, que dá acesso à internet em eth0 para todos os dispositivos conectados a eth1.
Para que isso funcione, você precisaria de um servidor dhcp que atribuísse IPs aos dispositivos conectados à sua interface eht1. Além disso, você precisaria encaminhar o tráfego entre os dois dispositivos eth.
Instalação e configuração do servidor Dhcp:
sudo apt-get install dnsmasq
sudo nano /etc/dnsmasq.conf
interface=eth1 # The interface for the dhcp server to listen to
dhcp-range=192.168.179.10,192.168.179.150,255.255.255.0,12h # Dhcp server IP adress + Range + Netmask + Leasetime
Roteamento e encaminhamento
sudo nano /etc/sysctl.conf
remova o comentário da linha
net.ipv4.ip_forward=1
e deixe as alterações entrarem em vigor:
sudo sysctl -p
Modifique as tabelas de IP. Eu recomendo que você escreva um roteiro para este propósito, para que você possa fazer mudanças rapidamente, caso precise experimentar. O script excluirá todas as regras do iptables, definirá as regras da cadeia como ACCEPT e anexará as regras de roteamento:
nano firewall-script.sh
#!/bin/bash IPTABLES="/sbin/iptables" # ACCEPT everything by default. $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT # Set the nat/mangle/raw tables' chains to ACCEPT $IPTABLES -t nat -P PREROUTING ACCEPT $IPTABLES -t nat -P OUTPUT ACCEPT $IPTABLES -t nat -P POSTROUTING ACCEPT $IPTABLES -t mangle -P PREROUTING ACCEPT $IPTABLES -t mangle -P INPUT ACCEPT $IPTABLES -t mangle -P FORWARD ACCEPT $IPTABLES -t mangle -P OUTPUT ACCEPT $IPTABLES -t mangle -P POSTROUTING ACCEPT # Cleanup - Delete all iptables-rules. #------------------------------------------------------------------------------ # Delete all $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F # Delete all $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X # Zero all packets and counters. $IPTABLES -Z $IPTABLES -t nat -Z $IPTABLES -t mangle -Z #------------------------------------------------------------------------------ $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE $IPTABLES -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -i eth1 -o eth0 -j ACCEPT
Salve o arquivo CTRL+X
e torne-o executável chmod +x firewall-script.sh
.
quando você quiser salvar suas regras do iptables - caso contrário, elas serão perdidas após a reinicialização - instale sudo apt-get install iptables-persistent
. Caso você já tenha instalado, digite sudo dpkg-reconfigure iptables-persistent
. Eu recomendo que você não salve as regras feitas pelo meu script, pois ele abre tudo. Meu script IPTABLES é apenas para fins de teste.
Agora você deve poder usar seu servidor como roteador. O próximo passo seria modificar o script para usar a conexão vpn do servidor.
Inicie sua conexão VPN. Quando a conexão for estabelecida, digite ifconfig
. Você deveria ver um dispositivo tun. Suponho que sua conexão vpn esteja usando tun0
e eth1
está conectado à sua rede local:
$IPTABLES -t nat -A POSTROUTING -o tun0 -j MASQUERADE $IPTABLES -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -i eth1 -o tun0 -j ACCEPT
Agora, todo o tráfego doméstico deve ser roteado através do seu vpn. Espero que isso ajude você de alguma forma.