User Tools

Site Tools


doc:appunti:linux:sa:ipsec

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:ipsec [2016/12/13 11:34] – [Configurazione Debian 8 Jessie] niccolodoc:appunti:linux:sa:ipsec [2026/09/25 12:36] (current) – [SNAT con Shorewall >= 5.1.0] niccolo
Line 33: Line 33:
         hash_algorithm md5;         hash_algorithm md5;
         authentication_method pre_shared_key;         authentication_method pre_shared_key;
-        dh_group modp768;+        dh_group modp1024;
     }     }
     # Verifica l'identita' del peer su psk.txt con l'indirizzo IP.     # Verifica l'identita' del peer su psk.txt con l'indirizzo IP.
Line 39: Line 39:
     verify_identifier on;     verify_identifier on;
     initial_contact on;     initial_contact on;
 +    lifetime time 86400 seconds;
 +    #proposal_check obey;
 +    #nat_traversal on;
 } }
  
Line 45: Line 48:
     authentication_algorithm hmac_md5,hmac_sha1;     authentication_algorithm hmac_md5,hmac_sha1;
     compression_algorithm deflate;     compression_algorithm deflate;
 +    lifetime time 43200 seconds;
 } }
 </file> </file>
  
 +**NOTA**: Se non si usa l'opzione **proposal_check obey** è necessario impostare le stesse identiche opzioni tra le due parti, compresi i **lifetime time**, ecc., altrimenti la connessione fallisce. Per effettuare il debug dei parametri non corrispondenti è necessario impostare almeno **log debug** in **/etc/racoon/racoon.conf**.
  
 **/etc/racoon/psk.txt** **/etc/racoon/psk.txt**
Line 64: Line 69:
 systemctl start racoon systemctl start racoon
 </code> </code>
 +
 +Il traffico IPSEC va ovviamente gestito in maniera opportuna poiché non corrisponde al criterio standard MASQUERADE di iptables. Ad esempio [[#configurazione_firewall_shorewall|Shorewall]] ha delle direttive apposite per gestire IPSEC.
  
 In generale si potrà testare la VPN con un ping, a patto di usare gli indirizzi IP sul lato LAN: In generale si potrà testare la VPN con un ping, a patto di usare gli indirizzi IP sul lato LAN:
Line 614: Line 621:
 </file> </file>
  
-=== Mascheramento (SNAT) ===+=== Mascheramento (SNAT) con Shorewall < 5.1.0 ===
  
 Si può utilizzare l'indirizzo IP locale del firewall IPSEC (**192.168.100.1**) per mascherare tutta la rete locale (**192.168.100.0/24**) che esce verso la rete privata remota (**10.51.49.128/26**) via IPSEC, basta aggiungere la seguente regola in **''/etc/shorewall/masq''**: Si può utilizzare l'indirizzo IP locale del firewall IPSEC (**192.168.100.1**) per mascherare tutta la rete locale (**192.168.100.0/24**) che esce verso la rete privata remota (**10.51.49.128/26**) via IPSEC, basta aggiungere la seguente regola in **''/etc/shorewall/masq''**:
Line 629: Line 636:
 SNAT        all  --  192.168.100.0/24  10.51.49.128/26  policy match dir out pol ipsec to:192.168.100.1 SNAT        all  --  192.168.100.0/24  10.51.49.128/26  policy match dir out pol ipsec to:192.168.100.1
 </code> </code>
 +
 +==== SNAT con Shorewall >= 5.1.0 ====
 +
 +È possibile fare il source NAT del traffico verso una VPN IPSEC con delle opportune righe nel file **/etc/shorewall/snat**.
 +
 +<file>
 +#ACTION                 SOURCE                  DEST
 +
 +# Rete locale 10.10.0.0/16.
 +SNAT(192.168.70.1)      10.10.0.0/16            net0:192.168.200.0/24   -       -       yes
 +SNAT(192.168.70.1)      10.10.0.0/16            net0:192.168.200.0/24
 +
 +# Indirizzo punto-punto di tunnel OpenVPN.
 +SNAT(192.168.70.1)      172.16.30.70            net0:192.168.200.0/24   -       -       yes
 +SNAT(192.168.70.1)      172.16.30.70            net0:192.168.200.0/24
 +
 +# Rete remota 10.11.12.0/24 (via OpenVPN).
 +SNAT(192.168.70.1)      10.11.12.0/24           net0:192.168.200.0/24   -       -       yes
 +SNAT(192.168.70.1)      10.11.12.0/24           net0:192.168.200.0/24
 +</file>
 +
 +  * L'indirizzo locale da usare come SNAT ACTION deve essere quello del firewall che rientra nella **leftsubnet** di ipsec.conf.
 +  * L'indirizzo source può essere quello della LAN, l'indirizzo punto-punto di una OpenVPN, la rete remota raggiungibile via OpenVPN, ecc.
 +  * Nell'esempio sopra **net0** è l'interfaccia esterna che gestisce IPSEC e l'indirizzamento è la **rightsubnet** di ipsec.conf.
 +
 ===== Glossario ===== ===== Glossario =====
  
doc/appunti/linux/sa/ipsec.1481625270.txt.gz · Last modified: by niccolo