Strumenti Utente

Strumenti Sito


documentazione_3di_riservata:manuali_sysadmin:openvpnautossh

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
documentazione_3di_riservata:manuali_sysadmin:openvpnautossh [2016/04/01 10:36] vpascalidocumentazione_3di_riservata:manuali_sysadmin:openvpnautossh [Data sconosciuta] (versione attuale) – eliminata - modifica esterna (Data sconosciuta) 127.0.0.1
Linea 1: Linea 1:
-=== abilito il login da root sulla vm da console === 
-<code> 
-sed -i s/without-password/yes/g /etc/ssh/sshd_config && systemctl restart ssh 
-</code> 
-===Installo il software=== 
-Per installare i servizi necessari lanciare il comando 
-<code> 
-apt-get install openvpn autossh -y 
-</code> 
- 
-**OPENVPN:** 
- 
-Presupponendo presente sulla vm la cartella Vpn con all'interno le configurazioni openvpn, passo a copiare i file per l'avvio: 
- 
-<code> 
-cp -rv /root/Vpn/openvpn/apv/* /etc/openvpn 
-cp /root/Vpn/openvpn/apv/client.ovpn /etc/openvpn/apv.conf 
-systemctl daemon-reload 
-</code> 
- 
-vim /etc/systemd/system/openvpn@apv.service 
- 
-<code> 
-[Unit] 
-Description=OpenVPN connection to %i 
-PartOf=openvpn.service 
-ReloadPropagatedFrom=openvpn.service 
- 
-[Service] 
-Type=forking 
-ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --config /etc/openvpn/%i.conf 
-ExecReload=/bin/kill -HUP $MAINPID 
-WorkingDirectory=/etc/openvpn 
- 
-[Install] 
-WantedBy=multi-user.target 
-</code> 
- 
- 
-**Abilito il servizio all'avvio:** 
-<code> 
-systemctl enable openvpn@apv.service 
-</code> 
-**AUTOSSH:** 
- 
-**aggiungo l'utente:** 
-<code> 
-useradd -m -s /bin/false autossh 
-</code> 
- 
-*** creo il file config di ssh (esempio preso da apv): *** 
-<code> 
-Host autportven-prod 
-HostName 10.0.20.30 
-Port 22 
-User extraway 
-Localforward 8080 localhost:8080 
-Localforward 5432 localhost:5432 
-Localforward 19080 10.0.20.31:8080 
-Localforward 13306 10.0.20.31:3306 
-</code> 
- 
-**creo le chiavi:** 
-<code> 
-su -s /bin/bash autossh 
-ssh-keygen -t rsa 
-</code> 
- 
-**copio le chiavi sul server prod del cliente:** 
- 
-scp id_rsa.pub extraway@10.0.20.30:/tmp 
- 
-**aggiungo in coda la chiave fra quelle autorizzate:** 
- 
-cat /tmp/id_rsa.pub >> /home/extraway/.ssh/authorized_keys 
- 
-**cancello la chiave copiata:** 
- 
-rm -f /tmp/id_rsa.pub 
- 
-**configuro il mapping delle porte ssh:** 
- 
-su -s /bin/bash autossh 
-vim .ssh/config 
- 
-<code> 
-Host autportven-prod 
-HostName 10.0.20.30 
-Port 22 
-User extraway 
-Localforward 8080 localhost:8080 
-Localforward 5432 localhost:5432 
-Localforward 19080 10.0.20.31:8080 
-Localforward 13306 10.0.20.31:3306 
-</code> 
- 
-**controllo che il collegamento funzioni e mappi le porte regolarmente:** 
-<code> 
-su -s /bin/bash autossh 
-ssh -g extraway@autportven-prod 
-</code> 
-<code> 
-root@VPN-APV:~# netstat -an |egrep '8080|5432|19080|13306'|egrep -v tcp6 
-tcp        0      0 0.0.0.0:9080            0.0.0.0:              LISTEN      
-tcp        0      0 0.0.0.0:5432            0.0.0.0:              LISTEN      
-tcp        0      0 0.0.0.0:3306            0.0.0.0:              LISTEN      
-tcp        0      0 0.0.0.0:8080            0.0.0.0:              LISTEN      
-</code> 
- 
-**creo il file di avvio di autossh in systemd:** 
- 
-root@VPN-APV:/etc/systemd/system# vim /etc/systemd/system/3dautossh.service (root deve avere la sua chiave presso il cliente) 
- 
-<code> 
-[Unit] 
-Description=AutoSSH service  
-Wants=sys-devices-virtual-net-tun0.device 
-After=sys-devices-virtual-net-tun0.device 
- 
-[Service] 
-ExecStart=/usr/bin/autossh -M 0 -v -q -N -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" extraway@autportven-prod -i /home/autossh/.ssh/id_rsa -g 
- 
-[Install] 
-WantedBy=multi-user.target 
-</code> 
- 
-Questo il significato delle opzioni scelte per lo start di autossh: 
- 
-**-M port[echo:port]** 
- 
-specifies the base monitoring port to use. Without the echo port, this port and the port immediately above it ( port + 1) should be something nothing else is using. autossh will send test data on the base monitoring port, and receive it back on the port above. For example, if you specify "-M 20000", autossh will set up forwards so that it can send data on port 20000 and receive it back on 20001. 
-Setting the monitor port to 0 turns the monitoring function off, and autossh will only restart ssh upon ssh's exit. 
-**In pratica è più consono disabilitare la funzione e usare altri strumenti come ServerAliveInterval e ServerAliveCountMax per controllare se il tunnel è up.** 
- 
-**-v [verbose]** 
- 
-Causes ssh to print debugging messages about its progress.  This is helpful in debugging connection, authentication, and configuration problems.Multiple -v options increase the verbosity.The maximum 
- is 3. 
-**Ho scoperto che in mancanza di questa opzione il tunnel si avviava solo da cli e non da systemd.** 
- 
-**-q [quiet]** 
- 
-Causes most warning and diagnostic messages to be suppressed. 
-**Consigliato nel readme e inserito nonostante la precedente opzione -v sia inserita.** 
- 
-**-o [ServerAliveInterval] -o [ServerAliveCountMax]** 
- 
-Opzioni consigliate nel readme che permettono il restart del tunnel nel caso in cui la connessione ssh non sia funzionante controllando il **TTL**  con **ServerAliveInterval 60** (dove 60 sono secondi) e dopo 3 tentativi nel caso in cui **ServerAliveCountMax** sia impostato a **3**. 
- 
-**-i [identity file]** 
- 
-Selects a file from which the identity (private key) for public key authentication is read.  The default is ~/.ssh/identity for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/id_rsa 
-for protocol version 2.  Identity files may also be specified on a per-host basis in the configuration file.  It is possible to have multiple -i options (and multiple identities specified in configuration files). 
-**In mancanza di questa opzione autossh avviato da systemd non riesce a collegarsi**. 
- 
-**-g [global]** 
- 
-Allows remote hosts to connect to local forwarded ports.  If used on a multiplexed connection, then this option must be specified on the master process. 
-**In mancanza di queste opzioni tutte le porte forwardate sono bindate solo su localhost.** 
- 
- 
- 
-testo lo script prima di abilitarlo: 
-<code> 
-root@VPN-APV:/etc/openvpn# systemctl start 3dautossh.service  
-root@VPN-APV:/etc/openvpn# systemctl status 3dautossh.service -l 
-● 3dautossh.service - AutoSSH service 
-   Loaded: loaded (/etc/systemd/system/3dautossh.service; enabled) 
-   Active: active (running) since gio 2016-03-31 15:25:50 CEST; 12s ago 
- Main PID: 778 (autossh) 
-   CGroup: /system.slice/3dautossh.service 
-           ├─778 /usr/lib/autossh/autossh -M 8080 -q -N -o ServerAliveInterval 60 -o ServerAliveCountMax 3 extraway@autportven-prod -i /home/autossh/.ssh/id_rsa -g 
-           └─781 /usr/bin/ssh -L 8080:127.0.0.1:8080 -R 8080:127.0.0.1:8081 -q -N -o ServerAliveInterval 60 -o ServerAliveCountMax 3 -i /home/autossh/.ssh/id_rsa -g extraway@autportven-prod 
- 
-mar 31 15:25:50 VPN-APV autossh[778]: starting ssh (count 1) 
-mar 31 15:25:50 VPN-APV autossh[778]: ssh child pid is 781 
-</code> 
-**controllo le porte: ** 
-<code> 
- netstat -an |egrep '8080|5432|19080|13306'|egrep -v tcp6 
-tcp        0      0 0.0.0.0:5432            0.0.0.0:              LISTEN      
-tcp        0      0 0.0.0.0:13306           0.0.0.0:              LISTEN      
-tcp        0      0 0.0.0.0:19080           0.0.0.0:              LISTEN      
-tcp        0      0 0.0.0.0:8080            0.0.0.0:              LISTEN  
-</code> 
-**abilito il servizio in autostart:** 
-<code> 
-systemctl enable 3dautossh 
-</code> 
  
/data/attic/documentazione_3di_riservata/manuali_sysadmin/openvpnautossh.1459499809.txt.gz · Ultima modifica: 2017/09/08 10:59 (modifica esterna)