OpenVPN - Peer to Peer
-
OK, je reformule
Les pings du pfsense du site 1 en direction del' adresse IP LAN du pfsense du site 2 échoue
La passerelle par défaut (et l'unique) est 192.168.10.10 (pfsense)
-
Maintenant, grâce a tes explications et tes commentaires, je commence à comprendre un peu mieux.
Ce qui m'a "confusé" c'est que tu parles à la fois de mode "peer-to-peer" et de "client-serveur"
En mode "site-à-site" (peer-to-peer), il n'y a pas de client-serveur à proprement parlé, même si une des 2 extrémités du tunnel va initier la connexion.
Une fois la connexion établie, les 2 LAN vont "se voir".
En mode client-serveur, ce n'est absolument pas vrai. Le client va voir le LAN exposé par le serveur mais les clients sur le LAN ne voient pas le client VPN comme un réseau accessible.Je partage l'avis de ccnet: si tu ne décris pas plus précisément tes config VPN de par et d'autre, il va être difficile d'aller plus loin. Le problème n'est peut-être pas le FW intermédiaire (je suppose que tu as mis en place à ce niveau les règles nécessaire) mais peut-être plus au niveau du VPN lui-même
-
Voici les exports XML de la config VPN et des règles de sécurité
Site 1
Config VPN
<openvpn-server><vpnid>2</vpnid>
<mode>p2p_tls</mode>
<protocol>UDP</protocol>
<dev_mode>tun</dev_mode>
<ipaddr><interface>wan</interface>
<local_port>1195</local_port><custom_options><tls>XXXXX</tls>
<caref>XXXXX</caref>
<crlref><certref>XXXXX</certref>
<dh_length>1024</dh_length>
<cert_depth>1</cert_depth>
<crypto>AES-256-CBC</crypto>
<digest>SHA1</digest>
<engine>none</engine>
<tunnel_network>10.0.10.0/24</tunnel_network>
<tunnel_networkv6><remote_network>192.168.10.0/23</remote_network>
<remote_networkv6><gwredir><local_network>172.16.1.0/24</local_network>
<local_networkv6><maxclients><compression><passtos><client2client><dynamic_ip>yes</dynamic_ip>
<pool_enable>yes</pool_enable>
<topology>subnet</topology>
<serverbridge_dhcp><serverbridge_interface>none</serverbridge_interface>
<serverbridge_dhcp_start><serverbridge_dhcp_end><netbios_enable><netbios_ntype>0</netbios_ntype>
<netbios_scope><no_tun_ipv6>yes</no_tun_ipv6>
<verbosity_level>1</verbosity_level></netbios_scope></netbios_enable></serverbridge_dhcp_end></serverbridge_dhcp_start></serverbridge_dhcp></client2client></passtos></compression></maxclients></local_networkv6></gwredir></remote_networkv6></tunnel_networkv6></crlref></custom_options></ipaddr></openvpn-server>Règles
<rule><id><tracker>1472923908</tracker>
<type>pass</type>
<interface>wan</interface>
<ipprotocol>inet</ipprotocol>
<tag><tagged><max><max-src-nodes><max-src-conn><max-src-states><statetimeout><statetype>keep state</statetype>
<os><protocol>udp</protocol>
<source>
<any><destination><network>wanip</network>
<port>1195</port></destination><updated><time>1472923908</time>
<username>admin@10.0.8.2</username></updated>
<created><time>1472923908</time>
<username>admin@10.0.8.2</username></created></any></os></statetimeout></max-src-states></max-src-conn></max-src-nodes></max></tagged></tag></id></rule>
<rule><type>pass</type>
<ipprotocol>inet</ipprotocol><interface>lan</interface>
<tracker>0100000101</tracker>
<source>
<network>lan</network><destination><any></any></destination></rule>
<rule><type>pass</type>
<ipprotocol>inet6</ipprotocol><interface>lan</interface>
<tracker>0100000102</tracker>
<source>
<network>lan</network><destination><any></any></destination></rule>
<rule><id><tracker>1472923962</tracker>
<type>pass</type>
<interface>openvpn</interface>
<ipprotocol>inet</ipprotocol>
<tag><tagged><max><max-src-nodes><max-src-conn><max-src-states><statetimeout><statetype>keep state</statetype>
<os><source>
<any><destination><any></any></destination>
<log><created><time>1472920588</time>
<username>OpenVPN Wizard</username></created>
<updated><time>1473110776</time>
<username>admin@10.0.8.2</username></updated></log></any></os></statetimeout></max-src-states></max-src-conn></max-src-nodes></max></tagged></tag></id></rule>Site 2
Config VPN
<openvpn-client><auth_user><auth_pass><vpnid>1</vpnid>
<protocol>UDP</protocol>
<dev_mode>tun</dev_mode>
<ipaddr><interface>wan</interface>
<local_port><server_addr>IP Public</server_addr>
<server_port>1195</server_port>
<resolve_retry><proxy_addr><proxy_port><proxy_authtype>none</proxy_authtype>
<proxy_user><proxy_passwd><mode>p2p_tls</mode>
<topology>subnet</topology>
<custom_options><caref>XXXX</caref>
<certref>XXXXX</certref>
<tls>XXXX</tls>
<crypto>AES-256-CBC</crypto>
<digest>SHA1</digest>
<engine>none</engine>
<tunnel_network>10.0.10.0/24</tunnel_network>
<tunnel_networkv6><remote_network>172.16.1.0/24</remote_network>
<remote_networkv6><use_shaper><compression><passtos><no_tun_ipv6><route_no_pull><route_no_exec><verbosity_level>1</verbosity_level></route_no_exec></route_no_pull></no_tun_ipv6></passtos></compression></use_shaper></remote_networkv6></tunnel_networkv6></custom_options></proxy_passwd></proxy_user></proxy_port></proxy_addr></resolve_retry></local_port></ipaddr></auth_pass></auth_user></openvpn-client>Règles :
<rule><type>pass</type>
<ipprotocol>inet</ipprotocol><interface>lan</interface>
<tracker>0100000101</tracker>
<source>
<network>lan</network><destination><any></any></destination></rule>
<rule><type>pass</type>
<ipprotocol>inet6</ipprotocol><interface>lan</interface>
<tracker>0100000102</tracker>
<source>
<network>lan</network><destination><any></any></destination></rule>
<rule><id><tracker>1472924613</tracker>
<type>pass</type>
<interface>openvpn</interface>
<ipprotocol>inet</ipprotocol>
<tag><tagged><max><max-src-nodes><max-src-conn><max-src-states><statetimeout><statetype>keep state</statetype>
<os><source>
<any><destination><any></any></destination>
<log><created><time>1472924613</time>
<username>admin@192.168.10.131</username></created>
<updated><time>1473110789</time>
<username>admin@192.168.10.133</username></updated></log></any></os></statetimeout></max-src-states></max-src-conn></max-src-nodes></max></tagged></tag></id></rule> -
Je ne suis pas certain d'avoir la patience (ni le temps) de lire la config directement depuis le fichier XML. J'ai un peu de boulot en ce moment :-) !
Une remarque :<crypto>AES-256-CBC</crypto>
<digest>SHA1</digest>AES c'est bien et en 128 bits çà ira aussi bien. Gardez le mode CBC c'est important. Par contre SHA-1 est compromis. Utilisez sha-256. Mettre de l'AES 256 avec du sha-1 n'est pas très cohérent. Si on parle de sécurité AES 128 CBC + SHA256 est préférable à AES 256 CBC + SHA1.
-
Ok je prends note, mais j'avoue que ma priorité c'était de faire fonctionner le tunnel.
Pour les informations j'ai essayé d'en donner le maximum.
Mais pour faire simple :
J'ai une règle, sur les 2 sites, qui autorise tous les protocoles sur l'interface OpenVPN.
J'ai une règle sur le site 1 qui ouvre le port 1195 sur l'interface WAN (Port 1194 utilisé pour un remote access)
je n'ai pas d'autre règle hormis celle en standard créé par pfsense. -
Avant de passer plus de temps sur les aspects "règles de FW", une fois le tunnel établi, peux-tu regarder quelles sont les routes sur chaque pfSense ?
Si sur chaque pfSense il n'y a pas une route qui dit: "pour joindre le site distant, passer par le tunnel VPN", il est normal que ça ne marche pas.Et pour que cette route existe de chaque coté, il faut qu'elle soit annoncée au niveau de OpenVPN.
-
-
Il y a 2 serveurs VPN configurés sur le serveur pfSense "de gauche" (sur ton schéma) ?
Les routes ont l'air correct.
Tu peux activer les log au niveau FW sur le pfSense cible pour voir quelle règle est appliquée lorsque tu fais un ping (on suppose bien sûr que ICMP est autorisée de bout en bout) car pour moi le tunnel à l'air OK et il s'agit probablement d'un problème de règle de FW (un truc qui n'autoriserait que TCP et pas ICMP ce qui empêcherait le ping)
Tu devrait d’ailleurs, au lieu de faire des ping au niveau de pfSense, regarder ce qui se passe dans la communication entre clients et serveur "du LAN", sur des protocoles "TCP" ce qui te donnera une indication du niveau de fonctionnement et permettra sans doute de réduire le scope des investigations
-
Bonjour,
J'ai régler le problème autrement.
J'ai réinitialiser les 2 pf et remonter une configuration VPN basé sur une clé partagée.
Et cela fonctionne très bien.Merci quand même de votre aide.