OpenVPN no puede importar configuraciones en la nueva instalación de 14.04 -- gnome campo con vpn campo con openvpn camp askubuntu Relacionados El problema

openvpn can't import configurations on new 14.04 installation


20
vote

problema

Español

Editar: Se corrigió en ese entonces cuando el parche salió con la configuración de VPN Agregar. Ya no usa Linux / Ubuntu ahora.

Instalé el Administrador de red OpenVPN haciendo: ABCDEFGHIJKLMNABCDEFGHIJKLMN0 , que también instala el paquete GNOME.

Esto hizo posible importar configuraciones de menos de 13.10, pero en mi nueva instalación, puedo apuntar a los archivos .conf , pero después de hacer clic en Importar, el Administrador simplemente desaparece y no se agrega conexión. < / p>

Intenté configurarlo manualmente, qué tipo de trabajo funcionó, pero mi conexión sigue dejando caer después de un tiempo, supongo que, porque no establecí manualmente todos los últimos detalles de la configuración detallada.

Conexión a través del terminal haciendo: ABCDEFGHIJKLMNABCDEFGHIJKLMN2 Me pidió un nombre de usuario, luego contraseña, pero luego no se conecta.

¿Qué puedo hacer para arreglar esto? Realmente necesito mi VPN, cualquier ayuda es profundamente apreciada.

Editar: es una error / 1294899

para la cola re-abierta: Alguien tiene un trabajo extremadamente bueno para esto y usó una edición para poner esto, pero esto es digno de su propia respuesta: votar para re- abierto ...

Original en ingles

Edit: Fixed it back then when the patch rolled out with add VPN config. No longer use Linux/Ubuntu now.

I installed the OpenVPN Network-Manager by doing: sudo apt-get install network-manager-openvpn, which also installs the gnome package.

This made it possible to import configurations under 13.10, but on my fresh installation, I can point to the .conf files, but after clicking import, the manager just dissapears and no connection is added.

I tried manually setting it up, which kind of worked, but my connection keeps dropping after a while, I guess because I didn't manually set every last detail of the very detailed configuration.

Connecting through the terminal by doing: sudo openvpn --config /path/to/openvpn.conf asked me for a username, then password, but then doesn't connect.

What can I do to fix this? I really need my VPN, any help is deeply appreciated.

Edit: It's a bug/1294899

For the re-open queue: Someone has an extremely good work-around for this and he used an edit to put this in, but this is worthy of its own answer: voting to re-open...

        
   
   

Lista de respuestas

26
 
vote
vote
La mejor respuesta
 

Tienes razón, es un error de administrador de red. Pero yo (y usted también) puede superarlo al correr OpenVPN desde la línea de comandos. Probablemente haya hecho al menos algunos de estos pasos, pero por si acaso (y en caso de que los demás) haré un paso a paso completo.

Primero instale los paquetes requeridos

  sudo apt-get install network-manager network-manager-openvpn network-manager-openvpn-gnome   

Crear archivos Estos archivos deben mantenerse seguros y privados en todo momento

  1. Haga un directorio llamado OpenVPN en su directorio de inicio Copie su VPN Archivo de cliente (renombrado cliente.ovpn) en directorio OpenVPN
  2. Opcional: Mantenga una copia original del archivo - Llámelo Client.ovpn.orig
  3. Siguiente Crearemos 4 archivos debajo del directorio OpenVPN.
  4. Vea la parte inferior de este archivo sobre cómo automatizar los siguientes pasos
  5. Abra el archivo cliente.ovn en un editor de texto.
  6. Crear un archivo llamado ca.crt - Copie el texto entre <ca> y abcdefhijklmnabcdefghijklmn2 de client.ovpn en este archivo
  7. Crear un archivo llamado Client.crt - Copie el texto entre ABCDEFGHIJKLMNABCDEFGHIJKLMN3 y ABCDEFGHIJKLMNABCDEFGHIJKLMN4 de Client.ovpn en este archivo
  8. Crear un archivo llamado Client.Key: copie el texto entre <key> y abcdefhijklmnabcdefghijklmn6 desde client.ovpn en este archivo
  9. Crear un archivo llamado TA.KEY - Copie el texto entre ABCDEFGHIJKLMNABCDEFGHIJKLMN7 Y ABCDEFGHIJKLMNABCDEFGHIJKLMN8 FROM CLIENT.OVPN En este archivo En este punto tengo un total de 6 archivos en mi directorio OpenVPN (incluido el archivo de copia de seguridad)

5-9 Acabo de trabajar cómo hacer Script Bash. Whoop copia lo siguiente en un archivo de texto:

  ABCDEFGHIJKLMNABCDEFGHIJKLMN9   

Guardé el archivo como OpenVPNConvert en la carpeta OpenVPN junto con el archivo cliente.ovpn. Lo hizo ejecutable con el comando chmod a + x:

  <ca>0  

y luego lo corrió:

  <ca>1  

Modificar el archivo cliente.ovpn

Justo antes de la firma ## --begin RSA-- Línea Agregue las siguientes líneas y ahorre

  <ca>2  

Finalmente, debe ejecutar OpenVPN desde la interfaz de línea de comandos (CLI)

CD en la carpeta OpenVPN

  <ca>3 

Ejecute OpenVPN, si está utilizando los nombres de archivos que especifique, consulte a continuación, de lo contrario, use sus nombres de archivo.

  <ca>4  

Actualmente estoy ejecutando OpenVPN, que configuré usando exactamente estos pasos. Espero que funcione igualmente bien para los demás.

fuentes:

Creación de archivos - http://naveensnayak.wordpress.com/2013 / 03/04 / Ubuntu-OpenVPN-With-OVPN-File /

Ejecutar desde la línea de comandos - http://ubuntuforums.org/showthread.php?t=2206811

 

You're right, it is a network manager bug. But I (and you too) can get around it by running openvpn from the command line. You've probably done at least a few of these steps, but just in case (and for the benefit of others) I'll do a full step-by-step.

First install the required packages

sudo apt-get install network-manager network-manager-openvpn network-manager-openvpn-gnome 

Create Files These files must be kept safe and private at all times

  1. Make a directory called openvpn in your home directory Copy your VPN client file (renamed client.ovpn) into directory openvpn
  2. Optional: Keep an original copy of the file xe2x80x93 call it client.ovpn.orig
  3. Next we will create 4 files under the openvpn directory.
  4. See the bottom of this file for how to automate the following steps
  5. Open the client.ovpn file in a text editor.
  6. Create a file called ca.crt xe2x80x93 copy the text between <ca> and </ca> from client.ovpn into this file
  7. Create a file called client.crt xe2x80x93 copy the text between <cert> and </cert> from client.ovpn into this file
  8. Create a file called client.key xe2x80x93 copy the text between <key> and </key> from client.ovpn into this file
  9. Create a file called ta.key xe2x80x93 copy the text between <tls-auth> and </tls-auth> from client.ovpn into this file At this point I have a total of 6 files under my openvpn directory (including the backup file)

5-9 I've just worked out how to do bash script. Whoop Copy the following into a text file:

#!/bin/bash sed '1,/<ca>/d;/<\/ca>/,$d' client.ovpn > ca.crt sed '1,/<cert>/d;/<\/cert>/,$d' client.ovpn > client.crt sed '1,/<key>/d;/<\/key>/,$d' client.ovpn > client.key sed '1,/<tls-auth>/d;/<\/tls-auth>/,$d' client.ovpn > ta.key 

I saved the file as openvpnconvert in the openvpn folder along with the client.ovpn file. Made it executable with the command chmod a+x:

chmod a+x openvpnconvert 

And then ran it:

./openvpnconvert 

Modify the client.ovpn file

Just before the ## xe2x80x94xe2x80x93BEGIN RSA SIGNATURExe2x80x94xe2x80x93 line add the below lines and save

ca ca.crt cert client.crt key client.key tls-auth ta.key 

Finally, you need to run openvpn from the Command Line Interface (CLI)

cd into the openvpn folder

cd openvpn 

Run openvpn, if you're using the filenames I specified, see below, otherwise use your filenames.

sudo openvpn --client --config ~/openvpn/client.ovpn --ca ~/openvpn/ca.crt 

I'm currently running OpenVPN, which I set up using exactly these steps. Hope it works equally well for others.

Sources:

Creating Files - http://naveensnayak.wordpress.com/2013/03/04/ubuntu-openvpn-with-ovpn-file/

Running from the Command Line - http://ubuntuforums.org/showthread.php?t=2206811

 
 
         
         
5
 
vote

Pensé que la opción faltaba, pero simplemente se movía. Elija Agregar conexión primero, luego en lugar de elegir OpenVPN (como lo estaba haciendo), desplácese hacia abajo más lejos y elija la última opción "Importar un VPN guardado ..."

ingrese la descripción de la imagen aquí

Encontré la respuesta aquí: http://torguard.net/knowledgebase. PHP? Acción = Disparadores y amplificadores; ID = 53

 

I thought the option was missing to, but it just moved. Choose add connection first, then instead of choosing OpenVPN (like i was doing), scroll down farther and choose last option "import a saved vpn..."

enter image description here

found the answer here - http://torguard.net/knowledgebase.php?action=displayarticle&id=53

 
 
 
 
2
 
vote

Nunca intenté importar estos datos de conexión, pero he usado lo siguiente en diferentes ocasiones:

  • Coloque el ABCDEFGHIJKLMNABCDEFGHIJKLMN15 Junto con el archivo <ca>6 y las credenciales en <ca>7 e inicie / detenga la conexión VPN con ABCDEFGHIJKLMNABCDEFGHIJKLMN18

  • Cree la conexión VPN a través del Manejo de NetworkManager ingresando los datos de conexión manualmente. El archivo de configuración para la conexión se colocará en <ca>9 y se puede editar más tarde.

 

I never tried to import these connection data, but I've used the following on different occasions:

  • place the whatever.conf together with the .crt file and the credentials in /etc/openvpn and start/stop the VPN connection with sudo service openvpn whatever start|stop

  • create the VPN connection through the NetworkManager by entering the connection data manually. The config file for the connection will be placed at /etc/NetworkManager/system-connections and can be edited later.

 
 
2
 
vote

Script de extracción:

En respuesta a la respuesta útil de Tamsyn Michael, hice un pequeño programa para automatizar la tarea de extracción. Produce los archivos apropiados necesarios para OpenVPN, luego agrega estos nombres de archivo en el archivo de configuración original.

  //woahguy@askubuntu  #include <iostream> #include <string.h> #include <stdio.h>  using namespace std;  int i = 0;  string buffer, filename, ca, cert, key, auth;  struct _tags { const char* first; const char* last; };  const char* files[] = { "ca.crt", "client.crt", "client.key", "ta.key" };  _tags tags[] = {     { "<ca>", "</ca>" },     { "<cert>", "</cert>" },     { "<key>", "</key>" },     { "<tls-auth>", "</tls-auth>" } };  string string_between( string str, const string& from, const string& to ) {     size_t first = str.find(from);     size_t last = str.find(to);     return( str.substr ( first+from.size(),last-first-to.size())); }  int read_file_to_buffer( string filename ) {     char line[12];     FILE* pFile = fopen( filename.c_str(), "r" );     if( pFile != NULL ) {         while( fgets( line, sizeof( line ), pFile ) ) {             buffer.append( line );         }     } else {         return 1;     }     return 0; }  int write_buffer_to_file( string buffer, string filename ) {     FILE* pFile = fopen( filename.c_str(), "w" );     if( pFile != NULL ) {         fwrite (buffer.c_str(), sizeof(char), buffer.size(), pFile);         fclose(pFile);     } else {         return 1;     }     return 0; }  int append_found_tags_to_main( int type ) {     FILE* pFile = fopen( filename.c_str(), "a+" );     if( pFile != NULL ) {         if( type == 1 ) {             fprintf( pFile, " ca %s  cert %s  key %s  ",                 files[0], files[1], files[2] );         } else {             fprintf( pFile, " ca %s  cert %s  key %s  tls-auth %s  ",                 files[0], files[1], files[2], files[3] );         }         fclose(pFile);     }     return 0; }  int extract_tags( ) {     while (buffer.find(tags[i].first) != std::string::npos ) {         if( i == 0 ) {             ca = string_between( buffer, tags[i].first, tags[i].last);         } else if( i == 1 ) {             cert = string_between( buffer, tags[i].first, tags[i].last);         } else if( i == 2 ) {             key = string_between( buffer, tags[i].first, tags[i].last);         } else if( i == 3 ) {             auth = string_between( buffer, tags[i].first, tags[i].last);         } else {             return 1;         }         i++;     }     return 0; }  int write_tags( ) {     if( !ca.empty() && !cert.empty() && !key.empty() ) {         write_buffer_to_file( ca, files[0] );         write_buffer_to_file( cert, files[1] );         write_buffer_to_file( key, files[2] );         if( !auth.empty() ) {             write_buffer_to_file( auth, files[3] );             append_found_tags_to_main( 0 );         } else {             append_found_tags_to_main( 1 );             return 1;         }     } else {         return 2;     } }  int main(int argc, char* argv[]) {     if( argv[1] == NULL ) {         printf("certgrabber<: You need to specify a valid filename to extract from.  ");         return 1;     } else {         if( argv[2] != NULL && argv[3] != NULL && argv[4] != NULL && argv[5] != NULL) {             files[0] = argv[2];             files[1] = argv[3];             files[2] = argv[4];             files[2] = argv[5];         }         filename = argv[1];     }     read_file_to_buffer( argv[1] );     if( buffer.empty()){         printf("certgrabber<: You need to specify a valid filename to extract from.  ");         return 2;     }     if( extract_tags() == 0 ) {         int result = write_tags();         if( result == 0 ) {             printf("certgrabber<: All certificates and keys successfully extracted.  ");         } else if( result == 1 ) {             printf("certgrabber<: Unable to find a TLS auth key, but this isn't exactly an error.  ");         } else if( result == 2 ) {             printf("certgrabber<: Something went totally wrong with the certificate files.  ");         }     } else {         printf("certgrabber<: Something went wrong while extracting the tags.  ");         return 3;     }     return 0; }   

compilación y amplificador; Edificio:

Tendrá que instalar G ++ para construir este

  sudo apt-get install g++   

luego de la terminal

  g++ -c main.cpp -o main.o  g++ -o certgrabber main.o    

Ahora tendrá el programa 'Certgrabber' en la carpeta.

Uso del programa:

Extraer a los nombres de archivo predeterminados (ca.crt, client.crt, cliente.key, tls-auth.key)

  ./certgrabber settings.ovpn   

Extracto a los nombres de archivo personalizados

  ./certgrabber settings.ovpn ca-1.crt client-1.crt client-1.key tls-1.key   
 

Extraction Script:

In response to Tamsyn Michael's helpful answer I made a small program to automate the extraction task. It outputs the appropriate files needed for openvpn then appends these filenames to the original settings file.

//woahguy@askubuntu  #include <iostream> #include <string.h> #include <stdio.h>  using namespace std;  int i = 0;  string buffer, filename, ca, cert, key, auth;  struct _tags { const char* first; const char* last; };  const char* files[] = { "ca.crt", "client.crt", "client.key", "ta.key" };  _tags tags[] = {     { "<ca>", "</ca>" },     { "<cert>", "</cert>" },     { "<key>", "</key>" },     { "<tls-auth>", "</tls-auth>" } };  string string_between( string str, const string& from, const string& to ) {     size_t first = str.find(from);     size_t last = str.find(to);     return( str.substr ( first+from.size(),last-first-to.size())); }  int read_file_to_buffer( string filename ) {     char line[12];     FILE* pFile = fopen( filename.c_str(), "r" );     if( pFile != NULL ) {         while( fgets( line, sizeof( line ), pFile ) ) {             buffer.append( line );         }     } else {         return 1;     }     return 0; }  int write_buffer_to_file( string buffer, string filename ) {     FILE* pFile = fopen( filename.c_str(), "w" );     if( pFile != NULL ) {         fwrite (buffer.c_str(), sizeof(char), buffer.size(), pFile);         fclose(pFile);     } else {         return 1;     }     return 0; }  int append_found_tags_to_main( int type ) {     FILE* pFile = fopen( filename.c_str(), "a+" );     if( pFile != NULL ) {         if( type == 1 ) {             fprintf( pFile, "\nca %s\r\ncert %s\r\nkey %s\r\n",                 files[0], files[1], files[2] );         } else {             fprintf( pFile, "\nca %s\r\ncert %s\r\nkey %s\r\ntls-auth %s\r\n",                 files[0], files[1], files[2], files[3] );         }         fclose(pFile);     }     return 0; }  int extract_tags( ) {     while (buffer.find(tags[i].first) != std::string::npos ) {         if( i == 0 ) {             ca = string_between( buffer, tags[i].first, tags[i].last);         } else if( i == 1 ) {             cert = string_between( buffer, tags[i].first, tags[i].last);         } else if( i == 2 ) {             key = string_between( buffer, tags[i].first, tags[i].last);         } else if( i == 3 ) {             auth = string_between( buffer, tags[i].first, tags[i].last);         } else {             return 1;         }         i++;     }     return 0; }  int write_tags( ) {     if( !ca.empty() && !cert.empty() && !key.empty() ) {         write_buffer_to_file( ca, files[0] );         write_buffer_to_file( cert, files[1] );         write_buffer_to_file( key, files[2] );         if( !auth.empty() ) {             write_buffer_to_file( auth, files[3] );             append_found_tags_to_main( 0 );         } else {             append_found_tags_to_main( 1 );             return 1;         }     } else {         return 2;     } }  int main(int argc, char* argv[]) {     if( argv[1] == NULL ) {         printf("certgrabber<: You need to specify a valid filename to extract from.\r\n");         return 1;     } else {         if( argv[2] != NULL && argv[3] != NULL && argv[4] != NULL && argv[5] != NULL) {             files[0] = argv[2];             files[1] = argv[3];             files[2] = argv[4];             files[2] = argv[5];         }         filename = argv[1];     }     read_file_to_buffer( argv[1] );     if( buffer.empty()){         printf("certgrabber<: You need to specify a valid filename to extract from.\r\n");         return 2;     }     if( extract_tags() == 0 ) {         int result = write_tags();         if( result == 0 ) {             printf("certgrabber<: All certificates and keys successfully extracted.\r\n");         } else if( result == 1 ) {             printf("certgrabber<: Unable to find a TLS auth key, but this isn't exactly an error.\r\n");         } else if( result == 2 ) {             printf("certgrabber<: Something went totally wrong with the certificate files.\r\n");         }     } else {         printf("certgrabber<: Something went wrong while extracting the tags.\r\n");         return 3;     }     return 0; } 

Compilation & Building:

You will need to install g++ to build this

sudo apt-get install g++ 

Then from the terminal

g++ -c main.cpp -o main.o \ g++ -o certgrabber main.o  

You will now have the 'certgrabber' program in the folder.

Program Usage:

Extract to default filenames (ca.crt, client.crt, client.key, tls-auth.key)

./certgrabber settings.ovpn 

Extract to custom filenames

./certgrabber settings.ovpn ca-1.crt client-1.crt client-1.key tls-1.key 
 
 
     
     
1
 
vote

El problema con agregar una VPN desde un archivo .ovpn guardado todavía falla.

es posible agregar uno manualmente.

  1. Seleccionar indicador de aplicación NM, - & gt; Vpn - & gt; Configurar VPN - & gt; Agregado - & gt; OpenVPN
  2. Nombra manualmente su conexión e ingrese la dirección IP para su servidor
  3. Seleccione el tipo de autenticación: para mí es contraseña + certificados
  4. Ingrese su nombre de usuario y contraseña
  5. Seleccione sus certificados y claves para las siguientes tres cajas.
  6. Seleccione Avanzado desde la parte inferior
  7. Ingrese el puerto (en el archivo .ovn, generalmente en la parte inferior después de la dirección IP en la posición "XX":

    remoto ###. ###. ##. ## xx

  8. Si su VPN es TCP, entonces marque la casilla para "Use una conexión TCP"

  9. Seleccione OK y luego guardar.

En este punto, la conexión VPN se debe enumerar en el Appindicador de NM como una opción. Seleccione y prueba su conexión. Pude agregar un TCP y un tipo de conexión UDP, pero se tardó mucho más por hacer de lo que tendría si la importación .ovn archivo guardado funcionaba.

Esperemos que lo arreglen pronto para que pueda agregar fácilmente otra conexión ... pero al menos esto es un trabajo que debería ayudar a las personas a frustrarse como si estuviera.

 

The issue with ADDING a VPN from a saved .ovpn file still fails.

It is possible to ADD one manually.

  1. Select NM App Indicator, --> VPN --> Configure VPN --> Add --> OpenVPN
  2. Manually Name your Connection and enter the IP Address for your server
  3. Select the type of authrntication: For me it is Password + Certificates
  4. Enter your User Name and Password
  5. Select your certificates and keys for the next three boxes.
  6. Select Advanced from bottom
  7. Enter the PORT (in the .ovpn file, usually at the bottom after the IP address in the "XX" position:

    remote ###.###.##.## XX

  8. If your VPN is TCP, then check box for "Use a TCP Connection"

  9. Select OK and then Save.

At this point, the VPN connection should be listed in the NM AppIndicator as an option. Select and test your connection. I was able to add a TCP and a UDP type of connection, but it took a lot more to do than it would have if the import .ovpn saved file worked.

Lets hope they fix this soon so I can easily add other connection... but at least this is a work around that should help people frustrated like I was.

 
 
0
 
vote

Creé un script aquí para automatizar la recuperación Contraseña y amplificador; Zip archivos de varios sitios VPN, como vpnbook.com , extrayendo el ca , cert , y ABCDEFGHIJKLMNABCDEFGHIJKLMN7 Datos de los archivos OVPN y actualizando los archivos OPVN para que los CERTS estén importados para usted. Podría modificarse fácilmente para su uso con otros proveedores.

 

I created a script here to automate fetching password & zip files from several vpn sites such as vpnbook.com, extracting the ca, cert, and key data from the ovpn files, and updating the opvn files so the certs should just import for you. It could easily be modified for use with other providers.

 
 

Relacionados problema

1  Iniciar OpenVPN como servicio Ubuntu 15.10  ( Start openvpn as a service ubuntu 15 10 ) 
Acabo de instalar Ubuntu 15.10 e instalé OpenVPN. Estoy usando los mismos archivos .conf como tuve en 14.x, sin embargo, el servicio no comenzará con sí mis...

4  ¿Cómo configuro OpenVPN para rotar los registros?  ( How do i setup openvpn to rotate logs ) 
Me gustaría rotar mis registros de OpenVPN. ¿Cómo puedo lograr esto? ...

20  No hay acceso a Internet cuando VPN conectó  ( No internet access when vpn connected ) 
Tengo una configuración de OpenVPN que yo uso en mi caja de Windows XP y en mi máquina Ubuntu. Cuando lo uso con mi máquina de Windows, puedo conectarme a l...

1  Ejecutar el servicio OpenVPN en conexión a Internet  ( Run openvpn service on connection to internet ) 
¿Cómo puedo hacer que una ejecución de OpenVPN se ejecute automáticamente cada vez que mi sistema esté conectado a Internet? ...

0  ¿Cómo aseguro el servidor de acceso OpenVPN?  ( How do i secure openvpn access server ) 
Estoy en mi ingenio en cuanto a cómo puedo lograr este objetivo. Cuando instala OpenVPN Access Server, puede administrar todo en HTTPS: / /My.IP.Address :port...

67  Ubuntu 18.04 No hay resolución DNS cuando está conectado a OpenVPN  ( Ubuntu 18 04 no dns resolution when connected to openvpn ) 
Cuando me conecto a una red VPN a través de GNOME Network Manager I PERMITE LA RESOLUCIÓN DE DNS y en la práctica, no puedo acceder a los recursos dentro de l...

40  ¿Dónde están guardados los archivos de configuración de VPN importados por Administrador de red?  ( Where are vpn configuration files imported by network manager saved ) 
He importado un archivo de configuración de OpenVPN que se comporta de manera diferente al intentar conectarse desde el Administrador de red y la línea de com...

4  Openvpn para Ubuntu-Teléfono  ( Openvpn for ubuntu phone ) 
Tengo Ubuntu-Teléfono en Nexus 4. ¿Hay planes para hacer que OpenVPN sea accesible sin la necesidad de cambiar al modo de lectura? gracias ...

15  Fallo de autenticación de OpenVPN HMAC no importa lo que haga?  ( Openvpn hmac authentication failure no matter what i do ) 
Tengo un problema con mi servidor OpenVPN, ejecutando Debian Wheezy X64, y mi cliente, ejecutando Ubuntu 14.10 x64. Parece que no importa qué configuraciones ...

0  Cómo usar UFW para enrutar el tráfico al servidor proxy en localhost desde clientes internos, externos y openvpn  ( How to use ufw to route traffic to proxy server on localhost from internal exte ) 
Estoy tratando de probar un servidor proxy de caché transparente instalado en un VP de Ubuntu 18.04 VM. El servidor proxy también sirve como un servidor OpenV...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos