Outils pour utilisateurs

Outils du site


kb:linux:generalites:apporter_une_ipv4_de_datacenter_sur_un_linux_via_un_vpn

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révisionLes deux révisions suivantes
kb:linux:generalites:apporter_une_ipv4_de_datacenter_sur_un_linux_via_un_vpn [2019/10/10 09:17] – créée beukb:linux:generalites:apporter_une_ipv4_de_datacenter_sur_un_linux_via_un_vpn [2019/10/10 09:51] beu
Ligne 1: Ligne 1:
-====== Apporter une IPv4 de datacenter sur un pfSense via un VPN ======+====== Apporter une IPv4 de datacenter sur un Linux via un VPN ======
  
-L'objectif est de faire descendre une IP de datacenter sur le pfSense avec un tunnel OpenVPN et du proxyARP.+L'objectif est de faire descendre une IP de datacenter sur un Linux avec un tunnel OpenVPN et du proxyARP
 + 
 +Cette documentation existe aussi pour [[kb:linux:pfsense:apporter_une_ip_de_datacenter_sur_un_pfsense_via_un_vpn|pfSense]].
  
 Il vous sera nécessaire : Il vous sera nécessaire :
Ligne 76: Ligne 78:
 </code> </code>
  
-==== Configuration du client OpenVPN pfSense ====+==== Configuration du client OpenVPN Linux ====
  
-On va créer un client OpenVPN sur pfSense, si on suit l'exemple plus haut :+On va créer un client OpenVPN sur le client Linux, si on suit l'exemple plus haut :
  
-{{ :kb:linux:pfsense:vpn_infrastructure.png?800 |}}+<code file proxyarp.conf> 
 +tls-client 
 +proto udp 
 +proto udp6 
 +port 1194 
 +remote XXXXXX 
 +dev tap0 
 +cipher AES-256-CBC 
 +keepalive 10 30 
 +persist-key 
 +persist-tun 
 +verb 3 
 +status proxyarp_status.log 
 +log-append /var/log/openvpn-proxyarp.log 
 + 
 +ca /etc/openvpn/keys/ca.crt 
 +cert /etc/openvpn/keys/client.crt 
 +key /etc/openvpn/keys/client.key 
 +tls-crypt /etc/openvpn/keys/ta.key 0 
 +auth sha512 
 +keysize 256 
 +comp-lzo no 
 + 
 + 
 +script-security 2 
 +up /etc/openvpn/proxyarp-up.sh 
 +down /etc/openvpn/proxyarp-down.sh 
 + 
 +</code>
  
 Avec pour même spécificité : l'interface TAP et pas de configuration de réseau. Avec pour même spécificité : l'interface TAP et pas de configuration de réseau.
  
-Il faut ensuite assigner l'interface ovpncX comme interface du pfSense sans IP :+<code bash /etc/openvpn/proxyarp-up.sh> 
 +#!/bin/bash
  
-{{ :kb:linux:pfsense:vpn_infra_tap.png?800 |}}+# Configuration de l'interface 
 +ip addr add 172.32.0.1/32 dev tap0
  
-puis de créer un bridge avec UNIQUEMENT l'interface créer précedement :+# Ajout des règles dans la table wan_vpn 
 +ip rule add from 87.98.190.83 table wan_vpn 
 +ip rule add fwmark 1 table wan_vpn
  
-{{ :kb:linux:pfsense:vpn_infra_br.png?800 |}}+# Ajout la passerelle par défaut 
 +ip route add 51.255.37.1 src 87.98.190.83 dev tap0 table wan_vpn 
 +ip route add default via 51.255.37.1 src 87.98.190.83 dev tap0 table wan_vpn
  
-puis assigner ce bridge a une interface, et lui assigner l'IP Fail-Over de votre hébergeur ainsi que sa passerelle (souvent identique a celle de votre serveur).+# Ajout règles de firewall pour que le trafic entrant par le tunnel, soit re-routé dans le tunnel 
 +iptables -t mangle -A PREROUTING -i tap0 -j CONNMARK --set-xmark 0x1 
 +iptables -t mangle -A PREROUTING -i eth0 -m connmark --mark 0x1 -j CONNMARK --restore-mark 
 +</code>
  
-Si celle-ci n'est pas dans le même réseau, il vous faudra cocher la case **Use non-local gateway** dans la gateway.+<code bash /etc/openvpn/proxyarp-down.sh> 
 +#!/bin/bash 
 + 
 +# Configuration de l'interface 
 +ip addr del 172.32.0.1/32 dev tap0 
 + 
 +# Suppression des règles dans la table wan_vpn 
 +ip rule del from 87.98.190.83 table wan_vpn 
 +ip rule del fwmark 1 table wan_vpn 
 + 
 +# Suppression de la passerelle par défaut 
 +ip route del 51.255.37.1 src 87.98.190.83 dev tap0 table wan_vpn 
 +ip route del default via 51.255.37.1 src 87.98.190.83 dev tap0 table wan_vpn 
 + 
 +# Suppresion des règles de firewall pour que le trafic entrant par le tunnelsoit re-routé dans le tunnel 
 +iptables -t mangle -D PREROUTING -i tap0 -j CONNMARK --set-xmark 0x1 
 +iptables -t mangle -D PREROUTING -i eth0 -m connmark --mark 0x1 -j CONNMARK --restore-mark 
 +</code> 
 + 
 + 
 + 
 +Puis il faudra les rendre exécutable : 
 + 
 +<code bash> 
 +# chmod +x /etc/openvpn/proxyarp-up.sh /etc/openvpn/proxyarp-down.sh 
 +</code> 
 + 
 +et créer la table de routage **wan_vpn** 
 + 
 +<code bash> 
 +# echo "1 wan_vpn" >> /etc/iproute2/rt_tables 
 +</code> 
 + 
 +Et maintenant, ça doit fonctionner ! 
 + 
 + 
 +====Informations optionnelle ==== 
 +Si vous souhaitez faire du NAT de port entrant, voici un exemple de règle : 
 + 
 +<code bash> 
 +# iptables -t nat -A PREROUTING -i tap0 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.1.10:25 
 +</code> 
 + 
 +Et si vous voulais faire du NAT sortant, il faut mettre les deux règles suivante : 
 +<code bash> 
 +# iptables -t mangle -A PREROUTING -s 192.168.1.10/32 -j MARK --set-xmark 0x1 
 +</code><code bash> 
 +# iptables -t nat -A POSTROUTING -s 192.168.1.10/32 -j SNAT --to-source 172.32.0.
 +</code>
kb/linux/generalites/apporter_une_ipv4_de_datacenter_sur_un_linux_via_un_vpn.txt · Dernière modification : 2019/10/10 10:08 de beu