802.1Q untuk manajemen GOST L2VPN atau cara menghemat uang untuk pembaruan perangkat lunak





Situasi



Saya harus membuka koneksi VPN antara dua situs di jaringan. Di ruang server, tampaknya ada gerbang keamanan C-Terra Gateway versi 4.2. Skemanya sederhana. Vendor bahkan memposting skrip konfigurasi yang direkomendasikan. Tapi ... skrip vendor menggunakan tiga antarmuka jaringan, dan gateway saya hanya memiliki dua.



Saya menyeduh kopi, mengingat CCNA saya, dan mencoba menggunakan apa yang saya miliki - port gratis di switch terkelola.



Jaringan saya



Jaringan saya adalah dua situs yang terpisah secara geografis dalam satu domain siaran. Ruang alamat: 10.10.205.0/24:







Di tangan dua gerbang keamanan C-Terra Gateway versi 4.2 dengan paket C-Terra L2.

Tentang paket C-Terra L2



Paket ini memungkinkan Anda untuk mengganti satu atau lebih antarmuka gateway ke mode PROMISC. Antarmuka PROMISC mencegat bingkai tautan data, dan C-Terra L2 merangkumnya dalam UDP.

Kemudian paket UDP dienkripsi (dienkapsulasi di ESP). Ini menciptakan koneksi VPN L2-over-L3. C-Terra L2 sudah diinstal sebelumnya pada semua Security Gateways dan diaktifkan dengan lisensi terpisah.


Dalam skenario yang disarankan, gateway keamanan terletak di tepi jaringan, dan antarmuka terpisah dialokasikan untuk manajemen:







Untuk membuatnya lebih jelas, saya akan menjelaskan antarmuka:



  • Gi0 / 0 - antarmuka PROMISC;
  • Gi0 / 1 - antarmuka L3 WAN;
  • Gi0 / 2 - antarmuka manajemen khusus. Saya memahami bahwa saya harus mengelola gateway keamanan kedua melalui terowongan VPN.


Keputusan



Cangkir kopi pertama berakhir saat saya membaca di Habré tentang 802.1Q - saya ingat CCNA. Mug kedua telah dingin (saya akan memanaskannya di microwave) saat mengganti peralatan, seperti yang ditunjukkan pada gambar:







Saya membedakan tiga jenis lalu lintas:



  • Lalu lintas utama antara perangkat R1 dan R2. Saya akan menetapkannya sebagai DATA BULK dan memasukkannya ke dalam VLAN 205. DATA BULK harus dienkripsi sebelum transmisi antar situs;
  • Lalu lintas manajemen gateway - MGMT. Saya akan membawanya ke VLAN 10. Lalu lintas MGMT ke gateway di situs jarak jauh harus dienkripsi;
  • BULK DATA dan MGMT setelah enkripsi saya akan menetapkan ESP DATA dan memasukkannya ke VLAN 100.


Menurut perkiraan saya, transmisi DATA BULK / ESP DATA di jaringan akan terlihat seperti ini (garis hijau mewakili lalu lintas tidak terenkripsi, lalu lintas terenkripsi merah):







Transmisi MGMT untuk kontrol gateway di situs lokal:







Transmisi DATA MGMT / ESP untuk kontrol gateway di situs jarak jauh:







5 langkah penyiapan



Langkah 1. Berurusan dengan BULK DATA



Saya memilih VLAN 205 terpisah untuk BULK DATA. Untuk ini, saya mengatur antarmuka Gi0 / 2 perangkat SW1 dan SW2 ke mode akses dengan VLAN 205:



sw1(config)#
interface gi0/2
    description BULK_TO_R1
    switchport access vlan 205
    no shutdown

sw2(config)#
interface gi0/2
  description BULK_TO_R2
  switchport access vlan 205
  no shutdown


Saya membuat antarmuka Gi0 / 0 dari gateway GW1 dan antarmuka PROMISC GW2. Untuk meneruskan BULK DATA ke antarmuka PROMISC, saya mengonfigurasi bagasi ke antarmuka PROMISC:



sw1(config)#
interface gi0/0
  description LINK_TO_PROMISC_GW1
  switchport mode trunk
  switchport trunk allowed vlan 205
  switchport trunk encapsulation dot1q
  no shutdown

sw2(config)#
interface gi0/0
  description LINK_TO_PROMISC_GW2
  switchport mode trunk
  switchport trunk allowed vlan 205
  switchport trunk encapsulation dot1q
  no shutdown






Langkah 2. Menangani MGMT lokal



Menurut rencana, lalu lintas MGMT membawa VLAN 10. Ruang alamat untuk VLAN 10: 10.76.76.128/28.



Di perangkat SW1 dan SW2, saya membuat antarmuka virtual vlan10:



sw1(config)#
interface vlan10
  ip address 10.76.76.129 255.255.255.240
  no shutdown 

sw2(config)#
interface vlan10
  ip address 10.76.76.142 255.255.255.240
  no shutdown


Saya membuat VLAN 10 VLAN asli agar tidak mengkonfigurasi antarmuka 802.1Q di gateway:



sw1(config)#
interface gi0/1
  description LINK_TO_WAN_GW1
  switchport mode trunk
  switchport trunk allowed vlan 10
  switchport trunk native vlan 10
  switchport trunk encapsulation dot1q
  no shutdown

sw2(config)#
interface gi0/1
  description LINK_TO_WAN_GW2
  switchport mode trunk
  switchport trunk allowed vlan 10
  switchport trunk native vlan 10
  switchport trunk encapsulation dot1q
  no shutdown






Saya mengkonfigurasi antarmuka Gi0 / 1 dari gateway keamanan:



GW1(config)#
interface gi0/1
   ip address 10.76.76.137 255.255.255.240
   no shutdown

GW2(config)#
interface gi0/1
  ip address 10.76.76.138 255.255.255.240
  no shutdown


Sekarang GW1 dapat diakses melalui SSH dari perangkat SW1:



sw1#ssh –l root 10.76.76.137
Password:
S-Terra Gate 4.2.18201 (amd64)
root@GW1~#


Demikian pula, GW2 dapat diakses melalui SSH dari perangkat SW2:



sw2#ssh –l root 10.76.76.138
Password:
S-Terra Gate 4.2.18201 (amd64)
root@GW2~#


Bagus, menuangkan secangkir kopi lagi.



Langkah 3. Berurusan dengan MGMT ke gateway di situs remote



MGMT lalu lintas ke gateway di situs remote harus dienkripsi. Untuk melakukan ini, saya akan membuang VLAN 10 melalui VPN. Semua lalu lintas yang dicegat dari antarmuka PROMISC akan memasuki terowongan VPN. Saya akan menambahkan ke bagasi ke antarmuka PROMISC VLAN 10:



sw1(config)#
interface gi0/0
  description LINK_TO_PROMISC_GW1  
  switchport trunk allowed vlan 10, 205

sw2(config)#
interface gi0/0
  description LINK_TO_PROMISC_GW1  
  switchport trunk allowed vlan 10, 205


Jangan buang setengah jam untuk memecahkan masalah!



Antarmuka PROMISC seharusnya tidak mendapatkan ESP DATA, jadi penting untuk mengecualikan VLAN 100 dari batang LINK_TO_PROMISC_GW1 dan LINK_TO_PROMISC_GW2 dalam opsi berikut:



switchport trunk allowed vlan 1-99,101-4096


Langkah 4. Saya



membuka ESP DATA Saya memilih ESP DATA di VLAN 100 di gateway GW1 dan GW2. Ruang alamat untuk VLAN 100: 192.168.10.0/30



Untuk melakukan ini, pada antarmuka WAN Gi0 / 1 dari gateway GW1 dan GW2, saya membuat antarmuka 802.1Q Gi0 / 1.100.

Lalu lintas keluar dari antarmuka semacam itu akan menjadi milik VLAN 100:



GW1(config)#
interface gi0/1.100
   ip address 192.168.10.1 255.255.255.252
   no shutdown

GW2(config)#
interface gi0/1.100
  ip address 192.168.10.2 255.255.255.252
  no shutdown






Saya mengizinkan bagian VLAN 100 ke trunk LINK_TO_WAN_GW1 dan LINK_TO_WAN_GW2:



sw1(config)#
interface gi0/1
  description LINK_TO_WAN_GW1
  switchport trunk allowed vlan 10,100

sw2(config)#
interface gi0/1
  description LINK_TO_WAN_GW2
  switchport trunk allowed vlan 10,100


Tautan antara perangkat SW1 dan SW2 juga harus mengirimkan lalu lintas VLAN 100 yang diberi tag:



sw1(config)#
interface gi0/3
  description LINK_TO_SW2
  switchport mode trunk
  switchport trunk allowed vlan 100
  switchport trunk encapsulation dot1q
  no shutdown

sw2(config)#
interface gi0/3
  description LINK_TO_SW1
  switchport mode trunk
  switchport trunk allowed vlan 100
  switchport trunk encapsulation dot1q
  no shutdown


Langkah 5. Konfigurasi C-Terra L2 dan IPsec VPN dengan GOST



C-Terra L2 dikonfigurasi di sistem operasi menggunakan file konfigurasi /opt/VPNagent/etc/l2.conf. Untuk GW1:



vif tap0
bridge br0
capture eth0
remote 192.168.10.2
mssfix 1400
passtos


di mana:



tangkap eth0 - pilih antarmuka PROMISC, jarak jauh 192.168.10.2 - Alamat IP peer IPsec (antarmuka Gi0 / 1.100 dari gateway GW2).



Untuk GW2:



vif tap0
bridge br0
capture eth0
remote 192.168.10.1
mssfix 1400
passtos


Mengonfigurasi parameter IKE / IPsec. Untuk GW1:

Gateway akan menggunakan nama host sebagai pengenal, setel kunci yang telah ditentukan untuk otentikasi (Aturan Penggunaan untuk otentikasi perlu menggunakan sertifikat digital, saya akan mengubahnya nanti):



GW1(config)#
crypto isakmp identity hostname
ip host GW2 192.168.10.2
crypto isakmp key KEY hostname GW2


Mengonfigurasi parameter dead peer detection (DPD):



GW1(config)#
crypto isakmp keepalive 10 2
crypto isakmp keepalive retry-count 5


Saya mengatur parameter IPsec Tahap I:



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


Saya mengatur parameter IPsec Tahap II:



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


Karena frame dicegat oleh antarmuka PROMISC L2 dienkapsulasi dalam UDP, daftar akses yang menentukan lalu lintas untuk enkripsi:



GW1(config)#
ip access-list extended LIST
   permit udp host 192.168.10.1 host 192.168.10.2


Saya membuat peta crypto dan mengikatnya ke Gi0 / 1.100:



GW1(config)#
crypto map CMAP 1 ipsec-isakmp
  match address LIST
  set transform-set TSET
  set peer 192.168.10.2
interface gi0/1.100
  crypto map CMAP


Saya menentukan rute default melalui alamat IP rekan IPsec:



GW1(config)#
ip route 0.0.0.0 0.0.0.0 192.168.10.2 	


Konfigurasi gateway GW2:



GW2(config)#
crypto isakmp identity hostname
ip host GW1 192.168.10.1
crypto isakmp key KEY hostname GW1
crypto isakmp keepalive 10 2
crypto isakmp keepalive retry-count 5
crypto isakmp policy 1
  encr gost
  hash gost3411-256-tc26
  auth pre-share
  group vko2
crypto ipsec transform-set TSET esp-gost28147-4m-imit
  mode tunnel
ip access-list extended LIST
  permit udp host 192.168.10.2 host 192.168.10.1
crypto map CMAP 1 ipsec-isakmp
  match address LIST
  set transform-set TSET
  set peer 192.168.10.1
interface gi0/1.100
  crypto map CMAP
ip route 0.0.0.0 0.0.0.0 192.168.10.1


Terjadi?



Dari perangkat R1, saya ping ke R2:



R1#ping 10.10.205.2 
Type escape sequence to abort. 

Sending 5, 100-byte ICMP Echos to 10.10.205.2, timeout is 2 seconds: 
!!!!! 
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms</code>

R2   ICMP.  ?  ARP   R1  R2:

<source>R1#show arp 
Protocol  Address          Age (min)  Hardware Addr   Type   Interface 
Internet  10.10.205.1             -   aabb.cc00.5020  ARPA   GigabitEthernet0/2 
Internet  10.10.205.2            54   aabb.cc00.6020  ARPA   GigabitEthernet0/2

R2#show arp 
Protocol  Address          Age (min)  Hardware Addr   Type   Interface 
Internet  10.10.205.1            52   aabb.cc00.5020  ARPA   GigabitEthernet0/2 
Internet  10.10.205.2             -   aabb.cc00.6020  ARPA   GigabitEthernet0/2


Perangkat R1 dan R2 mengasumsikan mereka berada di subnet siaran yang sama.



Perangkat SW1 dan SW2 menganggap bahwa keduanya terhubung satu sama lain melalui dua tautan:



sw1#show cdp neighbors
Device ID    Local Intrfce   Holdtme     Capability  Platform  Port ID 
sw2          Gi0/0           146             R S I  Linux Uni Gi0/0 
sw2          Gi0/3           146             R S I  Linux Uni Gi0/3 
R1           Gi0/2           156              R B   Linux Uni Gi0/2

sw2#show cdp neighbors
Device ID    Local Intrfce   Holdtme     Capability  Platform  Port ID 
sw1          Gi0/0           140             R S I  Linux Uni Gi0/0 
sw1          Gi0/3           140             R S I  Linux Uni Gi0/3 
R2           Gi0/2           156              R B   Linux Uni Gi0/2


Mencoba menyambung ke GW2 melalui SSH dari perangkat SW1:



sw1#ssh –l root 10.76.76.138
Password:
S-Terra Gate 4.2.18201 (amd64)
root@GW2~#


Kesimpulan: situs 1 dan 2 secara transparan ditautkan ke dalam satu domain siaran. Saya akan memeriksa apakah saluran memiliki enkripsi:



statistik terowongan IPsec di perangkat GW1:



root@GW1:~# 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 (192.168.10.1,500)-(192.168.10.2,500) active 31378 31502

IPsec connections: 
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd 
1 2 (192.168.10.1,*)-(192.168.10.2,*) 17 ESP tunn 508224 27672


Terowongan IPsec dibuat antara 192.168.10.1 dan 192.168.10.2.



Saya memeriksa bahwa hanya lalu lintas ESP yang ditransmisikan antara perangkat SW1 dan SW2, tidak termasuk STP. Berikut adalah dump lalu lintas dari antarmuka gi0 / 3 SW1:







Akhirnya



Saya minum tiga cangkir kopi - kemudian saya tidak tidur sepanjang malam, tetapi saya tidak perlu membeli perangkat keras baru dan memperbarui. Mungkin itu sepadan, di versi 4.3 vendor mengingatkan L2. Saya sedang berpikir untuk menggunakan versi 4.3 untuk pengujian.



Insinyur anonim

t.me/anonimous_engineer



All Articles