Un altra Openvpn su Devan 5 —
Come dicevo in un altro articolo ho dovuto tirare su al volo una VPN ulteriore all’interno di una LAN.
La solita Devuan stable al momento la 5 come base, in realtà sulla macchina c’era già una OpenVpn però o per configurazione o per generazione dei certificati o per qualche altro strano e misterioso motivo che in questo periodo abbondano più 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.
I passi seguenti sono gli stessi della volta precedente o ben poco diversi:
1) ./easyrsa init-pki
2) in /etc/openvpn/easy-rsa/pki ho editato vars e ho cambiato/scommentato le seguenti voci:
set_var EASYRSA_REQ_COUNTRY “IT”
set_var EASYRSA_REQ_PROVINCE “Lombardia”
set_var EASYRSA_REQ_CITY “Milano”
set_var EASYRSA_REQ_ORG “Tipistrani”
set_var EASYRSA_REQ_EMAIL “miamail@dominio.com”
set_var EASYRSA_REQ_OU “Reti e Sistemi”
set_var EASYRSA_KEY_SIZE 4096
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CERT_EXPIRE 3650
set_var EASYRSA_CRL_DAYS 3650
set_var EASYRSA_CERT_RENEW 3650
set_var EASYRSA_DIGEST “sha256”
3) generazione del certificato di ca con ./easyrsa build-ca nopass alla richiesta di common name ho messo CA ma si può mettere qualsiasi cosa
4) generazione di certificato e chiave per il server con ./easyrsa build-server-full server nopass
N.B. i certificati finiscono tutti in /etc/openvpn/easy-rsa/pki/issued le chiavi in /etc/openvpn/easy-rsa/pki/private
5) generazione dell’elenco di revoca dei certificati con ./easyrsa gen-crl
6) generazione dei parametri Diffie Helman con ./easyrsa gen-dh
7) generazioni chiavi e certificati dei client ./easyrsa build-client-full client1 nopass
N.B. per mia comoodità pur essendo client linux ho optato per l’unified format ma con estensione .conf quindi il client ha questo aspetto
client
dev tun
proto tcp
remote ip_pubblico_1 7299
remote ip_pubblico_2 7299
resolv-retry 60
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA256
cipher AES-256-CBC
key-direction 1
ping 10
verb 3
log-append /var/log/openvpn/client.log
status /var/log/openvpn/status.log
<ca>
….
</ca>
<tls-auth>
….
</tls-auth>
<cert>
….
</cert>
<key>
….
</key>
La configurazione del server che in questo caso è estremamente semplice risulta in questo modo server.conf
port 7299
proto tcp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
crl-verify /etc/openvpn/easy-rsa/pki/crl.pem
auth SHA256
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0
cipher AES-256-CBC
server 192.168.150.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir /etc/openvpn/ccd
keepalive 10 120
persist-key
persist-tun
status /var/log/openvpn/openvpn-status-linux.log
log-append /var/log/openvpn/server.log
verb 3
explicit-exit-notify 1
Ricordiamoci di:
a) in /etc/sysctl.conf abilitare il routing dei pacchetti scommentando net.ipv4.ip_forward=1 e un successivo sysctl –(2 meno)system
e di aggiungere in /etc/rc.local queste istruzioni:
/usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/usr/sbin/iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
al fine di poter raggiungere le macchie della LAN
ADDEDUM:
il server è dietro NAT quindi sul firewall perimetrale bisogna aggiungere:
add rule inet fw-nat PREROUTING iif $EXTIF ip daddr $EXTIP tcp dport 7299 counter dnat to $SERVERVPN
add rule inet firewall FORWARD iif $EXTIF oif $INTIF ip daddr $SERVERVPN tcp dport 7299 ct state { new, established, related } counter accept
Categorised as: Linux | Networking | Openvpn | Work
Comments are disabled on this post