Problemas ao rotear o tráfego vpn para a segunda ajuda da placa de rede - por favor.

0

Estou executando o servidor ubuntu 16.04 e openvpn. Eu gostaria de mudar minhas configurações no vpnserver para que todo o tráfego venha na conexão atual (192.168.1.254) e todo o meu tráfego saia minha segunda conexão de internet (192.168.2.3).

Minha tabela de roteamento atual:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 ens33
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 ens33
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 ens34

Atualmente eu posso acessar o vpn no ens33, mas isso vai usar o ens33 como gateway padrão (192.168.1.254). Se eu adicionar métrica às interfaces de forma a incluir a métrica 10 e a métrica 100, não consigo alcançar o servidor. Se eu alterar /etc/ufw/before.rules

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# I CHANGED THIS FROM DEFAULT ens33 to ens34   
-A POSTROUTING -s 10.8.0.0/8 -o ens34 -j MASQUERADE
COMMIT
# END OPENVPN RULE

Eu posso acessar o servidor para conectar, mas não a internet no navegador ...

A configuração da minha interface é a seguinte:

    # 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 primary network interface
#auto ens33
#iface ens33 inet dhcp
# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.1.72
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.254
#metric 10

# the secondary network interface
auto ens34
iface ens34 inet  static
address 192.168.2.12
netmask 255.255.255.0
broadcast 192.168.2.255
gateway 192.168.2.3
dns-nameservers 8.8.4.4 8.8.8.8
#metric 100

Eu estou sentindo falta de uma regra de rota ou algo assim, mas eu tenho batido minha cabeça contra a parede nestes últimos dias em um presente ... Alguém por favor pode me ajudar? Eu sou qualquer ajuda é apreciada !! Desde já, obrigado!! < 3 < 3

    
por Nan Rait 15.01.2018 / 22:14

1 resposta

0

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.

    
por AlexOnLinux 16.01.2018 / 09:07