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