tech:notes_openvpn
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| tech:notes_openvpn [2025/03/24 15:06] – créée - modification externe 127.0.0.1 | tech:notes_openvpn [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Notes OpenVPN | ||
| + | |||
| + | Voir aussi : | ||
| + | * < | ||
| + | * https:// | ||
| + | * Libreswan | ||
| + | * Macsec | ||
| + | * https:// | ||
| + | |||
| + | Voir | ||
| + | Fail over | ||
| + | * http:// | ||
| + | * https:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | Sécurité : | ||
| + | * https:// | ||
| + | |||
| + | Autre : | ||
| + | * https:// | ||
| + | * http:// | ||
| + | * https:// | ||
| + | * http:// | ||
| + | * https:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * https:// | ||
| + | |||
| + | IP fixes | ||
| + | * http:// | ||
| + | |||
| + | OpenVPN + Fail2ban : | ||
| + | * http:// | ||
| + | |||
| + | |||
| + | ## Conf | ||
| + | |||
| + | Sur le serveur | ||
| + | ~~~bash | ||
| + | zcat / | ||
| + | ~~~ | ||
| + | |||
| + | Sur un client | ||
| + | ~~~bash | ||
| + | cp / | ||
| + | ~~~ | ||
| + | |||
| + | `/ | ||
| + | ~~~ | ||
| + | port 1194 | ||
| + | |||
| + | ;proto tcp | ||
| + | proto udp | ||
| + | |||
| + | dev tun | ||
| + | |||
| + | ca ca.crt | ||
| + | cert server.crt | ||
| + | key server.key | ||
| + | |||
| + | dh dh1024.pem | ||
| + | |||
| + | tls-auth ta.key 0 # Zero sur le serveur | ||
| + | |||
| + | server 10.8.0.0 255.255.255.0 | ||
| + | |||
| + | user nobody | ||
| + | group nogroup | ||
| + | |||
| + | # Pour que les clients puisse communiquer entre eux | ||
| + | client-to-client | ||
| + | |||
| + | ; | ||
| + | ifconfig-pool-persist ipp.txt 0 | ||
| + | |||
| + | # Pour les certificat révoqués | ||
| + | crl-verify crl.pem | ||
| + | |||
| + | # Interface admin ' | ||
| + | management localhost 5001 | ||
| + | |||
| + | # Pour supervision (Munin) | ||
| + | status / | ||
| + | status-version 1 | ||
| + | ~~~ | ||
| + | |||
| + | Le fichier ta.key devra être présent sur le serveur ainsi que sur l' | ||
| + | ~~~bash | ||
| + | openvpn --genkey --secret / | ||
| + | chmod 600 / | ||
| + | ~~~ | ||
| + | |||
| + | `/ | ||
| + | ~~~ | ||
| + | dev tun | ||
| + | |||
| + | remote vpn.acme.fr 1194 | ||
| + | |||
| + | resolv-retry infinite | ||
| + | nobind | ||
| + | |||
| + | persist-key | ||
| + | persist-tun | ||
| + | |||
| + | comp-lzo | ||
| + | |||
| + | # Serveur proxy | ||
| + | ;http-proxy 1.1.1.1 8080 | ||
| + | |||
| + | ;proto tcp | ||
| + | proto udp | ||
| + | |||
| + | ca ca.crt | ||
| + | cert client.crt | ||
| + | key client.key | ||
| + | |||
| + | tls-auth ta.key 1 | ||
| + | |||
| + | remote-cert-tls server | ||
| + | |||
| + | user nobody | ||
| + | group nogroup | ||
| + | |||
| + | ;log / | ||
| + | ;verb 3 | ||
| + | ~~~ | ||
| + | |||
| + | `ifconfig-pool-persist ipp.txt 0` permet de mettre des IP fixes aux clients, le fichier ipp.txt est en lecture seul pour OpenVPN, il faudra le mettre à jour à la main. | ||
| + | |||
| + | Pb / Bug => il arrive qu'il y ai un décalage de 2 numéro IP (ex 10.8.0.4 dans le fichier, 10.8.0.6 pour de vrai) | ||
| + | |||
| + | `ipp.txt` | ||
| + | ~~~ | ||
| + | portable, | ||
| + | ~~~ | ||
| + | |||
| + | ------ | ||
| + | |||
| + | Déposer le fichier crl.pem (crash si fichier vide) | ||
| + | |||
| + | Voir [[notes_pki_easyrsa_openvpn|Création du fichier crl.pem]] | ||
| + | |||
| + | |||
| + | ## Démarrer le VPN sur le client | ||
| + | |||
| + | Exemple | ||
| + | ~~~bash | ||
| + | sudo openvpn --inactive 0 --config plop.ovpn | ||
| + | ~~~ | ||
| + | |||
| + | Si le serveur pousse des routes que nous ne souhaitons corriger | ||
| + | ~~~bash | ||
| + | ip route del 0.0.0.0/1 via 10.81.234.1 | ||
| + | ip route del 128.0.0.0/1 | ||
| + | ip route add 10.0.0.0/8 via 10.81.234.1 | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ## Supervision avec Munin | ||
| + | |||
| + | Voir | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | `/ | ||
| + | ~~~ini | ||
| + | [openvpn] | ||
| + | user root | ||
| + | env.statusfile / | ||
| + | ~~~ | ||
| + | |||
| + | `/ | ||
| + | ~~~ | ||
| + | status / | ||
| + | status-version 1 | ||
| + | ~~~ | ||
| + | |||
| + | ------------- | ||
| + | |||
| + | ## Note OpenVPN to LAN gateway | ||
| + | |||
| + | https:// | ||
| + | http:// | ||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | http:// | ||
| + | |||
| + | http:// | ||
| + | |||
| + | |||
| + | ## VPN | ||
| + | |||
| + | `ccd/jibe` | ||
| + | ~~~ | ||
| + | ifconfig-push 10.9.0.12 | ||
| + | push "route 10.8.0.0 255.255.0.0" | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE | ||
| + | |||
| + | echo 1 > / | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## Sortir tout le trafique via le VPN | ||
| + | |||
| + | Sur le serveur | ||
| + | |||
| + | `/ | ||
| + | ~~~ini | ||
| + | push " | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## OpenVPN sur TCP443 | ||
| + | |||
| + | https:// | ||
| + | |||
| + | port-share x.x.x.x 443 | ||
| + | |||
| + | |||
| + | ## Exemple de conf | ||
| + | |||
| + | `login.conf` | ||
| + | ~~~ini | ||
| + | username | ||
| + | password | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | `plop.ovpn` | ||
| + | ~~~ | ||
| + | client | ||
| + | dev tun3 | ||
| + | proto tcp | ||
| + | remote 176.126.237.217 80 | ||
| + | remote euro217.vpnbook.com 80 | ||
| + | resolv-retry infinite | ||
| + | nobind | ||
| + | persist-key | ||
| + | persist-tun | ||
| + | |||
| + | |||
| + | # | ||
| + | auth-user-pass login.conf | ||
| + | |||
| + | comp-lzo | ||
| + | verb 3 | ||
| + | cipher AES-128-CBC | ||
| + | fast-io | ||
| + | pull | ||
| + | route-delay 2 | ||
| + | redirect-gateway | ||
| + | |||
| + | # auth SHA1 | ||
| + | |||
| + | ; | ||
| + | ;http-proxy [proxy server] [proxy port] | ||
| + | <ca> | ||
| + | -----BEGIN CERTIFICATE----- | ||
| + | MIIDyzCCAzSgAwIBAgIJAKRtpjsIvek1MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD | ||
| + | VQQGEwJDSDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gxFDASBgNV | ||
| + | BAoTC3ZwbmJvb2suY29tMQswCQYDVQQLEwJJVDEUMBIGA1UEAxMLdnBuYm9vay5j | ||
| + | b20xFDASBgNVBCkTC3ZwbmJvb2suY29tMSAwHgYJKoZIhvcNAQkBFhFhZG1pbkB2 | ||
| + | cG5ib29rLmNvbTAeFw0xMzA0MjQwNDA3NDhaFw0yMzA0MjIwNDA3NDhaMIGgMQsw | ||
| + | CQYDVQQGEwJDSDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gxFDAS | ||
| + | BgNVBAoTC3ZwbmJvb2suY29tMQswCQYDVQQLEwJJVDEUMBIGA1UEAxMLdnBuYm9v | ||
| + | ay5jb20xFDASBgNVBCkTC3ZwbmJvb2suY29tMSAwHgYJKoZIhvcNAQkBFhFhZG1p | ||
| + | bkB2cG5ib29rLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyNwZEYs6 | ||
| + | WN+j1zXYLEwiQMShc1mHmY9f9cx18hF/ | ||
| + | WzqvEMmZIEhij8MtCxbZGEEUHktkbZqLAryIo8ubUigqke25+QyVLDIBuqIXjpw3 | ||
| + | hJQMXIgMic1u7TGsvgEUahU/ | ||
| + | BBRZ4KGhnll1W+K/ | ||
| + | KJVFl/ | ||
| + | aDEPMA0GA1UEBxMGWnVyaWNoMRQwEgYDVQQKEwt2cG5ib29rLmNvbTELMAkGA1UE | ||
| + | CxMCSVQxFDASBgNVBAMTC3ZwbmJvb2suY29tMRQwEgYDVQQpEwt2cG5ib29rLmNv | ||
| + | bTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AdnBuYm9vay5jb22CCQCkbaY7CL3pNTAM | ||
| + | BgNVHRMEBTADAQH/ | ||
| + | 6FwAZ74bcX/ | ||
| + | wOgathAN44PrxLAI8kkxkngxby1xrG7LtMmpATxY7fYLOQ9yHge7RRZKDieJcX3j | ||
| + | +ogTneOl2w6P0xP6lyI6 | ||
| + | -----END CERTIFICATE----- | ||
| + | </ca> | ||
| + | < | ||
| + | -----BEGIN CERTIFICATE----- | ||
| + | MIID6DCCA1GgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoDELMAkGA1UEBhMCQ0gx | ||
| + | DzANBgNVBAgTBlp1cmljaDEPMA0GA1UEBxMGWnVyaWNoMRQwEgYDVQQKEwt2cG5i | ||
| + | b29rLmNvbTELMAkGA1UECxMCSVQxFDASBgNVBAMTC3ZwbmJvb2suY29tMRQwEgYD | ||
| + | VQQpEwt2cG5ib29rLmNvbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AdnBuYm9vay5j | ||
| + | b20wHhcNMTMwNTA2MDMyMTIxWhcNMjMwNTA0MDMyMTIxWjB4MQswCQYDVQQGEwJD | ||
| + | SDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gxFDASBgNVBAoTC3Zw | ||
| + | bmJvb2suY29tMQ8wDQYDVQQDEwZjbGllbnQxIDAeBgkqhkiG9w0BCQEWEWFkbWlu | ||
| + | QHZwbmJvb2suY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkTM/ | ||
| + | CjskqMIwgYDrNCBTWZLa+qKkJjZ/ | ||
| + | vQlASuzycSv1FGnNiLmg94fqzzWdmjs1XWosnLqbOwxx2Ye/ | ||
| + | xK7/ | ||
| + | ADAtBglghkgBhvhCAQ0EIBYeRWFzeS1SU0EgR2VuZXJhdGVkIENlcnRpZmljYXRl | ||
| + | MB0GA1UdDgQWBBTDr4BCNSdOEh+Lx6+4RRK11x8XcDCB1QYDVR0jBIHNMIHKgBRZ | ||
| + | 4KGhnll1W+K/ | ||
| + | BAgTBlp1cmljaDEPMA0GA1UEBxMGWnVyaWNoMRQwEgYDVQQKEwt2cG5ib29rLmNv | ||
| + | bTELMAkGA1UECxMCSVQxFDASBgNVBAMTC3ZwbmJvb2suY29tMRQwEgYDVQQpEwt2 | ||
| + | cG5ib29rLmNvbTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AdnBuYm9vay5jb22CCQCk | ||
| + | baY7CL3pNTATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZI | ||
| + | hvcNAQEFBQADgYEAoDgD8mpVPnHUh7RhQziwhp8APC8K3jToZ0Dv4MYXQnzyXziH | ||
| + | QbewJZABCcOKYS0VRB/ | ||
| + | / | ||
| + | -----END CERTIFICATE----- | ||
| + | </ | ||
| + | <key> | ||
| + | -----BEGIN RSA PRIVATE KEY----- | ||
| + | MIICXAIBAAKBgQCkTM/ | ||
| + | wv1AHYYU6RHpCxS1qFp3BEKLvQlASuzycSv1FGnNiLmg94fqzzWdmjs1XWosnLqb | ||
| + | Owxx2Ye/ | ||
| + | AoGANX508WQf9nVUUFlJ8LUZnnr4U2sEr5uPPNbcQ7ImTZm8MiMOV6qo/ | ||
| + | 8qCS+5p26e1PJWRFENPUVhOW9c07z+nRMyHBQzFnNAFD7TiayjNk1gz1oIXarceR | ||
| + | edNGFDdWCwXh+nJJ6whbQn9ioyTg9aqScrcATmHQxTit0GECQQDR5FmwC7g0eGwZ | ||
| + | VHgSc/ | ||
| + | ugGb+J/ | ||
| + | ct2Ii5uMzwERRvHjJ7yzJJic8gkEca2adQJABxjZj4JV8DBCN3kLtlQFfMfnLhPd | ||
| + | 9NFxTusGuvY9fM7GrXXKSMuqLwO9ZkxRHNIJsIz2N20Kt76+e1CmzUdS4QJAVvbQ | ||
| + | WKUgHBMRcI2s3PecuOmQspxG+D+UR3kpVBYs9F2aEZIEBuCfLuIW9Mcfd2I2NjyY | ||
| + | 4NDSSYp1adAh/ | ||
| + | gm7SAhk379I6hr5NXdBbvTedlb1ULrhWV8lpwZ9HW2k= | ||
| + | -----END RSA PRIVATE KEY----- | ||
| + | </ | ||
| + | ~~~ | ||
| + | |||
| + | `id.conf` | ||
| + | ~~~ | ||
| + | username | ||
| + | password | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | Conf PIA Private Internet Access | ||
| + | |||
| + | Source : https:// | ||
| + | |||
| + | `new_zealand.ovpn` | ||
| + | ~~~ini | ||
| + | client | ||
| + | dev tun | ||
| + | proto udp | ||
| + | remote nz.privacy.network 1198 | ||
| + | resolv-retry infinite | ||
| + | nobind | ||
| + | persist-key | ||
| + | persist-tun | ||
| + | cipher aes-128-cbc | ||
| + | auth sha1 | ||
| + | tls-client | ||
| + | remote-cert-tls server | ||
| + | |||
| + | auth-user-pass | ||
| + | compress | ||
| + | verb 1 | ||
| + | reneg-sec 0 | ||
| + | < | ||
| + | -----BEGIN X509 CRL----- | ||
| + | MIICWDCCAUAwDQYJKoZIhvcNAQENBQAwgegxCzAJBgNVBAYTAlVTMQswCQYDVQQI | ||
| + | EwJDQTETMBEGA1UEBxMKTG9zQW5nZWxlczEgMB4GA1UEChMXUHJpdmF0ZSBJbnRl | ||
| + | cm5ldCBBY2Nlc3MxIDAeBgNVBAsTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAw | ||
| + | HgYDVQQDExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UEKRMXUHJpdmF0 | ||
| + | ZSBJbnRlcm5ldCBBY2Nlc3MxLzAtBgkqhkiG9w0BCQEWIHNlY3VyZUBwcml2YXRl | ||
| + | aW50ZXJuZXRhY2Nlc3MuY29tFw0xNjA3MDgxOTAwNDZaFw0zNjA3MDMxOTAwNDZa | ||
| + | MCYwEQIBARcMMTYwNzA4MTkwMDQ2MBECAQYXDDE2MDcwODE5MDA0NjANBgkqhkiG | ||
| + | 9w0BAQ0FAAOCAQEAQZo9X97ci8EcPYu/ | ||
| + | jI+ffKN3laDvczsG6CxmY3jNyc79XVpEYUnq4rT3FfveW1+Ralf+Vf38HdpwB8EW | ||
| + | B4hZlQ205+21CALLvZvR8HcPxC9KEnev1mU46wkTiov0EKc+EdRxkj5yMgv0V2Re | ||
| + | ze7AP+NQ9ykvDScH4eYCsmufNpIjBLhpLE2cuZZXBLcPhuRzVoU3l7A9lvzG9mjA | ||
| + | 5YijHJGHNjlWFqyrn1CfYS6koa4TGEPngBoAziWRbDGdhEgJABHrpoaFYaL61zqy | ||
| + | MR6jC0K2ps9qyZAN74LEBedEfK7tBOzWMwr58A== | ||
| + | -----END X509 CRL----- | ||
| + | </ | ||
| + | |||
| + | <ca> | ||
| + | -----BEGIN CERTIFICATE----- | ||
| + | MIIFqzCCBJOgAwIBAgIJAKZ7D5Yv87qDMA0GCSqGSIb3DQEBDQUAMIHoMQswCQYD | ||
| + | VQQGEwJVUzELMAkGA1UECBMCQ0ExEzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNV | ||
| + | BAoTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIElu | ||
| + | dGVybmV0IEFjY2VzczEgMB4GA1UEAxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3Mx | ||
| + | IDAeBgNVBCkTF1ByaXZhdGUgSW50ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkB | ||
| + | FiBzZWN1cmVAcHJpdmF0ZWludGVybmV0YWNjZXNzLmNvbTAeFw0xNDA0MTcxNzM1 | ||
| + | MThaFw0zNDA0MTIxNzM1MThaMIHoMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex | ||
| + | EzARBgNVBAcTCkxvc0FuZ2VsZXMxIDAeBgNVBAoTF1ByaXZhdGUgSW50ZXJuZXQg | ||
| + | QWNjZXNzMSAwHgYDVQQLExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4GA1UE | ||
| + | AxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBCkTF1ByaXZhdGUgSW50 | ||
| + | ZXJuZXQgQWNjZXNzMS8wLQYJKoZIhvcNAQkBFiBzZWN1cmVAcHJpdmF0ZWludGVy | ||
| + | bmV0YWNjZXNzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPXD | ||
| + | L1L9tX6DGf36liA7UBTy5I869z0UVo3lImfOs/ | ||
| + | lH/ | ||
| + | cdldeNO+pPr9rIgPrtXqT4SWViTQRBeGM8CDxAyTopTsobjSiYZCF9Ta1gunl0G/ | ||
| + | 8Vfp+SXfYCC+ZzWvP+L1pFhPRqzQQ8k+wMZIovObK1s+nlwPaLyayzw9a8sUnvWB | ||
| + | / | ||
| + | OfuWoTrZup1uEOn+fw8CAwEAAaOCAVQwggFQMB0GA1UdDgQWBBQv63nQ/ | ||
| + | y8VJcbHe22ZOsjCCAR8GA1UdIwSCARYwggESgBQv63nQ/ | ||
| + | sqGB7qSB6zCB6DELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRMwEQYDVQQHEwpM | ||
| + | b3NBbmdlbGVzMSAwHgYDVQQKExdQcml2YXRlIEludGVybmV0IEFjY2VzczEgMB4G | ||
| + | A1UECxMXUHJpdmF0ZSBJbnRlcm5ldCBBY2Nlc3MxIDAeBgNVBAMTF1ByaXZhdGUg | ||
| + | SW50ZXJuZXQgQWNjZXNzMSAwHgYDVQQpExdQcml2YXRlIEludGVybmV0IEFjY2Vz | ||
| + | czEvMC0GCSqGSIb3DQEJARYgc2VjdXJlQHByaXZhdGVpbnRlcm5ldGFjY2Vzcy5j | ||
| + | b22CCQCmew+WL/ | ||
| + | a5PgrtxfwTumD4+3/ | ||
| + | ryXvWab2usg4fqk7FPi00bED4f4qVQFVfGfPZIH9QQ7/ | ||
| + | 7pdw4Bvgoys2rHLHbGen7f28knT2j/ | ||
| + | GohseKYpTS9himFERpUgNtefvYHbn70mIOzfOJFTVqfrptf9jXa9N8Mpy3ayfodz | ||
| + | 1wiqdteqFXkTYoSDctgKMiZ6GdocK9nMroQipIQtpnwd4yBDWIyC6Bvlkrq5TQUt | ||
| + | YDQ8z9v+DMO6iwyIDRiU | ||
| + | -----END CERTIFICATE----- | ||
| + | </ca> | ||
| + | |||
| + | disable-occ | ||
| + | ~~~ | ||
| + | |||
