User Tools

Site Tools


doc:appunti:linux:sa:openvpn_forwarding

Table of Contents

OpenVPN Forwarding

Uno scenario prevede:

  • Due sedi distaccate collegate tramite due firewall GNU/Linux e tunnel OpenVPN.
  • Utilizzo del firewall Shorewall su enrambi i firewall.
  • Una connessione OpenVPN roadwarrior che si collega ad una delle due sedi.
  • Necessità da parte del roadwarrior di accedere alla LAN di entrambe le sedi.
  • OpenVPN configurate con chiavi PSK sia per il tunnel A-B che per i roadwarrior. Questo significa che ogni tunnel ha la sua interfaccia PtP individuale e la topologia di rete è del tipo net30 (vedi parametro --topology di OpenVPN).

Sede A

Consideriamo la Sede A come sede principale, quella alla quale si connette il roadwarrior. Il firewall di questa sede userà il tun99 per connettersi alla Sede B e l'interfaccia tun7 per accettare il roadwarrior. Sarà necessario impostare l'opzione routeback nel file /etc/shorewall/interfaces, relativamente alle interfacce tun+:

vpn   tun+   routeback

In questo modo si evita il problema sul forward, che sarebbe evidenziato con questo messaggio di log:

FORWARD REJECT IN=tun7 OUT=tun99 MAC= SRC=172.16.7.2 DST=10.1.3.52 ...

Sede B

Anche per la Sede B il tunnel che collega le due sedi è identificato dall'interfaccia tun99.

Nella configurazione OpenVPN della sede B è necessario indicare quali sono gli indirizzi IP dei client OpenVPN roadwarrior che devono accedere alla LAN tramite il tun99. Quindi nella file di configurazione /etc/openvpn/tun99.conf si imposta:

...
# Routeback for OpenVPN clients coming thorough this tunnel.
# Accepted PtP addresses from 172.16.0.0 to 172.16.63.255
route 172.16.0.0 255.255.192.0 vpn_gateway
...

Con la riga di configurazione sopra, si considera rouotate tramite il tun99 tutti gli indirizzi IP da 172.16.0.0 a 172.16.63.255, pertanto i roadwarrior dovranno essere configurati di conseguenza.

Altrimenti l'indirizzo del roadwarrior verrebbe considerato marziano quando compare nel tunnel tun99, perché per le regole di routing sarebbe accettabile solo se provenisse dal default gateway:

IPv4: martian source 10.1.3.52 from 172.16.7.2, on dev tun99
doc/appunti/linux/sa/openvpn_forwarding.txt · Last modified: 2022/01/17 10:42 by niccolo