Lai pieslēgtu MikroTik maršrutētāju VPSnet privātajam tīklam ar IPsec, VPSnet vadības panelī pievienojiet filiāli, tad RouterOS 7 izveidojiet IPsec profilu, priekšlikumu (proposal), peer, identitāti ar kopīgo atslēgu un pa vienai politikai katram tīklu pārim, izslēdziet šo datplūsmu no NAT un atļaujiet to ugunsmūrī. RouterOS IPsec darbojas pēc politikām, tāpēc maršruts nav vajadzīgs. Katrā solī redzams WebFig logs (WinBox izvēlnes ir tās pašas) un tas pats iestatījums kā Terminal komanda. Pārbaudīts ar RouterOS 7.25 un pastāvīgu publisko IPv4 adresi.
Pirms sākat
- VPSnet vadības panelī atveriet savu VPN, izvēlieties Pieslēgt filiāli (maršrutētāju), atzīmējiet MikroTik, sadaļā Pieslēgties ar izvēlieties IPsec IKEv2 un nospiediet Tālāk. Ievadiet filiāles tīklus un maršrutētāja publisko adresi.
- Uzreiz nokopējiet kopīgo atslēgu: tā tiek parādīta vienu reizi.
- Turiet atvērtu filiāles konfigurāciju, cilni CLI (kopēt un ielīmēt): tajā jau ir jūsu VPN adrese, tīkli un nosaukumi. Ātrākais veids ir ielīmēt šīs komandas Terminal vai augšupielādēt lejupielādēto .rsc failu sadaļā Files un palaist /import. Tālāk norādītie soļi tās pašas vērtības iestata pa vienai.
Attēlos redzamas paraugvērtības no dokumentācijai paredzētajām adresēm. Ievadiet vērtības no sava ceļveža.
1. 1. fāze: profils
IP > IPsec > Profiles > New
RouterOS 7 pašam IKE nepiedāvā GCM, tāpēc 1. fāzē izmanto AES-256 ar SHA-256; datplūsma tik un tā izmanto AES-256-GCM (2. solis).
| Lauks | Vērtība |
|---|---|
| Name | tuneļa nosaukums no konfigurācijas (piemēram, vpsnet-a10e8857) |
| Hash Algorithms | sha256 |
| PRF Algorithms | auto |
| Encryption Algorithm | aes-256 |
| DH Group | ecp256 (19), ecp384 (20), modp2048 (14) |
| Proposal Check | obey |
| Lifetime | 1d 00:00:00 |
| NAT Traversal | On |
| DPD Interval | 30 s |
| DPD Maximum Failures | 5 |
Tas pats Terminal logā:
/ip ipsec profile add name=vpsnet-a10e8857 enc-algorithm=aes-256 hash-algorithm=sha256 prf-algorithm=auto dh-group=ecp256,ecp384,modp2048 lifetime=1d nat-traversal=yes dpd-interval=30s dpd-maximum-failures=5 proposal-check=obey
2. 2. fāze: priekšlikums (proposal)
IP > IPsec > Proposals > New
Atzīmējiet tikai aes-256 gcm un nevienu Auth. Algorithm: GCM autentificē pats. RouterOS ļauj vienu PFS grupu; konfigurācijā izmanto ecp256.
| Lauks | Vērtība |
|---|---|
| Name | tuneļa nosaukums no konfigurācijas (piemēram, vpsnet-a10e8857) |
| Auth. Algorithms | neviens |
| Encr. Algorithms | aes-256 gcm |
| Lifetime | 01:00:00 |
| PFS Group | ecp256 (19) |
Tas pats Terminal logā:
/ip ipsec proposal add name=vpsnet-a10e8857 enc-algorithms=aes-256-gcm auth-algorithms="" pfs-group=ecp256 lifetime=1h
3. Pievienojiet VPN kā peer
IP > IPsec > Peers > New
Address – VPN adrese ar /32. Passive neatzīmējiet: tuneli var sākt jebkura puse.
| Lauks | Vērtība |
|---|---|
| Name | tuneļa nosaukums no konfigurācijas (piemēram, vpsnet-a10e8857) |
| Address | VPN adrese/32 |
| Port | 500 |
| Profile | no 1. soļa |
| Exchange Mode | IKE2 |
| Send INITIAL_CONTACT | On |
Tas pats Terminal logā:
/ip ipsec peer add name=vpsnet-a10e8857 address=198.51.100.7/32 port=500 exchange-mode=ike2 profile=vpsnet-a10e8857 send-initial-contact=yes passive=no comment="VPSnet VPN vpsnet-a10e8857"
4. Kopīgā atslēga
IP > IPsec > Identities > New
Atslēgu ielīmējiet precīzi: 64 rakstzīmes, bez atstarpēm. My ID ir jūsu maršrutētāja publiskā adrese, Remote ID – VPN adrese.
| Lauks | Vērtība |
|---|---|
| Peer | no 3. soļa |
| Auth. Method | pre shared key |
| Secret | kopīgā atslēga (tiek parādīta vienu reizi) |
| My ID Type | address |
| My ID Address | jūsu maršrutētāja publiskā IPv4 adrese |
| Remote ID Type | address |
| Remote ID Address | VPN adrese |
| Generate Policy | no |
Tas pats Terminal logā:
/ip ipsec identity add peer=vpsnet-a10e8857 auth-method=pre-shared-key secret="KEY_FROM_THE_PANEL" my-id=address:203.0.113.20 remote-id=address:198.51.100.7 generate-policy=no comment="VPSnet VPN vpsnet-a10e8857"
5. Pa vienai politikai katram tīklu pārim
IP > IPsec > Policies > New
Katram biroja tīklam un katram konfigurācijā norādītajam VPSnet tīklam pievienojiet pa politikai: avots – biroja tīkls, galamērķis – VPSnet tīkls. Atzīmējiet Tunnel; sadaļā Action izvēlieties encrypt, unique un priekšlikumu no 2. soļa.
| Lauks | Vērtība |
|---|---|
| Peer | no 3. soļa |
| Tunnel | On |
| Src. Address | jūsu biroja tīkls |
| Dst. Address | VPSnet tīkls no konfigurācijas |
| Protocol | all |
| Action | encrypt |
| Level | unique |
| IPsec Protocols | esp |
| Proposal | no 2. soļa |
Tas pats Terminal logā:
/ip ipsec policy add peer=vpsnet-a10e8857 tunnel=yes src-address=192.168.50.0/24 dst-address=172.31.250.0/24 protocol=all proposal=vpsnet-a10e8857 action=encrypt level=unique comment="VPSnet VPN vpsnet-a10e8857 #1-1"
6. Izslēdziet VPSnet datplūsmu no NAT
IP > Firewall > NAT > New
Šim noteikumam jābūt virs jūsu masquerade noteikuma, citādi datplūsma tiek pārveidota uz WAN adresi un neatbilst politikai. Pēc saglabāšanas pārvelciet to saraksta augšā (Terminal to izdara komanda move). Pa vienam noteikumam katram tīklu pārim.
| Lauks | Vērtība |
|---|---|
| Chain | srcnat |
| Src. Address | jūsu biroja tīkls |
| Dst. Address | VPSnet tīkls no konfigurācijas |
| IPsec Policy | out : ipsec |
| Action | accept |
Tas pats Terminal logā:
/ip firewall nat add chain=srcnat action=accept src-address=192.168.50.0/24 dst-address=172.31.250.0/24 ipsec-policy=out,ipsec comment="VPSnet VPN vpsnet-a10e8857: no NAT #1-1"
/ip firewall nat move [find comment="VPSnet VPN vpsnet-a10e8857: no NAT #1-1"] 0
7. Atļaujiet tuneli ugunsmūrī
IP > Firewall > Filter Rules
Četri accept noteikumi saraksta augšā: IKE un NAT-T (UDP 500 un 4500) un ESP no VPN adreses uz maršrutētāju, kā arī atšifrētā datplūsma abos virzienos starp biroja un VPSnet tīkliem.
| Chain | Noteikums |
|---|---|
| input | protocol udp, Dst. Port 500,4500, Src. Address – VPN adrese – accept |
| input | protocol ipsec-esp, Src. Address – VPN adrese – accept |
| forward | VPSnet tīkls → biroja tīkls, IPsec Policy in : ipsec – accept |
| forward | biroja tīkls → VPSnet tīkls, IPsec Policy out : ipsec – accept |
Tas pats Terminal logā:
/ip firewall filter add chain=input action=accept protocol=udp src-address=198.51.100.7 dst-port=500,4500 comment="VPSnet VPN vpsnet-a10e8857: IKE/NAT-T"
/ip firewall filter move [find comment="VPSnet VPN vpsnet-a10e8857: IKE/NAT-T"] 0
/ip firewall filter add chain=input action=accept protocol=ipsec-esp src-address=198.51.100.7 comment="VPSnet VPN vpsnet-a10e8857: ESP"
/ip firewall filter move [find comment="VPSnet VPN vpsnet-a10e8857: ESP"] 0
/ip firewall filter add chain=forward action=accept src-address=172.31.250.0/24 dst-address=192.168.50.0/24 ipsec-policy=in,ipsec comment="VPSnet VPN vpsnet-a10e8857: VPSnet -> office #1-1"
/ip firewall filter move [find comment="VPSnet VPN vpsnet-a10e8857: VPSnet -> office #1-1"] 0
/ip firewall filter add chain=forward action=accept src-address=192.168.50.0/24 dst-address=172.31.250.0/24 ipsec-policy=out,ipsec comment="VPSnet VPN vpsnet-a10e8857: office -> VPSnet #1-1"
/ip firewall filter move [find comment="VPSnet VPN vpsnet-a10e8857: office -> VPSnet #1-1"] 0
8. Ierobežojiet TCP MSS
IP > Firewall > Mangle > New
Tuneļa MTU ir 1400. Šis noteikums neļauj TCP savienojumiem ar VPSnet iestrēgt lielu pakešu dēļ.
| Lauks | Vērtība |
|---|---|
| Chain | forward |
| Src. Address | jūsu biroja tīkls |
| Dst. Address | VPSnet tīkls no konfigurācijas |
| Protocol | tcp |
| TCP Flags | syn |
| IPsec Policy | out : ipsec |
| Action | change MSS |
| New TCP MSS | clamp to pmtu |
| Passthrough | On |
Tas pats Terminal logā:
/ip firewall mangle add chain=forward action=change-mss new-mss=clamp-to-pmtu protocol=tcp tcp-flags=syn src-address=192.168.50.0/24 dst-address=172.31.250.0/24 ipsec-policy=out,ipsec comment="VPSnet VPN vpsnet-a10e8857: MSS #1-1"
/ip firewall mangle move [find comment="VPSnet VPN vpsnet-a10e8857: MSS #1-1"] 0
9. Pārbaudiet tuneli
IP > IPsec > Active Peers, Installed SAs
Mūsu VPN tuneli sāk minūtes laikā. Active Peers rāda VPN stāvoklī established, bet Installed SAs – aes-gcm SA pāri. Tad no biroja datora nopingojiet VPSnet servera privāto adresi.
| Lauks | Vērtība |
|---|---|
| State | established |
Tas pats Terminal logā:
/ip ipsec active-peers print
/ip ipsec installed-sa print proplist=spi,src-address,dst-address,state,enc-algorithm,current-bytes
Pārbaude un problēmas
- Panelī atveriet filiāli un nospiediet Pārbaudīt tuneli: tiek pārbaudīts, vai maršrutētājs atbild, vai atslēgas sakrīt un vai datplūsma iet.
- Nav aktīva peer: pārbaudiet peer adresi, atslēgu identitātē (ielīmētu bez atstarpēm) un vai input noteikumi UDP 500, 4500 un ESP ir virs drop noteikumiem. Log (topics ipsec) parāda, kāpēc saskaņošana neizdodas.
- Savienojums ir, bet ping neiet: pārbaudiet, vai politikā avots ir biroja tīkls un galamērķis – VPSnet tīkls, un vai no-NAT noteikums ir virs masquerade.
BUJ
Kurām RouterOS versijām paredzēts šis ceļvedis?
Tas iestatīts un pārbaudīts ar RouterOS 7.25 (CHR) un pastāvīgu publisko IPv4 adresi. RouterOS 6 nav aprakstīts.
Kāpēc maršruts uz VPSnet nav vajadzīgs?
RouterOS IPsec darbojas pēc politikām: tās nosaka, kas tiek šifrēts, tāpēc biroja interneta datplūsma paliek nemainīga.
Vai pa šo tuneli varu izmantot BGP?
Ar RouterOS – nē: mūsu VPN BGP izmanto tikai maršrutētā tunelī, bet RouterOS IPsec darbojas pēc politikām. Izmantojiet politikas.
Mana maršrutētāja publiskā adrese mainās. Vai tomēr varu pieslēgties?
Šis ceļvedis paredzēts pastāvīgai adresei – šo gadījumu pārbaudījām. Pievienojot filiāli, atzīmējiet “Adrese mainās”: tad konfigurācijā būs iestatījumi šim gadījumam, un tuneli būs jāsāk jūsu maršrutētājam.
Pazaudēju kopīgo atslēgu. Ko darīt?
Atslēga tiek parādīta vienu reizi. Panelī atveriet filiāli un izvēlieties “Nomainīt atslēgu”: tiek izveidota jauna atslēga, tā tiek parādīta vienu reizi, un vecā pārstāj darboties nākamajā maršrutētāja pieslēgšanās reizē.
Vai tunelim vajadzīgs NAT?
Nē. VPSnet serveri redz biroja datoru adreses.








