1.5 skema pada IPsec VPN domestik. Demo pengujian

1.5 skema pada IPsec VPN domestik. Demo pengujian

Situasi

Saya menerima versi demo produk C-Terra VPN versi 4.3 selama tiga bulan. Saya ingin mengetahui apakah kehidupan teknik saya akan menjadi lebih mudah setelah beralih ke versi baru.

Hari ini tidak sulit, satu kantong kopi instan 3 in 1 sudah cukup. Saya akan memberi tahu Anda cara mendapatkan demo. Saya akan mencoba membangun skema GRE-over-IPsec dan IPsec-over-GRE.

Cara mendapatkan demo

1.5 skema pada IPsec VPN domestik. Demo pengujian

Ini mengikuti dari gambar bahwa untuk mendapatkan demo Anda perlu:

  • Tulis surat ke [email dilindungi] dari alamat perusahaan;
  • Dalam surat itu, tunjukkan NPWP organisasi Anda;
  • Buat daftar produk dan jumlahnya.

Demo berlaku selama tiga bulan. Vendor tidak membatasi fungsinya.

Memperluas gambar

Demo Security Gateway adalah gambar mesin virtual. Saya menggunakan VMWare Workstation. Daftar lengkap hypervisor dan lingkungan virtualisasi yang didukung tersedia di situs web vendor.

Sebelum Anda mulai, perlu diketahui bahwa tidak ada antarmuka jaringan di image mesin virtual default:

1.5 skema pada IPsec VPN domestik. Demo pengujian

Logikanya jelas, pengguna harus menambahkan antarmuka sebanyak yang dia butuhkan. Saya akan menambahkan empat sekaligus:

1.5 skema pada IPsec VPN domestik. Demo pengujian

Sekarang saya memulai mesin virtual. Segera setelah diluncurkan, gateway memerlukan nama pengguna dan kata sandi.

Ada beberapa konsol di S-Terra Gateway dengan akun berbeda. Saya akan menghitung jumlahnya di artikel terpisah. Untuk sekarang:
Login as: administrator
Password: s-terra

Saya menginisialisasi gateway. Inisialisasi adalah urutan tindakan: memasukkan lisensi, menyiapkan generator angka acak biologis (simulator keyboard - catatan saya adalah 27 detik) dan membuat peta antarmuka jaringan.

Peta antarmuka jaringan. Ini menjadi lebih mudah

Versi 4.2 menyapa pengguna aktif dengan pesan:

Starting IPsec daemon….. failed
ERROR: Could not establish connection with daemon

Pengguna aktif (menurut insinyur anonim) adalah pengguna yang dapat mengatur apa saja dengan cepat dan tanpa dokumentasi.

Ada yang tidak beres sebelum mencoba menyiapkan alamat IP pada antarmuka. Ini semua tentang peta antarmuka jaringan. Itu perlu dilakukan:

/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
service networking restart

Akibatnya, peta antarmuka jaringan dibuat yang berisi pemetaan nama antarmuka fisik (0000:02:03.0) dan penunjukan logisnya di sistem operasi (eth0) dan konsol mirip Cisco (FastEthernet0/0):

#Unique ID iface type OS name Cisco-like name

0000:02:03.0 phye eth0 FastEthernet0/0

Penunjukan logis dari antarmuka disebut alias. Alias ​​disimpan di file /etc/ifaliases.cf.
Di versi 4.3, saat mesin virtual pertama kali dijalankan, peta antarmuka dibuat secara otomatis. Jika Anda mengubah jumlah antarmuka jaringan di mesin virtual, harap buat ulang peta antarmuka:

/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
systemctl restart networking

Skema 1: GRE-over-IPsec

Saya menyebarkan dua gateway virtual, saya beralih seperti yang ditunjukkan pada gambar:

1.5 skema pada IPsec VPN domestik. Demo pengujian

Langkah 1. Siapkan alamat IP dan rute

VG1(config) #
interface fa0/0
ip address 172.16.1.253 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.1.253 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.254

VG2(config) #
interface fa0/0
ip address 172.16.1.254 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.2.254 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.253

Memeriksa konektivitas IP:

root@VG1:~# ping 172.16.1.254 -c 4
PING 172.16.1.254 (172.16.1.254) 56(84) bytes of data.
64 bytes from 172.16.1.254: icmp_seq=1 ttl=64 time=0.545 ms
64 bytes from 172.16.1.254: icmp_seq=2 ttl=64 time=0.657 ms
64 bytes from 172.16.1.254: icmp_seq=3 ttl=64 time=0.687 ms
64 bytes from 172.16.1.254: icmp_seq=4 ttl=64 time=0.273 ms

--- 172.16.1.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.273/0.540/0.687/0.164 ms

Langkah 2: Siapkan GRE

Saya ambil contoh setting GRE dari official script. Saya membuat file gre1 di direktori /etc/network/interfaces.d dengan isinya.

Untuk VG1:

auto gre1
iface gre1 inet static
address 1.1.1.1
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.254 local 172.16.1.253 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1

Untuk VG2:

auto gre1
iface gre1 inet static
address 1.1.1.2
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.253 local 172.16.1.254 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1

Saya menaikkan antarmuka dalam sistem:

root@VG1:~# ifup gre1
root@VG2:~# ifup gre1

Memeriksa:

root@VG1:~# ip address show
8: gre1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1
    link/gre 172.16.1.253 peer 172.16.1.254
    inet 1.1.1.1/30 brd 1.1.1.3 scope global gre1
       valid_lft forever preferred_lft forever

root@VG1:~# ip tunnel show
gre0: gre/ip remote any local any ttl inherit nopmtudisc
gre1: gre/ip remote 172.16.1.254 local 172.16.1.253 ttl 64 tos inherit key 1

C-Terra Gateway memiliki paket sniffer bawaan - tcpdump. Saya akan menulis dump lalu lintas ke file pcap:

root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap

Saya mulai melakukan ping di antara antarmuka GRE:

root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=0.850 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=0.974 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 0.850/0.915/0.974/0.043 ms

Terowongan GRE aktif dan berjalan:

1.5 skema pada IPsec VPN domestik. Demo pengujian

Langkah 3. Enkripsi dengan GOST GRE

Saya mengatur jenis identifikasi - berdasarkan alamat. Otentikasi dengan kunci yang telah ditentukan sebelumnya (sesuai dengan Ketentuan Penggunaan, sertifikat digital harus digunakan):

VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254

Saya mengatur parameter IPsec Tahap I:

VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2

Saya mengatur parameter IPsec Phase II:

VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel

Saya membuat daftar akses untuk enkripsi. Lalu lintas yang ditargetkan - GRE:

VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254

Saya membuat peta crypto dan mengikatnya ke antarmuka WAN:

VG1(config)#
crypto map CMAP 1 ipsec-isakmp
match address LIST
set transform-set TSET
set peer 172.16.1.253
interface fa0/0
  crypto map CMAP

Untuk VG2, konfigurasinya dicerminkan, perbedaannya adalah:

VG2(config)#
crypto isakmp key KEY address 172.16.1.253
ip access-list extended LIST
permit gre host 172.16.1.254 host 172.16.1.253
crypto map CMAP 1 ipsec-isakmp
set peer 172.16.1.254

Memeriksa:

root@VG2:~# tcpdump -i eth0 -w /home/dump2.pcap
root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=1128 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=126 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=1.07 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=1.12 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.077/314.271/1128.419/472.826 ms, pipe 2

Statistik ISAKMP/IPsec:

root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 1 (172.16.1.253,500)-(172.16.1.254,500) active 1086 1014

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 1 (172.16.1.253,*)-(172.16.1.254,*) 47 ESP tunn 480 480

Tidak ada paket di tempat pembuangan lalu lintas GRE:

1.5 skema pada IPsec VPN domestik. Demo pengujian

Kesimpulan: skema GRE-over-IPsec berfungsi dengan benar.

Gambar 1.5: IPsec-over-GRE

Saya tidak berencana menggunakan IPsec-over-GRE di jaringan. Saya mengumpulkan karena saya ingin.

1.5 skema pada IPsec VPN domestik. Demo pengujian

Untuk menyebarkan skema GRE-over-IPsec sebaliknya:

  • Perbaiki daftar akses enkripsi - lalu lintas bertarget dari LAN1 ke LAN2 dan sebaliknya;
  • Konfigurasikan perutean melalui GRE;
  • Gantung peta kripto di antarmuka GRE.

Secara default, tidak ada antarmuka GRE di konsol gateway mirip Cisco. Itu hanya ada di sistem operasi.

Saya menambahkan antarmuka GRE ke konsol mirip Cisco. Untuk melakukannya, saya mengedit file /etc/ifaliases.cf:

interface (name="FastEthernet0/0" pattern="eth0")
interface (name="FastEthernet0/1" pattern="eth1")
interface (name="FastEthernet0/2" pattern="eth2")
interface (name="FastEthernet0/3" pattern="eth3")
interface (name="Tunnel0" pattern="gre1")
interface (name="default" pattern="*")

di mana gre1 adalah penunjukan antarmuka di sistem operasi, Tunnel0 adalah penunjukan antarmuka di konsol mirip Cisco.

Saya menghitung ulang hash file:

root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf

SUCCESS:  Operation was successful.

Sekarang antarmuka Tunnel0 telah muncul di konsol mirip Cisco:

VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400

Memperbaiki daftar akses untuk enkripsi:

VG1(config)#
ip access-list extended LIST
permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

Saya mengonfigurasi perutean melalui GRE:

VG1(config)#
no ip route 0.0.0.0 0.0.0.0 172.16.1.254
ip route 192.168.3.0 255.255.255.0 1.1.1.2

Saya menghapus cryptomap dari Fa0 / 0 dan mengikatnya ke antarmuka GRE:

VG1(config)#
interface Tunnel0
crypto map CMAP

Untuk VG2 mirip.

Memeriksa:

root@VG2:~# tcpdump -i eth0 -w /home/dump3.pcap

root@VG1:~# ping 192.168.2.254 -I 192.168.1.253 -c 4
PING 192.168.2.254 (192.168.2.254) from 192.168.1.253 : 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=492 ms
64 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=1.08 ms
64 bytes from 192.168.2.254: icmp_seq=3 ttl=64 time=1.06 ms
64 bytes from 192.168.2.254: icmp_seq=4 ttl=64 time=1.07 ms

--- 192.168.2.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.064/124.048/492.972/212.998 ms

Statistik ISAKMP/IPsec:

root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 2 (172.16.1.253,500)-(172.16.1.254,500) active 1094 1022

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 2 (192.168.1.0-192.168.1.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 352 352

Di tempat pembuangan lalu lintas ESP, paket dikemas dalam GRE:

1.5 skema pada IPsec VPN domestik. Demo pengujian

Kesimpulan: IPsec-over-GRE berfungsi dengan benar.

Hasil

Satu cangkir kopi sudah cukup. Saya membuat sketsa instruksi untuk mendapatkan versi demo. Mengonfigurasi GRE-over-IPsec dan menerapkan sebaliknya.

Peta antarmuka jaringan di versi 4.3 otomatis! Saya menguji lebih lanjut.

Insinyur Anonim
t.me/anonymous_engineer


Sumber: www.habr.com

Tambah komentar