Encaminhamento de tráfego de clientes VPN para internet (Tincdaemon + Ubuntu)

0

Eu tenho um daemon tinc rodando na máquina virtual do Ubuntu. Minha tabela de roteamento é assim:

default via 10.0.2.2 dev enp0s3  proto static  metric 100 
10.0.0.0/24 dev vpnnet  scope link 
10.0.2.0/24 dev enp0s3  proto kernel  scope link  src 10.0.2.15  metric 100 
169.254.0.0/16 dev enp0s3  scope link  metric 1000 

Onde - 10.0.2.0/24 - sub-rede da rede local, 10.0.0.0/24 - sub-rede da VPN

Interfaces:

vpnnet    Link encap:Ethernet  HWaddr b2:e8:0b:22:22:f1  
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::b0e8:bff:fe22:22f1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:62 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2736 (2.7 KB)  TX bytes:5760 (5.7 KB)

enp0s3    Link encap:Ethernet  HWaddr 08:00:27:12:d8:be  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::5333:40a8:822c:e6f9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6428 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2575 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6131799 (6.1 MB)  TX bytes:200156 (200.1 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:206 errors:0 dropped:0 overruns:0 frame:0
          TX packets:206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15740 (15.7 KB)  TX bytes:15740 (15.7 KB)

enp0s3 - nome da interface local, vpnnet - nome da interface VPN. 10.0.0.1 - servidor VPN, 10.0.0.131 - cliente VPN.

Um cliente tem seu gateway padrão substituído, então ele só pode executar ping no servidor (10.0.0.1), mas nada mais.

Tabela de roteamento do cliente:

0.0.0.0/1 via 10.0.0.254 dev tap0
server-static-ip via 192.168.1.1 dev wlan0
10.0.0.0/8 dev tap0  proto kernel  scope link  src 10.0.0.131
10.0.0.254 dev tap0  scope link
128.0.0.0/1 via 10.0.0.254 dev tap0
192.168.1.0/24 dev wlan0  proto kernel  scope link  src 192.168.1.46  metric 310
192.168.1.1 dev wlan0  scope link

Eu quero que o cliente possa acessar a internet através do meu servidor Ubuntu. (Meio que como um proxy) Tanto quanto eu entendo, eu preciso rotear todo o tráfego que vem do meu cliente vpn para a internet através do gateway padrão no enp0s3 e vice-versa. Quais alterações eu preciso fazer na minha tabela de roteamento / NAT para conseguir isso?

Eu olhei para artigos descrevendo uma maneira de resolver isso usando regras iptables POSTROUTING, mas nada parece funcionar para mim.

Ajuda!

    
por Noname135 25.08.2017 / 01:53

1 resposta

0

Você não mencionou qual endereço de gateway que o cliente usa. Está definido para 10.0.0.1 (seu IP)? Se assim for, tudo está bem - basta seguir as instruções exatamente iguais (tutoriais) para criar seu próprio roteador. Aproximadamente:

  1. Ative o encaminhamento de IPv4 para todo o sistema, usando o net.ipv4.conf.all.forwarding sysctl;

  2. Adicione uma regra de mascaramento iptables / nft, para que os pacotes dos seus clientes sejam SNATed.

Como alternativa (tecnicamente mais limpa, mas com mais configuração):

  1. Ativar o encaminhamento de IPv4;

  2. Não faça o NAT, mas configure o seu roteador upstream para ter uma rota estática para 10.0.0.0/24 através do seu IP 10.0.2.15 .

por 25.08.2017 / 06:29