{"id":2686,"date":"2025-10-21T15:52:15","date_gmt":"2025-10-21T13:52:15","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=2686"},"modified":"2025-12-12T07:41:03","modified_gmt":"2025-12-12T06:41:03","slug":"un-altra-openvpn-su-devan-5","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=2686","title":{"rendered":"Un altra Openvpn su Devan 5"},"content":{"rendered":"<p>Come dicevo in un altro articolo ho dovuto tirare su al volo una VPN ulteriore all&#8217;interno di una LAN.<\/p>\n<p>La solita Devuan stable al momento la 5 come base, in realt\u00e0 sulla macchina c&#8217;era gi\u00e0 una OpenVpn per\u00f2 o per configurazione o per generazione dei certificati o per qualche altro strano e misterioso motivo che in questo periodo abbondano pi\u00f9 del solito non ha mai girato come si deve quindi ho deciso di partire dal pulito lasciando solo il link simbolico a easy-rsa con un bel .\/easyrsa clean-all ho fatto tabula rasa.<br \/>\nI passi seguenti sono gli stessi della volta precedente o ben poco diversi:<br \/>\n1) .\/easyrsa init-pki<br \/>\n2) in \/etc\/openvpn\/easy-rsa\/pki ho editato vars e ho cambiato\/scommentato le seguenti voci:<br \/>\nset_var EASYRSA_REQ_COUNTRY &#8220;IT&#8221;<br \/>\nset_var EASYRSA_REQ_PROVINCE &#8220;Lombardia&#8221;<br \/>\nset_var EASYRSA_REQ_CITY &#8220;Milano&#8221;<br \/>\nset_var EASYRSA_REQ_ORG &#8220;Tipistrani&#8221;<br \/>\nset_var EASYRSA_REQ_EMAIL &#8220;miamail@dominio.com&#8221;<br \/>\nset_var EASYRSA_REQ_OU &#8220;Reti e Sistemi&#8221;<br \/>\nset_var EASYRSA_KEY_SIZE 4096<br \/>\nset_var EASYRSA_ALGO rsa<br \/>\nset_var EASYRSA_CERT_EXPIRE 3650<br \/>\nset_var EASYRSA_CRL_DAYS 3650<br \/>\nset_var EASYRSA_CERT_RENEW 3650<br \/>\nset_var EASYRSA_DIGEST \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8220;sha256&#8221;<br \/>\n3) generazione del certificato di ca con .\/easyrsa build-ca nopass alla richiesta di common name ho messo CA ma si pu\u00f2 mettere qualsiasi cosa<br \/>\n4) generazione di certificato e chiave per il server con .\/easyrsa build-server-full server nopass<br \/>\nN.B. i certificati finiscono tutti in \/etc\/openvpn\/easy-rsa\/pki\/issued\u00a0 le chiavi in \/etc\/openvpn\/easy-rsa\/pki\/private<br \/>\n5) generazione dell&#8217;elenco di revoca dei certificati con .\/easyrsa gen-crl<br \/>\n6) generazione dei parametri\u00a0 Diffie Helman con .\/easyrsa gen-dh<\/p>\n<p>7) generazioni chiavi e certificati dei client .\/easyrsa build-client-full client1 nopass<\/p>\n<p>8) generazione della chiave precondivisa &#8220;ta&#8221; openvpn &#8211;(2meno)genkey secret \/etc\/openvpn\/easy-rsa\/pki\/ta.key<\/p>\n<p>N.B. per mia comodit\u00e0 pur essendo client linux ho optato per <a href=\"http:\/\/clark.tipistrani.it\/?p=2133\">l&#8217;unified format<\/a> ma con estensione .conf quindi il client ha questo aspetto<br \/>\nclient<br \/>\ndev tun<br \/>\nproto tcp<br \/>\nremote ip_pubblico_1 7299<br \/>\nremote ip_pubblico_2 7299<br \/>\nresolv-retry 60<br \/>\nnobind<br \/>\npersist-key<br \/>\npersist-tun<br \/>\nremote-cert-tls server<br \/>\nauth SHA256<br \/>\ncipher AES-256-CBC<br \/>\ndata-ciphers-fallback AES-256-CBC<br \/>\nkey-direction 1<br \/>\nping 10<br \/>\nverb 3<br \/>\nlog-append \/var\/log\/openvpn\/client.log<br \/>\nstatus \/var\/log\/openvpn\/status.log<\/p>\n<p>&lt;ca&gt;<br \/>\n&#8230;.<br \/>\n&lt;\/ca&gt;<\/p>\n<p>&lt;tls-auth&gt;<br \/>\n&#8230;.<br \/>\n&lt;\/tls-auth&gt;<\/p>\n<p>&lt;cert&gt;<br \/>\n&#8230;.<br \/>\n&lt;\/cert&gt;<\/p>\n<p>&lt;key&gt;<br \/>\n&#8230;.<br \/>\n&lt;\/key&gt;<\/p>\n<p>La configurazione del server che in questo caso \u00e8 estremamente semplice risulta in questo modo server.conf<br \/>\nport 7299<br \/>\nproto tcp<br \/>\ndev tun<br \/>\nca \/etc\/openvpn\/easy-rsa\/pki\/ca.crt<br \/>\ncert \/etc\/openvpn\/easy-rsa\/pki\/issued\/server.crt<br \/>\nkey \/etc\/openvpn\/easy-rsa\/pki\/private\/server.key<br \/>\ndh \/etc\/openvpn\/easy-rsa\/pki\/dh.pem<br \/>\ncrl-verify \/etc\/openvpn\/easy-rsa\/pki\/crl.pem<br \/>\nauth SHA256<br \/>\ntls-auth \/etc\/openvpn\/easy-rsa\/pki\/ta.key 0<br \/>\ncipher AES-256-CBC<br \/>\nserver \u00a0192.168.150.0 255.255.255.0<br \/>\nifconfig-pool-persist ipp.txt<br \/>\nclient-config-dir \/etc\/openvpn\/ccd<br \/>\nkeepalive 10 120<br \/>\npersist-key<br \/>\npersist-tun<br \/>\nstatus \/var\/log\/openvpn\/openvpn-status-linux.log<br \/>\nlog-append \/var\/log\/openvpn\/server.log<br \/>\nverb 3<br \/>\nexplicit-exit-notify 1<\/p>\n<p>Ricordiamoci di:<\/p>\n<p>a) in \/etc\/sysctl.conf abilitare il routing dei pacchetti scommentando net.ipv4.ip_forward=1 e un successivo sysctl &#8211;(2 meno)system<\/p>\n<p>e di aggiungere in \/etc\/rc.local queste istruzioni:<br \/>\n\/usr\/sbin\/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE<br \/>\n\/usr\/sbin\/iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE<\/p>\n<p>al fine di poter raggiungere le macchie della LAN<\/p>\n<p>ADDEDUM:<br \/>\nil server \u00e8 dietro NAT quindi sul firewall perimetrale bisogna aggiungere:<br \/>\nadd rule inet fw-nat PREROUTING iif $EXTIF ip daddr $EXTIP tcp dport 7299 counter dnat to $SERVERVPN<br \/>\nadd rule inet firewall FORWARD iif $EXTIF oif $INTIF ip daddr $SERVERVPN tcp dport 7299 ct state { new, established, related } counter accept<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come dicevo in un altro articolo ho dovuto tirare su al volo una VPN ulteriore all&#8217;interno di una LAN. La solita Devuan stable al momento la 5 come base, in realt\u00e0 sulla macchina c&#8217;era gi\u00e0 una OpenVpn per\u00f2 o per configurazione o per generazione dei certificati o per qualche altro strano e misterioso motivo che [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,14,284,6],"tags":[294,78],"class_list":["post-2686","post","type-post","status-publish","format-standard","hentry","category-linux","category-networking","category-openvpn","category-work","tag-devuan-5","tag-openvpn"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2686"}],"version-history":[{"count":7,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2686\/revisions"}],"predecessor-version":[{"id":2698,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/2686\/revisions\/2698"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2686"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}