GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur VPN Akses Jarak Jauh Bare Metal Cloud

Pendahuluan

Setiap jenis server dapat dikelola melalui VPN. Menyiapkan VPN akses jarak jauh dari desktop/perangkat seluler sangat penting saat bekerja dengan server backend untuk mengamankan akses server.

Dalam artikel ini, Anda akan mempelajari cara mengatur akses jarak jauh ke Bare Metal Cloud (BMC) phoenixNAP.

Artikel ini mencakup skenario berikut:

  • Menyiapkan VPN akses jarak jauh ke phoenixNAP BMC (akses perangkat desktop/seluler).
    • Mengonfigurasi klien Windows untuk akses jarak jauh.
    • Mengonfigurasi klien Ubuntu untuk akses jarak jauh.
    • Mengonfigurasi klien Mac untuk akses jarak jauh.
  • Menyiapkan koneksi VPN antara dua lokasi BMC phoenixNAP.
  • Menyiapkan VPN IPSec antara phoenixNAP BMC dan peralatan lokal.

Prasyarat

  • Setidaknya satu server BMC berbasis Linux dengan pengalamatan publik dan pribadi (atau dua server BMC diperlukan untuk VPN antara dua lokasi).
  • Setidaknya satu server memerlukan administrasi jarak jauh.
  • Firewall kantor jarak jauh untuk skenario lokal.

Alat

Artikel ini merujuk pada perangkat lunak pihak ketiga. Anda dapat menggunakan perangkat lunak VPN pilihan Anda. Semua sandi dan alamat IP hanyalah ilustrasi dan harus diubah.

Alat yang dirujuk dalam artikel ini meliputi:

  • Server Cloud Bare Metal – server fisik dikerahkan pada platform phoenixNAP Bare Metal Cloud (BMC).
  • Mungkin – alat perangkat lunak yang memfasilitasi dukungan otomatisasi lintas platform. Ansible digunakan untuk orkestrasi konfigurasi di berbagai tahap siklus hidup komponen.
  • Galaksi Kemungkinan – Hub resmi Ansible untuk berbagi konten.
  • SoftEther – program VPN sumber terbuka, lintas platform, multi-protokol. Proyek VPN SoftEther dikembangkan sebagai proyek akademis dari Universitas Tsukuba, di bawah Lisensi Apache 2.0.
  • strongSwan – implementasi IPsec open-source yang digunakan untuk skenario ketiga. strongSwan memfasilitasi konektivitas VPN IPsec dengan firewall perangkat keras tradisional.
  • Tunnelblink - klien sumber terbuka. Tunnelblink digunakan untuk menghubungkan host Mac ke server VPN edge.

Mengatur VPN Akses Jarak Jauh ke phoenixNAP BMC

Skenario berikut menjelaskan VPN akses jarak jauh , menunjukkan cara mengakses server BMC dari desktop atau perangkat seluler melalui VPN.

Ini membutuhkan server cloud bare metal dengan pengalamatan publik dan pribadi dan server tepi SoftEther untuk menyediakan layanan VPN.

Konfigurasi yang dijelaskan di bawah menjembatani sesi VPN akses jarak jauh ke subnet yang sama dengan server. Dengan menggunakan metode ini, server tepi hanya dapat diakses melalui alamat publik dari sisi klien VPN.

1. Buat koneksi melalui SSH dengan server tempat Anda ingin menginstal SoftEther edge.

2. Selanjutnya, instal yang mungkin paket dengan menjalankan salah satu perintah berikut:

  • Untuk menginstal Ansible di Ubuntu:
sudo apt -y install ansible
  • Untuk Menginstal Ansible di CentOS:
sudo yum -y install ansible

3. Instal softasap.sa-vpn-softether Peran yang mungkin dari Ansible Galaxy:

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

4. Buat direktori kerja:

mkdir softether && cd softether

5. Di direktori kerja yang baru dibuat, buat buku pedoman yang memungkinkan (vpn.yml ) untuk SoftEther VPN:

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

6. Temukan nama adaptor dan subnet untuk jaringan pribadi backend dengan menjalankan perintah:

ip address

Outputnya harus serupa dengan gambar di bawah ini di mana informasi yang diperlukan disorot dalam kotak hijau.

7. Buat skrip awal (create_hub ) untuk mengonfigurasi SoftEther VPN. Anda perlu membuat hub virtual bernama vpn :

HubCreate vpn /PASSWORD:""
hub vpn

8. Jembatan hub virtual dan adaptor fisik menggunakan nama adaptor dari langkah 6 :

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

9. Aktifkan NAT Aman fitur untuk DHCP fungsi:

SecureNatEnable
NatDisable

10. Tetapkan subnet yang sesuai dalam parameter DHCP (sesuai dengan pengalamatan jaringan pribadi yang dikumpulkan di langkah 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. Buat sertifikat untuk koneksi VPN dengan nama domain Anda yang memenuhi syarat (FQDN):

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

12. Selanjutnya, aktifkan dukungan VPN.

  • Untuk mengaktifkan dukungan untuk VPN SSTP Windows klien menjalankan:
SstpEnable yes
  • Untuk mengaktifkan dukungan untuk OpenVPN klien menjalankan:
OpenVpnEnable yes /PORTS:1194
OpenVpnMakeConfig ./generated/openvpn_config.zip

13. Tentukan pengguna VPN lokal:

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

14. Tentukan kata sandi manajemen server SoftEther:

ServerPasswordSet adskfnne44onkdasl

15. Buat dua file:vpn.yml dan buat_hub .

Jika perlu, ubah:

  • Dhcpset rentang awal dan akhir
  • SecureNatHostSet Parameter alamat IP
  • ServerCertRegenerate domain

Jika tidak ada perubahan yang diperlukan, tempel baris berikut ke server 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. Setelah membuat vpn.yml dan buat_hub file, Anda dapat memulai ansible-playbook. Perintah berikut menginstal dan mengkonfigurasi server SoftEther VPN:

sudo ansible-playbook vpn.yml

Sekarang server SoftEther VPN yang dikonfigurasi siap menerima koneksi klien akses jarak jauh, memungkinkan komunikasi dengan alamat backend server dalam BMC.

Opsi Konfigurasi Tambahan

Untuk opsi konfigurasi tambahan, Anda dapat menggunakan Utilitas Manajemen Baris Perintah VPN SoftEther (vpncmd), digunakan untuk mengelola beberapa server VPN edge.

Misalnya, untuk mengatur server SoftEther, Anda akan menjalankan:

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

Untuk menambahkan pengguna VPN, Anda dapat menggunakan perintah:

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

Mengonfigurasi Klien Windows

Konfigurasi klien VPN di Windows menggunakan SoftEther atau MS SSTP native asli .

Opsi 1:Metode SoftEther

1. Unduh klien SoftEther untuk Windows.

2. Setelah mengunduh dan menginstal klien SoftEther, ikuti langkah-langkah di bawah ini untuk terhubung ke server tepi Phoenix:

  • Pilih Tambahkan Koneksi VPN untuk membuka properti setelan VPN baru.
  • Berikan Nama Setelan .
  • Tentukan alamat IP , nomor port , dan Nama Hub Virtual .
  • Berikan informasi otentikasi pengguna untuk menghubungkan ke server VPN dengan memberikan Nama Pengguna dan Sandi .
  • Klik Oke untuk mengonfirmasi properti pengaturan.

Opsi 2:Metode SSTP Windows

1. Unduh dan instal sertifikat yang terletak di server SoftEther di jalur softether/generated/generated/cert.cer .

2. Setelah Sertifikat jendela terbuka, klik Pasang Sertifikat .

3. Wizard Impor Sertifikat muncul. Pilih Pengguna Saat Ini untuk Lokasi Toko dan lanjutkan dengan mengeklik Berikutnya .

4. Selanjutnya, konfigurasikan titik akhir VPN di Windows. Buka Setelan VPN dan pilih Tambahkan VPN .

5. Isi informasi yang diperlukan, pastikan untuk memilih Windows (built-in) sebagai penyedia VPN dan Secure Socket Tunneling Protocol (SSTP) sebagai jenis VPN.

6. Klik Simpan untuk menyelesaikan.

Mengonfigurasi Klien Ubuntu

1. Instal paket OpenVPN untuk menggunakan klien OpenVPN:

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

2. Setelah mengunduh dan membuka ritsleting openvpn_config.zip file, impor konfigurasi:

  • Buka Setelan dan navigasikan ke Jaringan .
  • Klik + masuk untuk menambahkan VPN ke jaringan Anda.
  • Pilih Impor dari file…

3. Dari paket OpenVPN Sample Config pilih Akses jarak jauh OpenVPN Phoenix edge mengajukan. Klik tombol Buka tombol di pojok kanan atas.

4. Berikan Nama pengguna dan Sandi untuk otentikasi. Klik Tambah untuk melanjutkan.

5. Pindah ke IPv4 tab dan pilih setelan Gunakan koneksi ini hanya untuk sumber daya di jaringannya . Klik Terapkan .

Mengonfigurasi Klien Mac

Anda dapat menggunakan Tunnelblick untuk menginstal klien OpenVPN di Mac.

1. Buka Tunnelblick dan pilih Saya memiliki file konfigurasi .

2. Sebuah jendela muncul menjelaskan cara menginstal file konfigurasi.

3. Seret dan jatuhkan file konfigurasi ke ikon TunnelBlink yang terletak di bilah menu.

4. Sambungkan ke VPN yang baru ditambahkan dengan mengeklik ikon Tunnelblick dan memilih Hubungkan phx-edge_openvpn_remote_access_l3 .

5. Masukkan nama pengguna VPN Anda dan sandi . Kemudian, klik Oke untuk masuk.

Mengatur Koneksi VPN Antara Dua Lokasi BMC phoenixNAP

Anda dapat menghubungkan dua lokasi BMC melalui VPN. Koneksi seperti itu juga dikenal sebagai Lan to Lan (L2L) atau Site to Site (S2S).

Pengaturan seperti itu membutuhkan server BMC Linux di setiap lokasi. Kedua server harus memiliki pengalamatan publik dan pribadi. Mereka bertindak sebagai server tepi SoftEther dan satu atau lebih server BMC pribadi di jaringan pribadi backend yang sama.

Dalam contoh ini, kami menggunakan lokasi Phoenix dan Ashburn. Namun, Anda dapat mengatur koneksi VPN antara lokasi BMC phoenixNAP mana pun.

1. Jika memulai dari sini, terapkan langkah-langkah 1 sampai 6 &15 sampai 16 dari bagian pertama. Ini diperlukan untuk mengatur sisi Phoenix.

2. Kemudian, buat koneksi melalui SSH ke SoftEther edge di Ashburn, dan instal paket yang memungkinkan:

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

3. Instal softasap.sa-vpn-softether peran yang mungkin dari Ansible Galaxy:

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

4. Catat nama adaptor dan subnet untuk jaringan pribadi backend menggunakan perintah:

ip address

5. Buat dua file:vpn.yml dan buat_hub .

Jika perlu, ubah:

  • Dhcpset rentang awal dan akhir
  • SecureNatHostSet Parameter alamat IP
  • ServerCertRegenerate domain

Jika tidak ada perubahan yang diperlukan, tempel baris di bawah ini ke server 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. Setelah membuat vpn.yml dan buat_hub file, Anda dapat memulai ansible-playbook. Gunakan perintah berikut untuk menginstal dan mengkonfigurasi server Ashburn SoftEther VPN:

sudo ansible-playbook vpn.yml

Pada titik ini, Anda menginstal dan mengkonfigurasi server SoftEther di dua lokasi (Phoenix dan Ashburn).

Sekarang Anda perlu menghubungkan lokasi ini dengan terowongan VPN S2S.

8. Edit create_hub init skrip di kedua server dan buat hub virtual baru bernama s2s .

HubCreate s2s /PASSWORD:""
hub s2s

9. Buat kata sandi untuk otentikasi VPN s2s.

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

10. Untuk memulai koneksi VPN situs ke situs, tambahkan baris berikut ke lokasi utama (dalam contoh ini adalah Phoenix).

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

Ini menunjukkan koneksi kaskade ke IP publik dan hub s2s dari server SoftEther di lokasi Ashburn.

11. Untuk mengizinkan lalu lintas antara vpn dan s2s hub, Anda perlu menambahkan router virtual di kedua server SoftEther.

Server Phoenix SoftEther:

  • Buat router virtual bernama s2s:
RouterAdd s2s
  • Tambahkan antarmuka untuk setiap hub:
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
  • Tambahkan rute statis untuk vpn hub di lokasi Ashburn:
RouterTableAdd s2s /NETWORK:10.1.0.0/255.255.255.0 /GATEWAY:192.168.168.253 /METRIC:1
RouterStart s2s

Server Ashburn SoftEther:

  • Membuat router virtual bernama s2s :
RouterAdd s2s
  • Tambahkan antarmuka untuk setiap hub:
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
  • Tambahkan rute statis untuk vpn hub di lokasi Phoenix:
RouterTableAdd s2s /NETWORK:10.0.0.0/255.255.255.0 /GATEWAY:192.168.168.254 /METRIC:1
RouterStart s2s

12. Selanjutnya Anda harus mengizinkan pengguna yang terhubung ke Phoenix untuk membuat koneksi ke server di Ashburn, dan sebaliknya. Untuk melakukannya, tambahkan rute statis ke klien VPN:

Server 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

Server 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

Singkatnya, Phoenix SoftEther create_hub skrip awal harus terdiri dari konten berikut:

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 skrip awal harus terdiri dari konten berikut:

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. Setelah skrip init siap, konfigurasi ulang kedua server SoftEther VPN:

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

15. Tambahkan rute statis ke server menggunakan alamat pribadi server VPN untuk mencapai konektivitas antar lokasi.

Pengaturan Khusus CentOS

Jika Anda menjalankan CentOS server, ikuti langkah-langkah yang diuraikan untuk setiap lokasi server.

Server BMC sisi Phoenix:

  • Tambahkan rute statis di server dengan menjalankan:
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Untuk membuat rute tetap ada, edit file konfigurasi jaringan /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Tambahkan informasi rute ke file:
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

Server BMC sisi Ashburn:

  • Tambahkan rute statis di server dengan menjalankan:
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Buat rute tetap dengan mengedit file konfigurasi jaringan /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Tambahkan bagian rute ke file:
- 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

Pengaturan Khusus Ubuntu

Jika Anda menjalankan Ubuntu server, ikuti langkah-langkah yang diuraikan untuk setiap lokasi.

Server BMC sisi Phoenix:

  • Tambahkan rute statis di server dengan menjalankan:
sudo ip route add 10.1.0.0/24 via 10.0.0.254 dev bond0.1101
  • Untuk membuat rute tetap ada, edit file konfigurasi jaringan /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Tambahkan informasi berikut ke file:
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

Server BMC sisi Ashburn:

  • Tambahkan rute statis di server dengan menjalankan:
sudo ip route add 10.0.0.0/24 via 10.1.0.254 dev bond0.1100
  • Buat rute tetap dengan mengedit file konfigurasi jaringan /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Tambahkan bagian rute ke file:
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

Menyiapkan VPN IPSec Antara BMC phoenixNAP dan Peralatan Lokal

Untuk mengilustrasikan skenario ketiga, kami menggunakan topologi yang ada. Memiliki dua lokasi BMC tidak wajib. Konektivitas ke pusat data lokal, kantor, atau situs jarak jauh semuanya sesuai dengan contoh ini. Jika ini adalah satu-satunya kasus penggunaan yang Anda perlukan, bagian ini berdiri sendiri.

Sebagai titik akhir lokal, kami menggunakan konfigurasi Cisco ASA untuk membuat VPN IPsec situs-ke-situs. Selain itu, kami menggunakan sisi server strongSwan untuk membuat terowongan ini. Lalu lintas yang dijelaskan dapat mengalir dari klien akses jarak jauh ke kedua node BMC, serta dari kantor jarak jauh ke kedua node BMC. Koneksi klien akses jarak jauh melalui BMC ke situs/kantor jarak jauh tidak dijelaskan.

1. SSH ke edge server dan instal paket strongSwan:

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

Bergantung pada distribusi, file konfigurasi akan ditempatkan di jalur yang berbeda.

    • Di Ubuntu Anda dapat menemukannya di:/etc/ipsec.*
    • Pada CentOS, file konfigurasi terletak di:/etc/strongswan/ipsec.*

2. Edit file konfigurasi IPsec pada edge server di lokasi 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. Kunci pra-berbagi IPSec disimpan dalam file terpisah:/etc/strongswan/ipsec.secrets

131.153.142.202 185.28.188.0 : PSK "ksdbk78823kdcs92kwehsfkphx"

4. Buat file konfigurasi strongSwan (ipsec.conf dan ipsec.secrets ) setelah mengubah parameter yang diperlukan. Anda dapat menggunakan konfigurasi berikut di server tepi 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. Untuk menghindari kemungkinan masalah dengan SELinux, jalankan perintah berikutnya di server tepi CentOS:

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

6. Mulai layanan strongSwan di Phoenix:

sudo systemctl enable --now strongswan

7. Prosedur serupa harus dilakukan di lokasi Ashburn. Dalam contoh ini OS edge server di Ashburn adalah Ubuntu (tidak wajib). File konfigurasi akan berada di jalur yang berbeda. Setelah mengubah parameter yang diperlukan, tempel baris berikutnya ke server tepi di lokasi 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. Mulai layanan strongSwan di Ashburn:

sudo systemctl enable --now strongswan

9. Tambahkan rute statis pada server edge untuk mengaktifkan komunikasi dengan pusat data lokal, kantor, atau situs jarak jauh:

Rute Statis Khusus CentOS

Konfigurasi berikut berlaku untuk CentOS server.

Server BMC sisi Phoenix:

  • Tambahkan rute statis di server dengan menjalankan:
sudo ip route add 192.168.1.0/24 via 10.0.0.11 dev bond0.1101
  • Untuk membuat rute tetap ada, edit file konfigurasi jaringan /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Tambahkan informasi berikut ke file:
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

Server BMC sisi Ashburn:

  • Tambahkan rute statis di server dengan menjalankan:
sudo ip route add 192.168.1.0/24 via 10.1.0.11 dev bond0.1100
  • Buat rute tetap dengan mengedit file konfigurasi jaringan /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg .
  • Tambahkan bagian rute ke file:
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

Rute Statis Khusus Ubuntu

Gunakan konfigurasi berikut di Ubuntu server.

Phoenix side BMC servers:

  • 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. Cara mengatur VPN Wireguard di CentOS 8

  2. Cara Mengatur VPN WireGuard di Ubuntu 20.04

  3. Cara Mengatur VPN WireGuard di Ubuntu (Panduan Langkah-demi-Langkah)

  1. Siapkan cloud Linux di bare metal

  2. Ubuntu Remote Desktop:Cara Mengatur dan Menghubungkannya

  3. Cara Mengatur Akses Jarak Jauh ke Docker Daemon

  1. Cara Menginstal Kubernetes di Server Bare Metal

  2. Apa itu Bare Metal Cloud

  3. Penerapan Otomatis Spark Cluster di Bare Metal Cloud