Mar a gheibh thu fuasgladh air IPsec VPN dachaigheil. Pàirt 1

Mar a gheibh thu fuasgladh air IPsec VPN dachaigheil. Pàirt 1

Suidheachadh

Latha dheth. Bidh mi ag òl cofaidh. Stèidhich an oileanach ceangal VPN eadar dà phuing agus chaidh e à sealladh. Nì mi sgrùdadh: tha tunail ann dha-rìribh, ach chan eil trafaic anns an tunail. Cha bhith an oileanach a’ freagairt gairmean.

Bidh mi a’ cur a’ choire air agus a’ dàibheadh ​​a-steach do fhuasgladh trioblaidean S-Terra Gateway. Bidh mi a’ roinn m’ eòlas agus mo dhòigh-obrach.

Fiosrachadh cruaidh

Tha an dà làrach a tha air an sgaradh gu cruinn-eòlach ceangailte le tunail GRE. Feumaidh GRE a bhith air a chrioptachadh:

Mar a gheibh thu fuasgladh air IPsec VPN dachaigheil. Pàirt 1

Tha mi a’ sgrùdadh gnìomhachd an tunail GRE. Gus seo a dhèanamh, bidh mi a’ ruith ping bho inneal R1 gu eadar-aghaidh GRE de inneal R2. Is e seo an trafaic targaid airson crioptachadh. Gun fhreagairt:

root@R1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3057ms

Bidh mi a’ coimhead air na logaichean air Gate1 agus Gate2. Tha an log ag aithris gu toilichte gun deach an tunail IPsec a chuir air bhog gu soirbheachail, gun duilgheadas sam bith:

root@Gate1:~# cat /var/log/cspvpngate.log
Aug  5 16:14:23 localhost  vpnsvc: 00100119 <4:1> IPSec connection 5 established, traffic selector 172.17.0.1->172.16.0.1, proto 47, peer 10.10.10.251, id "10.10.10.251", Filter 
IPsec:Protect:CMAP:1:LIST, IPsecAction IPsecAction:CMAP:1, IKERule IKERule:CMAP:1

Ann an staitistig tunail IPsec air Gate1 tha mi a’ faicinn gu bheil tunail ann dha-rìribh, ach tha an cuntair Rсvd air ath-shuidheachadh gu neoni:

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

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 3 (10.10.10.251,500)-(10.10.10.252,500) active 1070 1014

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

Bidh mi a ’cur dragh air S-Terra mar seo: bidh mi a’ coimhead airson far a bheil na pacaidean targaid air chall air an t-slighe bho R1 gu R2. Anns a 'phròiseas (spoiler) lorgaidh mi mearachd.

Fuasgladh thrioblaidean

Ceum 1. Dè Gate1 a 'faighinn bho R1

Bidh mi a’ cleachdadh an sniffer pacaid togte - tcpdump. Bidh mi a’ cur air bhog an sniffer air an eadar-aghaidh a-staigh (Gi0/1 ann an comharrachadh Cisco no eth1 ann an comharradh Debian OS):

root@Gate1:~# tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
14:53:38.879525 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 1, length 64
14:53:39.896869 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 2, length 64
14:53:40.921121 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 3, length 64
14:53:41.944958 IP 172.16.0.1 > 172.17.0.1: GREv0, key=0x1, length 92: IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 2083, seq 4, length 64

Tha mi a’ faicinn gu bheil Gate1 a’ faighinn pacaidean GRE bho R1. Tha mi a' gluasad air adhart.

Ceum 2. Dè nì Gate1 le pacaidean GRE

A’ cleachdadh goireas klogview chì mi na tha a’ tachairt le pacaidean GRE taobh a-staigh an draibhear S-Terra VPN:

root@Gate1:~# klogview -f 0xffffffff

filtration result for out packet 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0: chain 4 "IPsecPolicy:CMAP", filter 8, event id IPsec:Protect:CMAP:1:LIST, status PASS
encapsulating with SA 31: 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0
passed out packet 10.10.10.251->10.10.10.252, proto 50, len 160, if eth0: encapsulated

Tha mi a 'faicinn gun tàinig an trafaig targaid GRE (proto 47) 172.16.0.1 -> 172.17.0.1 fo riaghailt crioptachaidh LIST ann am mapa crypto CMAP agus chaidh a chuairteachadh. An ath rud, chaidh am pasgan a chuir a-mach (air a chuir a-mach). Chan eil trafaic freagairt ann an toradh klogview.

Tha mi a’ sgrùdadh nan liostaichean ruigsinneachd air an inneal Gate1. Chì mi aon liosta ruigsinneachd LIST, a tha a 'mìneachadh an trafaig targaid airson crioptachadh, a tha a' ciallachadh nach eil riaghailtean balla-teine ​​​​air an rèiteachadh:

Gate1#show access-lists
Extended IP access list LIST
    10 permit gre host 172.16.0.1 host 172.17.0.1

Co-dhùnadh: chan eil an duilgheadas leis an inneal Gate1.

Tuilleadh mu klogview

Bidh an draibhear VPN a’ làimhseachadh a h-uile trafaic lìonraidh, chan e dìreach an trafaic a dh’ fheumar a chrioptachadh. Is iad seo na teachdaireachdan a tha rim faicinn ann an klogview nam biodh an draibhear VPN a’ giullachd trafaic an lìonraidh agus ga chuir a-mach gun chrioptachadh:

root@R1:~# ping 172.17.0.1 -c 4

root@Gate1:~# klogview -f 0xffffffff

filtration result for out packet 172.16.0.1->172.17.0.1, proto 1, len 84, if eth0: chain 4 "IPsecPolicy:CMAP": no match
passed out packet 172.16.0.1->172.17.0.1, proto 1, len 84, if eth0: filtered

Tha mi a’ faicinn nach deach trafaic ICMP (proto 1) 172.16.0.1-> 172.17.0.1 a thoirt a-steach (gun maids) ann an riaghailtean crioptachaidh cairt crypto CMAP. Chaidh am paca a chuir a-mach (air a chuir a-mach) ann an teacsa soilleir.

Ceum 3. Dè tha Gate2 a 'faighinn bho Gate1

Bidh mi a’ cur air bhog an sniffer air eadar-aghaidh WAN (eth0) Gate2:

root@Gate2:~# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:05:45.104195 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x1), length 140
16:05:46.093918 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x2), length 140
16:05:47.117078 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x3), length 140
16:05:48.141785 IP 10.10.10.251 > 10.10.10.252: ESP(spi=0x30088112,seq=0x4), length 140

Chì mi gu bheil Gate2 a’ faighinn pacaidean ESP bho Gate1.

Ceum 4. Dè Gate2 a 'dèanamh le ESP pasgannan

Bidh mi a’ cur air bhog goireas klogview air Gate2:

root@Gate2:~# klogview -f 0xffffffff
filtration result for in packet 10.10.10.251->10.10.10.252, proto 50, len 160, if eth0: chain 17 "FilterChain:L3VPN", filter 21, status DROP
dropped in packet 10.10.10.251->10.10.10.252, proto 50, len 160, if eth0: firewall

Chì mi gun deach pacaidean ESP (proto 50) a leigeil sìos (DROP) leis an riaghailt balla-teine ​​(L3VPN). Bidh mi a’ dèanamh cinnteach gu bheil liosta ruigsinneachd L0VPN aig Gi0/3 ceangailte ris:

Gate2#show ip interface gi0/0
GigabitEthernet0/0 is up, line protocol is up
  Internet address is 10.10.10.252/24
  MTU is 1500 bytes
  Outgoing access list is not set
  Inbound  access list is L3VPN

Lorg mi an duilgheadas.

Ceum 5. Dè tha ceàrr air an liosta ruigsinneachd

Bheir mi sùil air dè a th’ ann an liosta ruigsinneachd L3VPN:

Gate2#show access-list L3VPN
Extended IP access list L3VPN
    10 permit udp host 10.10.10.251 any eq isakmp
    20 permit udp host 10.10.10.251 any eq non500-isakmp
    30 permit icmp host 10.10.10.251 any

Tha mi a 'faicinn gu bheil pacaidean ISAKMP ceadaichte, agus mar sin tha tunail IPsec air a stèidheachadh. Ach chan eil riaghailt comasachaidh ann airson ESP. A rèir choltais, chuir an oileanach troimh-chèile icmp agus esp.

Deasachadh an liosta ruigsinneachd:

Gate2(config)#
ip access-list extended L3VPN
no 30
30 permit esp host 10.10.10.251 any

Ceum 6. Sgrùdadh comas-gnìomh

An toiseach, nì mi cinnteach gu bheil an liosta ruigsinneachd L3VPN ceart:

Gate2#show access-list L3VPN
Extended IP access list L3VPN
    10 permit udp host 10.10.10.251 any eq isakmp
    20 permit udp host 10.10.10.251 any eq non500-isakmp
    30 permit esp host 10.10.10.251 any

A-nis bidh mi a 'cur air bhog trafaig targaid bho inneal R1:

root@R1:~# 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=35.3 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=3.01 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=2.65 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=2.87 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 2.650/10.970/35.338/14.069 ms

Buaidh. Tha an tunail GRE air a stèidheachadh. Chan eil a’ chunntair trafaic a tha a’ tighinn a-steach ann an staitistig IPsec neoni:

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

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 3 (10.10.10.251,500)-(10.10.10.252,500) active 1474 1350

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

Air geata Gate2, ann an toradh klogview, nochd teachdaireachdan gun deach an trafaic targaid 172.16.0.1-> 172.17.0.1 a dhì-chrioptachadh gu soirbheachail (PASS) leis an riaghailt LIST ann am mapa crypto CMAP:

root@Gate2:~# klogview -f 0xffffffff
filtration result for in packet 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0: chain 18 "IPsecPolicy:CMAP", filter 25, event id IPsec:Protect:CMAP:1:LIST, status PASS
passed in packet 172.16.0.1->172.17.0.1, proto 47, len 112, if eth0: decapsulated

Builean

Rinn oileanach sgrios air an latha dheth.
Bi faiceallach leis na riaghailtean ME.

Innleadair gun urra
t.me/anonymous_engineer


Source: www.habr.com

Cuir beachd ann