GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar una VPN de acceso remoto a la nube Bare Metal

Introducción

Cualquier tipo de servidor es manejable a través de una VPN. Configurar una VPN de acceso remoto desde una computadora de escritorio/dispositivo móvil es especialmente importante cuando se trabaja con servidores back-end para asegurar el acceso al servidor.

En este artículo, aprenderá a configurar el acceso remoto a Bare Metal Cloud (BMC) de phoenixNAP.

El artículo cubre los siguientes escenarios:

  • Configuración de una VPN de acceso remoto a phoenixNAP BMC (acceso a dispositivos de escritorio/móviles).
    • Configuración de clientes de Windows para acceso remoto.
    • Configuración de clientes de Ubuntu para acceso remoto.
    • Configuración de clientes Mac para acceso remoto.
  • Configuración de una conexión VPN entre dos ubicaciones de phoenixNAP BMC.
  • Configurar una VPN IPSec entre phoenixNAP BMC y el equipo local.

Requisitos previos

  • Al menos un servidor BMC basado en Linux con direccionamiento público y privado (o se requieren dos servidores BMC para una VPN entre dos ubicaciones).
  • Al menos un servidor que requiere administración remota.
  • Un cortafuegos de oficina remota en el caso de un escenario local.

Herramientas

Este artículo hace referencia a software de terceros. Puede utilizar el software VPN de su elección. Todas las contraseñas y direcciones IP son puramente ilustrativas y deben cambiarse.

Las herramientas a las que se hace referencia en este artículo incluyen:

  • Servidores en la nube sin sistema operativo – servidores físicos implementados en la plataforma phoenixNAP Bare Metal Cloud (BMC).
  • Ansible – una herramienta de software que facilita el soporte de automatización multiplataforma. Ansible se utiliza para orquestar la configuración en varias etapas del ciclo de vida de un componente.
  • Galaxia ansible – El centro oficial de Ansible para compartir contenido.
  • Éter suave – un programa VPN de código abierto, multiplataforma y multiprotocolo. El Proyecto SoftEther VPN fue desarrollado como un proyecto académico de la Universidad de Tsukuba, bajo la Licencia Apache 2.0.
  • strongCisne – una implementación de IPsec de código abierto utilizada para el tercer escenario. strongSwan facilita la conectividad IPsec VPN con firewalls de hardware tradicionales.
  • Parpadeo de túnel – un cliente de código abierto. Tunnelblink se utiliza para conectar hosts Mac a servidores VPN perimetrales.

Configuración de VPN de acceso remoto a phoenixNAP BMC

El siguiente escenario describe VPN de acceso remoto , que muestra cómo acceder a un servidor BMC desde una computadora de escritorio o dispositivo móvil a través de VPN.

Requiere un servidor de nube bare metal con direccionamiento público y privado y un servidor perimetral SoftEther para proporcionar el servicio VPN.

La configuración que se describe a continuación une las sesiones VPN de acceso remoto a la misma subred que los servidores. Con este método, solo se puede acceder al servidor perimetral a través de la dirección pública desde el lado del cliente VPN.

1. Establezca una conexión a través de SSH con el servidor donde desea instalar SoftEther edge.

2. A continuación, instale ansible paquete ejecutando uno de los siguientes comandos:

  • Para instalar Ansible en Ubuntu:
sudo apt -y install ansible
  • Para instalar Ansible en CentOS:
sudo yum -y install ansible

3. Instale el softasap.sa-vpn-softether Rol de Ansible de Ansible Galaxy:

sudo ansible-galaxy install softasap.sa-vpn-softether

4. Cree un directorio de trabajo:

mkdir softether && cd softether

5. En el directorio de trabajo recién creado, cree un libro de jugadas ansible (vpn.yml ) para SoftEther VPN:

---
- hosts: localhost
  vars:
  roles:
    - {
        role: "softasap.sa-vpn-softether",
        softether_init_script: "{{ playbook_dir }}/create_hub"
      }

6. Busque el nombre del adaptador y subred para la red privada back-end ejecutando el comando:

ip address

El resultado debe ser similar a la imagen a continuación, donde la información requerida se resalta en los cuadros verdes.

7. Cree una secuencia de comandos inicial (create_hub ) para configurar SoftEther VPN. Debe crear un centro virtual llamado vpn :

HubCreate vpn /PASSWORD:""
hub vpn

8. Conecte el concentrador virtual y el adaptador físico usando el nombre del adaptador del paso 6 :

BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False

9. Habilite la NAT segura función para DHCP funcionalidad:

SecureNatEnable
NatDisable

10. Asigne la subred apropiada en los parámetros DHCP (según el direccionamiento de la red privada recogido en el paso 6 ):

DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0

11. Genere un certificado para la conexión VPN con su nombre de dominio completo (FQDN):

ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer

12. A continuación, habilite la compatibilidad con VPN.

  • Para habilitar la compatibilidad con Windows SSTP VPN los clientes ejecutan:
SstpEnable yes
  • Para habilitar la compatibilidad con OpenVPN los clientes ejecutan:
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip

13. Defina los usuarios de VPN locales:

UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387

14. Defina una contraseña de administración del servidor SoftEther:

ServerPasswordSet adskfnne44onkdasl

15. Cree dos archivos:vpn.yml y create_hub .

Si es necesario, cambie:

  • Dhcpset intervalo inicial y final
  • SecureNatHostSet Parámetros de dirección IP
  • ServerCertRegenerate dominio

Si no se requieren cambios, pegue las siguientes líneas en el servidor SoftEther:

cat <<EOF > vpn.yml
---
- hosts: localhost
  vars:
  roles:
    - {
        role: "softasap.sa-vpn-softether",
        softether_init_script: "{{ playbook_dir }}/create_hub"
      }
EOF
cat <<EOF > create_hub
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
EOF

16. Después de crear el vpn.yml y create_hub archivos, puede iniciar el ansible-playbook. El siguiente comando instala y configura el servidor SoftEther VPN:

sudo ansible-playbook vpn.yml

Ahora el servidor SoftEther VPN configurado está listo para aceptar conexiones de clientes de acceso remoto, lo que permite la comunicación con las direcciones de back-end de los servidores dentro de BMC.

Opciones de configuración adicionales

Para opciones de configuración adicionales, puede usar la Utilidad de administración de línea de comandos de SoftEther VPN (vpncmd), que se usa para administrar varios servidores VPN perimetrales.

Por ejemplo, para configurar el servidor SoftEther, ejecutaría:

/opt/vpnserver/vpncmd localhost /SERVER /CMD:ServerPasswordSet

Para agregar usuarios de VPN, usaría los comandos:

/opt/vpnserver/vpncmd localhost /SERVER /CMD:UserCreate
/opt/vpnserver/vpncmd localhost /SERVER /CMD:UserPasswordSet

Configuración de clientes de Windows

Configurar clientes VPN en Windows usando SoftEther o el MS SSTP nativo .

Opción 1:Método SoftEther

1. Descarga el cliente SoftEther para Windows.

2. Después de descargar e instalar el cliente SoftEther, siga los pasos a continuación para conectarse al servidor perimetral de Phoenix:

  • Seleccione Agregar conexión VPN para abrir las nuevas propiedades de configuración de VPN.
  • Proporcione el Nombre de configuración .
  • Especifique la dirección IP , el número de puerto y el nombre del centro virtual .
  • Proporcione la información de autenticación del usuario para conectarse al servidor VPN proporcionando un Nombre de usuario y Contraseña .
  • Haga clic en Aceptar para confirmar las propiedades de configuración.

Opción 2:Método SSTP de Windows

1. Descargue e instale el certificado ubicado en el servidor SoftEther en la ruta softether/generated/generated/cert.cer .

2. Una vez que el Certificado se abre la ventana, haga clic en Instalar certificado .

3. El asistente de importación de certificados aparece Seleccione Usuario actual para la ubicación de la tienda y continúe haciendo clic en Siguiente .

4. A continuación, configure el punto final de VPN en Windows. Abra la Configuración de VPN y seleccione Agregar una VPN .

5. Complete la información requerida, asegurándose de seleccionar Windows (incorporado) como proveedor de VPN y Protocolo de túnel de sockets seguros (SSTP) como el tipo de VPN.

6. Haga clic en Guardar para completar.

Configuración de clientes de Ubuntu

1. Instale los paquetes OpenVPN para usar el cliente OpenVPN:

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

2. Después de descargar y descomprimir openvpn_config.zip archivo, importe la configuración:

  • Abrir Configuración y navegue a Red .
  • Haga clic en + firme para agregar una VPN a su red.
  • Elija Importar desde archivo...

3. Desde el paquete OpenVPN Sample Config, seleccione Phoenix edge OpenVPN remote access expediente. Haga clic en Abrir botón en la esquina superior derecha.

4. Proporcione el Nombre de usuario y Contraseña para la autenticación. Haz clic en Agregar para continuar.

5. Mover a IPv4 y seleccione la configuración Usar esta conexión solo para recursos en su red . Haz clic en Aplicar .

Configuración de clientes Mac

Puede usar Tunnelblick para instalar el cliente OpenVPN en Mac.

1. Abra Tunnelblick y seleccione Tengo archivos de configuración .

2. Aparece una ventana que explica cómo instalar un archivo de configuración.

3. Arrastre y suelte el archivo de configuración en el ícono de TunnelBlink ubicado en la barra de menú.

4. Conéctese a la VPN recién agregada haciendo clic en el icono de Tunnelblick y seleccionando Conectar phx-edge_openvpn_remote_access_l3 .

5. Introduzca su nombre de usuario de VPN y contraseña . Luego, haga clic en Aceptar para iniciar sesión.

Configuración de una conexión VPN entre dos ubicaciones de BMC de phoenixNAP

Puede interconectar dos ubicaciones de BMC a través de VPN. Esta conexión también se conoce como Lan to Lan (L2L) o Site to Site (S2S).

Tal configuración requiere servidores BMC Linux en cada ubicación. Ambos servidores deben tener direccionamiento público y privado. Actúan como el servidor perimetral SoftEther y uno o más servidores BMC privados en la misma red privada backend.

En este ejemplo, usamos las ubicaciones de Phoenix y Ashburn. Sin embargo, puede configurar una conexión VPN entre cualquier ubicación de phoenixNAP BMC.

1. Si comienza aquí, implemente los pasos 1 hasta 6 &15 hasta 16 de la primera sección. Estos son necesarios para configurar el lado Phoenix.

2. Luego, establezca una conexión a través de SSH a SoftEther edge en Ashburn e instale el paquete ansible:

  • Para Ubuntu:
sudo apt -y install ansible
  • Para CentOS:
sudo yum -y install ansible

3. Instale softasap.sa-vpn-softether rol ansible de Ansible Galaxy:

sudo ansible-galaxy install softasap.sa-vpn-softether

4. Tome nota del nombre del adaptador y la subred para la red privada de back-end mediante el comando:

ip address

5. Cree los dos archivos:vpn.yml y create_hub .

Si es necesario, cambie:

  • Dhcpset intervalo inicial y final
  • SecureNatHostSet Parámetros de dirección IP
  • ServerCertRegenerate dominio

Si no se requieren cambios, pegue las siguientes líneas en el servidor SoftEther:

cat <<EOL > vpn.yml
---
- hosts: localhost
  vars:
  roles:
    - {
        role: "softasap.sa-vpn-softether",
        softether_init_script: "{{ playbook_dir }}/create_hub"
      }
EOF
cat <<EOL > create_hub
HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1100 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.1.0.200 /END:10.1.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:none
SecureNatHostSet /MAC:none /IP:10.1.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl
EOF

6. Después de crear el vpn.yml y create_hub archivos, puede iniciar ansible-playbook. Utilice el siguiente comando para instalar y configurar el servidor Ashburn SoftEther VPN:

sudo ansible-playbook vpn.yml

En este punto, instaló y configuró los servidores SoftEther en dos ubicaciones (Phoenix y Ashburn).

Ahora necesita conectar estas ubicaciones con un túnel VPN S2S.

8. Edite el create_hub init script en ambos servidores y cree un nuevo centro virtual llamado s2s .

HubCreate s2s /PASSWORD:""
hub s2s

9. Cree una contraseña para la autenticación VPN s2s.

UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6

10. Para iniciar la conexión VPN de sitio a sitio, agregue las siguientes líneas a la ubicación principal (en este ejemplo, es Phoenix).

CascadeCreate s2s /SERVER:131.153.155.210:443 /HUB:s2s /USERNAME:s2s
CascadePasswordSet s2s /PASSWORD: bjdbsi9273jygUYGf6 /TYPE:standard
CascadeOnline s2s

Esto apunta la conexión en cascada a la IP pública y al concentrador s2s del servidor SoftEther en la ubicación de Ashburn.

11. Para permitir el tráfico entre vpn y s2s concentradores, debe agregar un enrutador virtual en ambos servidores SoftEther.

Servidor Phoenix SoftEther:

  • Cree un enrutador virtual llamado s2s:
RouterAdd s2s
  • Agregue una interfaz para cada concentrador:
RouterIfAdd s2s /HUB:vpn 
/IP:10.0.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s 
/IP:192.168.168.254/255.255.255.0
  • Añadir una ruta estática para vpn hub en la ubicación de Ashburn:
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s

Servidor Ashburn SoftEther:

  • Crear un enrutador virtual llamado s2s :
RouterAdd s2s
  • Agregue una interfaz para cada concentrador:
RouterIfAdd s2s /HUB:vpn 
/IP:10.1.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s 
/IP:192.168.168.253/255.255.255.0
  • Añadir una ruta estática para vpn centro en la ubicación de Phoenix:
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s

12. A continuación, debe permitir que los usuarios conectados a Phoenix establezcan una conexión con los servidores de Ashburn y viceversa. Para hacerlo, agregue una ruta estática al cliente VPN:

Servidor Phoenix SoftEther:

DhcpSet /START:10.0.0.200 /END:10.0.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:none
DhcpSet /START:10.0.0.200 /END:10.0.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:10.1.0.0/255.255.255.0/10.0.0.254

Servidor Ashburn SoftEther:

DhcpSet /START:10.1.0.200 /END:10.1.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:none
DhcpSet /START:10.0.0.200 /END:10.0.0.250 
/MASK:255.255.255.0 /EXPIRE:7200 /GW:none 
/DNS:none /DNS2:none /DOMAIN:none /LOG:yes 
/PUSHROUTE:10.0.0.0/255.255.255.0/10.1.0.254

En resumen, Phoenix SoftEther create_hub El guión inicial debe tener el siguiente contenido:

HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1100 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.1.0.200 /END:10.1.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE: 10.0.0.0/255.255.255.0/10.1.0.254
SecureNatHostSet /MAC:none /IP:10.1.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl

HubCreate s2s /PASSWORD:""
hub s2s
UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6
RouterAdd s2s
RouterIfAdd s2s /HUB:vpn /IP:10.1.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s /IP:192.168.168.253/255.255.255.0
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s

Ashburn SoftEther create_hub El guión inicial debe tener el siguiente contenido:

HubDelete DEFAULT
HubCreate vpn /PASSWORD:""
hub vpn
BridgeCreate vpn /DEVICE:bond0.1101 /TAP:False
SecureNatEnable
NatDisable
DhcpSet /START:10.0.0.200 /END:10.0.0.250 /MASK:255.255.255.0 /EXPIRE:7200 /GW:none /DNS:none /DNS2:none /DOMAIN:none /LOG:yes /PUSHROUTE:10.1.0.0/255.255.255.0/10.0.0.254
SecureNatHostSet /MAC:none /IP:10.0.0.253 /MASK:255.255.255.0
ServerCertRegenerate vpn.yourdomain.com
ServerCertGet ./generated/cert.cer
SstpEnable yes
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip
UserCreate rauser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet rauser /PASSWORD:sadigGjyt387
ServerPasswordSet adskfnne44onkdasl

HubCreate s2s /PASSWORD:""
hub s2s
UserCreate s2s /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6
CascadeCreate s2s /SERVER:131.153.155.210:443 /HUB:s2s /USERNAME:s2s
CascadePasswordSet s2s /PASSWORD:bjdbsi9273jygUYGf6 /TYPE:standard
CascadeOnline s2s
RouterAdd s2s
RouterIfAdd s2s /HUB:vpn /IP:10.0.0.254/255.255.255.0
RouterIfAdd s2s /HUB:s2s /IP:192.168.168.254/255.255.255.0
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s

14. Una vez que los scripts de inicio estén listos, vuelva a configurar ambos servidores SoftEther VPN:

/opt/vpnserver/vpncmd localhost /SERVER /IN:create_hub

15. Agregue las rutas estáticas a los servidores que usan la dirección privada del servidor VPN para lograr la conectividad entre las ubicaciones.

Configuración específica de CentOS

Si está ejecutando CentOS servidores, siga los pasos descritos para cada ubicación de servidor.

Servidores BMC del lado de Phoenix:

  • Agregue una ruta estática en el servidor ejecutando:
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Para que las rutas sean persistentes, edite el archivo de configuración de red /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Agregue la información de las rutas al archivo:
type: vlan
mtu: 9000
name: bond0.1101
vlan_id: 1101
vlan_link: bond0
subnets:
- address: 10.0.0.12/24
type: static
routes:
- gateway: 10.0.0.254
network: 10.1.0.0/24

Servidores BMC del lado de Ashburn:

  • Agregue una ruta estática en el servidor ejecutando:
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Haga que las rutas sean persistentes editando el archivo de configuración de red /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Agregue una sección de rutas al archivo:
- type: vlan
    mtu: 9000
    name: bond0.1100
    vlan_id: 1100
    vlan_link: bond0
    subnets:
    - address: 10.1.0.12/24
      type: static
      routes:
      - gateway: 10.1.0.254
        network: 10.0.0.0/24

Configuración específica de Ubuntu

Si está ejecutando Ubuntu servidores, siga los pasos descritos para cada ubicación.

Servidores BMC del lado de Phoenix:

  • Agregue una ruta estática en el servidor ejecutando:
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Para que las rutas sean persistentes, edite el archivo de configuración de red /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Agregue la siguiente información al archivo:
bond0.1101:
      addresses:
      - 10.0.0.12/24
      id: 1101
      link: bond0
      mtu: 9000
      routes:
      - to: 10.1.0.0/24
        via: 10.0.0.254

Servidores BMC del lado de Ashburn:

  • Agregue una ruta estática en el servidor ejecutando:
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Haga que las rutas sean persistentes editando el archivo de configuración de red /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Agregue una sección de rutas al archivo:
bond0.1100:
      addresses:
      - 10.1.0.12/24
      id: 1100
      link: bond0
      mtu: 9000
      routes:
      - to: 10.0.0.0/24
        via: 10.1.0.254

Configuración de VPN IPSec entre phoenixNAP BMC y el equipo local

Para ilustrar el tercer escenario, usamos nuestra topología existente. No es obligatorio tener dos ubicaciones de BMC. La conectividad con un centro de datos, una oficina o un sitio remoto en las instalaciones encaja en este ejemplo. Si este es su único caso de uso requerido, esta sección es independiente.

Como punto final local, utilizamos la configuración de Cisco ASA para crear VPN IPsec de sitio a sitio. Además, usamos el lado del servidor strongSwan para establecer este túnel. El tráfico descrito puede fluir desde clientes de acceso remoto a ambos nodos BMC, así como desde una oficina remota a ambos nodos BMC. No se describe la conexión del cliente de acceso remoto a través de BMC al sitio/la oficina remota.

1. SSH al servidor perimetral e instale el paquete strongSwan:

  • Para Ubuntu:
sudo apt -y install strongswan
  • Para CentOS:
sudo yum -y install strongswan

Dependiendo de la distribución, los archivos de configuración se ubicarán en diferentes rutas.

    • En Ubuntu, puede encontrarlo en:/etc/ipsec.*
    • En CentOS, el archivo de configuración se encuentra en:/etc/strongswan/ipsec.*

2. Edite el archivo de configuración de IPsec en el servidor perimetral en la ubicación de Phoenix:

#####Mandatory part of configuration setup#####
config setup
# strictcrlpolicy - Defines if a fresh CRL must be available in order for the peer authentication based on RSA signatures to succeed.
strictcrlpolicy=no
# uniqueids - Defines whether a particular participant ID must be kept unique, with any new IKE_SA using an ID deemed to replace all old ones using that ID.
uniqueids = yes
# charondebug - Defines how much charon debugging output must be logged.
    charondebug = "all"
conn vpn-to-asa
#####Per VPN configuration settings#####
# conn <name> - Defines a connection.
authby=secret
# authby - Defines how the peers must authenticate; acceptable values are secret or psk, pubkey, rsasig, ecdsasig.
left=%defaultroute
# left - Defines the IP address of the strongSwan's interface paricipating in the tunnel.
leftid=131.153.142.202
# leftid - Defines the identity payload for the strongSwan.
leftsubnet=10.0.0.0/24
# leftsubnet - Defines the private subnet behind the strongSwan, expressed as network/netmask.
right=185.28.188.0
# right - Defines the public IP address of the VPN peer.
rightid=192.168.0.254
# rightid - Defines the identity payload for the VPN peer.
rightsubnet=192.168.1.0/24
# rightsubnet - Defines the private subnet behind the VPN peer, expressed as network/netmask.
ike=aes256-sha1-modp1536
# ike - Defines the IKE/ISAKMP SA encryption/authentication algorithms. You can add a comma-separated list.
esp=aes256-sha1
# esp - Defines the ESP encryption/authentication algorithms. You can add a comma-separated list
keyingtries=%forever
# keyingtries - Defines the number of attempts that must be made to negotiate a connection.
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
# ikelifetime - Defines the duration of an established phase-1 connection.
    lifetime=8h
dpddelay=30
# dpddelay - Defines the time interval with which R_U_THERE messages/INFORMATIONAL exchanges are sent to the peer.
dpdtimeout=120
# dpdtimeout - Defines the timeout interval, after which all connections to a peer are deleted in case of inactivity.
dpdaction=restart
# dpdaction - Defines what action needs to be performed on DPD timeout. Takes three values as paramters : clear, hold, and restart.
auto=start
# auto - Defines what operation, if any, must be done automatically at IPsec startup (start loads a connection and brings it up immediately).

3. La clave previamente compartida de IPSec se almacena en un archivo separado:/etc/strongswan/ipsec.secrets

131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"

4. Cree archivos de configuración strongSwan (ipsec.conf y ipsec.secretos ) después de cambiar los parámetros necesarios. Puede usar la siguiente configuración en el servidor perimetral de Phoenix:

sudo cat <<EOF > /etc/strongswan/ipsec.conf
# mandatory configuration
config setup
strictcrlpolicy=no
uniqueids = yes
charondebug = "all"
# VPN to Cisco ASA
conn vpn-to-asa
authby=secret
left=%defaultroute
leftid=131.153.142.202
leftsubnet=10.0.0.0/24
right=185.28.188.0
rightid=192.168.0.254
rightsubnet=192.168.1.0/24
ike=aes256-sha1-modp1536
esp=aes256-sha1
keyingtries=%forever
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start
EOF
sudo cat <<EOT > /etc/strongswan/ipsec.secrets
131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"
EOT

5. Para evitar posibles problemas con SELinux, ejecute el siguiente comando en el servidor perimetral de CentOS:

sudo /sbin/restorecon -R -v /etc/strongswan/ipsec.conf
sudo setsebool -P daemons_use_tty 1

6. Inicie el servicio strongSwan en Phoenix:

sudo systemctl enable --now strongswan

7. Se debe realizar un procedimiento similar en la ubicación de Ashburn. En este ejemplo, el sistema operativo del servidor perimetral en Ashburn es Ubuntu (no obligatorio). Los archivos de configuración estarán en una ruta diferente. Después de cambiar los parámetros necesarios, pegue las siguientes líneas en el servidor perimetral en la ubicación de Ashburn:

sudo cat <<EOF > /etc/ipsec.conf
# mandatory configuration
config setup
strictcrlpolicy=no
uniqueids = yes
charondebug = "all"
# VPN to Cisco ASA
conn vpn-to-asa
authby=secret
left=%defaultroute
leftid=131.153.155.210
leftsubnet=10.1.0.0/24
right=185.28.188.0
rightid=192.168.0.254
rightsubnet=192.168.1.0/24
ike=aes256-sha1-modp1536
esp=aes256-sha1
keyingtries=%forever
leftauth=psk
rightauth=psk
keyexchange=ikev1
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
auto=start
EOF
sudo cat <<EOT > /etc/ipsec.secrets
131.153.155.210 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkash"
EOT

8. Inicie el servicio strongSwan en Ashburn:

sudo systemctl enable --now strongswan

9. Agregue rutas estáticas en los servidores perimetrales para habilitar la comunicación con el centro de datos local, la oficina o el sitio remoto:

Rutas estáticas específicas de CentOS

La siguiente configuración se aplica a CentOS servidores.

Servidores BMC del lado de Phoenix:

  • Agregue una ruta estática en el servidor ejecutando:
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
  • Para que las rutas sean persistentes, edite el archivo de configuración de red /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Agregue la siguiente información al archivo:
type: vlan
    mtu: 9000
    name: bond0.1101
    vlan_id: 1101
    vlan_link: bond0
    subnets:
    - address: 10.0.0.12/24
      type: static
      routes:
      - gateway: 10.0.0.11
        network: 192.168.1.0/24

Servidores BMC del lado de Ashburn:

  • Agregue una ruta estática en el servidor ejecutando:
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
  • Haga que las rutas sean persistentes editando el archivo de configuración de red /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Agregue una sección de rutas al archivo:
type: vlan
    mtu: 9000
    name: bond0.1100
    vlan_id: 1100
    vlan_link: bond0
    subnets:
    - address: 10.1.0.12/24
      type: static
      routes:
      - gateway: 10.1.0.11
        network: 192.168.1.0/24

Rutas estáticas específicas de Ubuntu

Use la siguiente configuración en Ubuntu servidores.

Servidores BMC del lado de Phoenix:

  • Add static route on server by running:
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
  • To make the routes persistent, edit the network configuration file /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Add the following information to the file:
bond0.1101:
      addresses:
      - 10.0.0.12/24
      id: 1101
      link: bond0
      mtu: 9000
      routes:
      - to: 192.168.1.0/24
        via: 10.0.0.11

Ashburn side BMC servers:

  • Add static route on server by running:
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
  • Make the routes persistent by editing the network configuration file /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Add a routes section to the file:
bond0.1100:
      addresses:
      - 10.1.0.12/24
      id: 1100
      link: bond0
      mtu: 9000
      routes:
      - to: 192.168.1.0/24
        via: 10.1.0.11

10. The following step includes an on-premises Cisco ASA firewall IPSsec configuration. Your actual configuration may vary.

name 131.153.142.202 PHX-VPN-PEER
name 131.153.155.210 ASH-VPN-PEER
object-group network PHX-VPN-REMOTE
network-object 10.0.0.0 255.255.255.0
object-group network ASH-VPN-REMOTE
network-object 10.1.0.0 255.255.255.0
object-group network PHX-VPN-LOCAL
network-object 192.168.1.0 255.255.255.0
object-group network ASH-VPN-LOCAL
network-object 192.168.1.0 255.255.255.0
!
access-list PHXl2l_acl extended permit ip object-group PHX-VPN-LOCAL object-group PHX-VPN-REMOTE
access-list ASHl2l_acl extended permit ip object-group ASH-VPN-LOCAL object-group ASH-VPN-REMOTE
nat (inside,outside) source static PHX-VPN-LOCAL PHX-VPN-LOCAL destination static PHX-VPN-REMOTE PHX-VPN-REMOTE no-proxy-arp
nat (inside,outside) source static ASH-VPN-LOCAL ASH-VPN-LOCAL destination static ASH-VPN-REMOTE ASH-VPN-REMOTE no-proxy-arp
!
crypto ikev1 policy 10
authentication pre-share
encryption aes-256
hash sha
group 5
lifetime 3600
!
crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac
crypto map outside_map 10 match address PHXl2l_acl
crypto map outside_map 10 set peer PHX-VPN-PEER
crypto map outside_map 10 set ikev1 transform-set ESP-AES-256-SHA
crypto map outside_map 10 set security-association lifetime seconds 28800
crypto map outside_map 20 match address ASHl2l_acl
crypto map outside_map 20 set peer ASH-VPN-PEER
crypto map outside_map 20 set ikev1 transform-set ESP-AES-256-SHA
crypto map outside_map 20 set security-association lifetime seconds 28800
crypto map outside_map interface outside
crypto ikev1 enable outside
!
tunnel-group 131.153.142.202 type ipsec-l2l
tunnel-group 131.153.142.202 ipsec-attributes
ikev1 pre-shared-key ksdbk78823kdcs92kwehsfkphx
tunnel-group 131.153.155.210 type ipsec-l2l
tunnel-group 131.153.155.210 ipsec-attributes
ikev1 pre-shared-key ksdbk78823kdcs92kwehsfkahs

Ubuntu
  1. Cómo configurar Wireguard VPN en CentOS 8

  2. Cómo configurar WireGuard VPN en Ubuntu 20.04

  3. Cómo configurar WireGuard VPN en Ubuntu (una guía paso a paso)

  4. Escritorio remoto de Ubuntu:cómo configurarlo y conectarse a él

  5. Cómo configurar el acceso remoto a Docker Daemon

Cómo configurar WireGuard VPN en Debian 10

Cómo acceder al escritorio remoto de Windows desde Ubuntu Linux

Cómo configurar el acceso remoto a su escritorio Ubuntu

Cómo configurar el escritorio remoto en Ubuntu (Xrdp)

Cómo configurar el acceso remoto a Docker Daemon [Guía detallada]

¿Cómo configurar el acceso remoto a MySQL en cPanel?