From cf658a4b985c1465af46acfd505bd8163d12f961 Mon Sep 17 00:00:00 2001 From: aapostoliuk <108394744+aapostoliuk@users.noreply.github.com> Date: Mon, 4 Aug 2025 13:21:26 +0300 Subject: [PATCH] Added IPSec blueprints with Cisco and PA (#1664) Added blueprint Policy-based Site-to-Site IPsec VPN with Cisco IOS. Added blueprint Route-based Site-to-Site IPsec VPN with Cisco IOS. Added blueprint Route-based Site-to-Site IPsec VPN with Palo Alto. --- docs/_static/images/PA-ESP-group.png | Bin 0 -> 27516 bytes docs/_static/images/PA-IKE-GW-1.png | Bin 0 -> 31121 bytes docs/_static/images/PA-IKE-GW-2.png | Bin 0 -> 19848 bytes docs/_static/images/PA-IKE-group.png | Bin 0 -> 26998 bytes docs/_static/images/PA-IPsec-tunnel.png | Bin 0 -> 33519 bytes docs/_static/images/PA-tunnel-1.png | Bin 0 -> 16308 bytes docs/_static/images/PA-tunnel-2.png | Bin 0 -> 18290 bytes docs/_static/images/PA-tunnel-3.png | Bin 0 -> 15779 bytes docs/_static/images/cisco-vpn-ipsec.png | Bin 0 -> 38659 bytes docs/_static/images/ipsec-vyos-pa.png | Bin 0 -> 61250 bytes docs/configexamples/index.rst | 3 + .../ipsec-cisco-policy-based.rst | 355 +++++++++++++++ .../ipsec-cisco-route-based.rst | 405 +++++++++++++++++ docs/configexamples/ipsec-pa-route-based.rst | 420 ++++++++++++++++++ 14 files changed, 1183 insertions(+) create mode 100644 docs/_static/images/PA-ESP-group.png create mode 100644 docs/_static/images/PA-IKE-GW-1.png create mode 100644 docs/_static/images/PA-IKE-GW-2.png create mode 100644 docs/_static/images/PA-IKE-group.png create mode 100644 docs/_static/images/PA-IPsec-tunnel.png create mode 100644 docs/_static/images/PA-tunnel-1.png create mode 100644 docs/_static/images/PA-tunnel-2.png create mode 100644 docs/_static/images/PA-tunnel-3.png create mode 100644 docs/_static/images/cisco-vpn-ipsec.png create mode 100644 docs/_static/images/ipsec-vyos-pa.png create mode 100644 docs/configexamples/ipsec-cisco-policy-based.rst create mode 100644 docs/configexamples/ipsec-cisco-route-based.rst create mode 100644 docs/configexamples/ipsec-pa-route-based.rst diff --git a/docs/_static/images/PA-ESP-group.png b/docs/_static/images/PA-ESP-group.png new file mode 100644 index 0000000000000000000000000000000000000000..c6411b669330bb45c68fd3ab00788983abe62cc0 GIT binary patch literal 27516 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 kS{dk&h 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
%DF^Hdf49yUW=0JlCu&h2f&L>d)?* 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 literal 0 HcmV?d00001 diff --git a/docs/_static/images/PA-tunnel-2.png b/docs/_static/images/PA-tunnel-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6f073513aaec1c9b210d68daaef2f4316c341c38 GIT binary patch literal 18290 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 literal 0 HcmV?d00001 diff --git a/docs/_static/images/PA-tunnel-3.png b/docs/_static/images/PA-tunnel-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ca5a94e967fff7411acb30b03c04868334a04624 GIT binary patch literal 15779 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 literal 0 HcmV?d00001 diff --git a/docs/_static/images/cisco-vpn-ipsec.png b/docs/_static/images/cisco-vpn-ipsec.png new file mode 100644 index 0000000000000000000000000000000000000000..bc19e8bc1fa39b103f36df4ca19d0248dd58e41a GIT binary patch literal 38659 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%0AEPL~b%9=_kyS3((&1?y!tmHN$W z;vvhUii_dmN}TGb4y^CxPtVkynvl@BiOvmT+9;g6jMl9jy}8w%NFW9I!T%IRLQ4bG z<~|SB8WwAgpREMjr*Wb?J)Td9I8crBl(Jap^CV3-`#%mD+U?#|DGx1+nL59} zz^ykC?>DnALT>l^Q!yCIsiG*kf6&VQNj)0|}oc#ZhC0qllM+Z4C1!yXm)ax5)n zxsrJ|Eb&A2fU3^DyAItVM&GK3oZ~Qq!laLb!-_@a%k+FE-pU#v5&a)8B_|`u)9P6! z@w(bB^zoD+p;J%8f0Jha#*bMUG?pX3NbdX5(L2RK^1Ozin;iIZCl00nDfM>tb9Eg9b_h`X0VQr|i~}{8Id=$Wrfz+A!?Jg%9-(A6 zZlJ(0m{ETfwV(McV*+<~9a!O5)||aX z$t$UuFw)@hwuL-U6+mgT?)7Jou-;Tav>=u^nf>|xM*bnMQT}NAB%U`YkLD(UlC`A~ zd@jE^8&X~qNt+-3^jsa0ig|h5ns5VWUP06`7KNYO%oNM1BHkv=Z&{VP^BqN*C zEP-y`+~ok@@CSL$0@?Pu7b}AWU>4WMvbXGahqc0kgt^gBG~)gHThU5(G|tM; z4DGsEx+k1=%{!Q$Y-&OpEsF0>Dg@`_YA~H4f}nefb4hGE_U*;Kuvj}M07}44no2)d ze^^zusAbgTYQg9=)}`zoQ90A5snFNAyVd^MKL?SVtiNw>Kg6+|U?#h7?;1tB?TDN* zz#Dlf?t{U3Rv2jrn*w)gjP<4_veC!CCW^PQ=Ze@!zt+^0AQ66vxV=Wgcyw%hn}C~- zKYQ|K?*m%3NRY5y8B$a4*iVjIIdeYljz^^zQLALH+V3RiV)&(L^vS{s`l?mZ#1D!E zb6DW?kzt-`kD5+QRVO}o;yeU{P~o1 zwo*?qJ@9x4O6N-5XF7R+&!IHNsmq^^o10KZP5Wls3(A_;RWzEN`VD^r`%msJ6lp$? zIkOI>eCfhTjVu>rA8^#X!gmy`Xb-}h%(!g+NIT1oUC<7n$7y$rJ5X`3$vf`vwTmV;4;L_WZO4Z9#VULgd3rTh+ zBQQ_Wt@>VR{Bf;&*W#xDPz>G^9EG2X+QR%oJ%&m#f7t@` zFAz#J;_DOX__rIUa)1_$(=u=Kc89gKMWM`%sTwl?q55e2BB984>}>P>aLPM*&Id`u z=Pq%Pi=F@qW4461Kpr3~xsbW91>2fX%`IyfK-AlZh1wAK15S(ia-K02yiqwkAgrdZt&%%2pxSkf=jXtu~oTdpudIV1~wbELatA`rd@YCd*KQB-@1&di}d_ISHO2m;g_H%bd< z`44gXe4Y-cYCBmMeyHVwEIHFD;owj%I7;?!r@uM_tKmnhu*b2t2$gx#_quJ;?3*Zp z0XXuc_O&w{g0kixm%Cps^1l4L>w51K=T8r+2=c3ElWU@5cQztaQDL-d^NM?1ul5Yy zKCAVwQ%BA1?QyV?Y4a4KM}w4*5Kp7)ll%O~2fNAbbOj}pL)Sa#LkR}`phFpvb~ykG z($T1JK2aDxM%t$0V+a|!+R;}LXr1M?>Rfrie{VhE9#b&Th!*Z0Rt%`V1Khp3EwdMc zBR4(i>YP-7+%1=SrFr9&e!(4nHqDT60mRiZX%=fwb**$(gVagm)Nl4sACeN5m4 z3fOYFfww!=#ugcdJ^3`;PTVG*axLi8&c=$9G|3?hdbF3nPu7q}o*lzqc=I)B_o-qf zdyf6}*9dlI5sV+u6b}*?=XXEc){9k}%u_HgQ@vDv3J7?Ojb^fjsO$4n%Il?AgU^oG z@UKR)=Lw-(!`&U~^kEi%E*Agrw6K2ApKEWt*zwor?qIU$cg2wMXOEGN2}zq!g5$%l z&!X9tVrYqyW-05I(gV+~hp{?5utxLXy=YFh7@rI(m@)*~;+*J(58^HHrCw(6Yq1=` zp5T7Ulv{zDY;|b06Fl73r**;;)(YWNLcaFO8VL~9J}ffwfNk@;)A)*g{KuSWgg%OZ zW8iVq2Ia)ZNTl2Qn@)xg=ZEhIW}7Cksvd3wC#aGQD=WcI4-O!J!cxnRRxc`7s^LbQ zNiqZj$!d#R*!Dvo8_oFdxs#;%fwmqT@DZPo`r9t6ON&n!x@Eb3UP7mqgPClv0j!m3 z-#v3_LJuwhwF97?W{DD=!h>T3gG%8>v!xq0Cv8mQlX&wOk~b&UBHL$&=X;iM9FfUy z0kc&&h+|_nyX7<%sWjbIiP)sa7=n=GylJ2S+N0)C$~|FMy?a9J{!h={ZnIKeypRtG z=8e3+#eZZW7;r7@kNb;M814luK;@EPsxgc7;D`A#uU}OOz`HqVCDU`2nK`zP`7Ra{ zp9u8IMVv|g1Wt~{eH2`0=wW1iE*;KDa}C z!#5(wJz`BkE&25PK>L>`IVB_=O-6q%-*kWRz~?T4JQ3_ebUEif!n%as#b>_0BRfPs z&9NCI%xZ})u>J(kf&sWaE@?O_YG=rWX5eNZTJuH|v8eF%-7viCp&bjKS;7I`=4_Sb zWinJgUP1UV`9P<>`Vx_9r-d+whGn-w&Yb$%%aBaDF8h)CTxPw&!5I zKWSzwunp0dJ;1G}w-CPlDuMBA%J5?cd6V@Lx>Z7Ef%n$q5Cv_JVGl2kYs5-mc`{^I zCD4>NL3{YQ=H4COF`lAu5gOcgRg+mG`ouWpNvAHgr$idj-Dn{Q7xsI{(=KJpvPq|h z9CTKK5L%wF;g&@Wk-v!ZYTgMyf`4&YDEFGv0wilPFQDt+6ss~)6}p+g_-?i)Gz$MQ zk$*6mqg^V+{3I#%gSg{sA?K&n9}F0gWxq-eg-IC7eWWnIo|th;Ix1-*_IcY$ZfCtV z+|x_R@U-c-Bx!Xeyz4FCmV&|~_S|=kSfJ*}kc%RL z9*(IJ;cv_W87ErD=Tb?(iG>vGJliw}Q59zEWW9^1*jJd(NRkMup0B`vf)o#QwNsC1 z$tq%S^ub8CFj|4(G_~Pde)^RzDsSpT?IwhteIlVI$1y(FJe*;R|Bx^q8mA^BZ?>mf zZug>|!4!aIN8-=&<6V+K^dAL1*4j{_ve&jO&a1$xIw75X8Q#S44=4yTx$R|eUK(*z zGp%gY13m!I2R)!e6AdYg-TbiE0A5_%vr3?t%=U;#iFdj7KJ$f?268r4n^3E)yfNu! zzVQNyQXi-edU2&Xm)yp#Rht5VdLdFQ2WlrEP=k!NT5l4rm!y|;%z1^9zDPBq)zS{r zv7y0I9{_;tk1@yovdq@897-FWY0MF7oQWVT@#eR8h~`xGdXKO}S65WL>?@m3N4 zSubm5#4AGT>&&(g({}>V$`BtXU(U;S5d9xhIOVRqeGBU{#F!-kD_i(d=km&;Y0>+5 zGM6qt0H21nR_;doc#jYqs)s@$riJ>njqYK^7p5_vjODaeF+FNTEZiO&ak;6Z374s# zB%dtu=#Mcgf zdQq!<`m9;=Xij6ij^C!NFK>Q^h0GltqXM`=PLgbcnMwBaoaU(9MzFBvdFhhjJt_-) z_h&5s6-RaEd_B>_1AnV=qwr-jBZ5h%CPvo+xMHljOzbA`*1U(O6*0PO zNip>ky1x6q-&_p1>XB1I#6qm@?eDt(x>*!KxzMGYw0SmvF`OleGj$Pjv(hTVcadm^ zx<=35tp_fCy~Yns9mbBT;3(G$tEFYXwfvUzsT|}$Xwrx{O6!vUv>`{*TluqB_85xe z!QeG^>ShBe^&Q31WYn$9dKNP#`|L!ptIcXQ84W@ zk!YQd51+CphkJ&3UOuzl;C{8V>Gy^#00F%5Z~#y{(jH4Qo7eb#l><$E?`+qS)xzk&9eOwB{Wzh$`Mx)mVpWf=*HRsE*#``hP?b-Xee9e$vqP!P!1KkTy9r5fEyoBnF)Ttto$^T%GFn(9P`%F=himOF_%(IXbu%eM}MrK>_oMJSC)4{tOeWi_J;Dqr+v{ z54Wp&HEiV@r)+gY`cLFk6Zg<7fdaHE&si`%=w=2yUIp|Upr6a^EMzSt+fU`v22=$|A!9G&0qkM42?~ zlV8JVYxABYv4J9kEF%5Uc0K-AT zQfcYw-EW;tuU~&17kT5x4PrMXDo{WKxa8a_bPFTE&eM}?t~NK?1+cJ*+M3!4K79|0@ph_q$K8)^bMw=?`;njpJ1;_SL!fPc z@>MXu(inCSZPN%*pmwWk^oES)zpLG(lZ!534|lR{pCx7Qu~QQ*&2&Lh&&T7O*-U$! zTMKZk2Y#6~v#qD6M`^YY>jvBt6RTs|WgtQ_$p035kE5LxmZl00y{Q>V;m@t#2m26Iit%qnAf2#E z$+8|o=z$yVt>Z!F!m~J|HjJv>rUjbp>ym@ZDBd0j4U>0~hx8 z?|WI%v|>hAD*6p@>n-#T3T!hTgW1&Z8> z36>4vDx?UU%SRDC$0wtQb6O(|G|MVi$%5e83WoVo&xsh?i>jvWe97q2+u3b+)LrJx zsoLb()^cYv&2B%d>E>)!SFQemn0orC6tZ38jzQ*gmlz}qt z&CTXoo5#VMZs-BF7-Nerog5rxDw=rKbo>5#312^Z# z0(ra7sa=+jt?1BfP%_>sDf!+rY!S!dcSx6u?zY4N-VQbm0M{wjT6IHANbAe40+A1p zi@ZMCSq5;!ZGe**>)p+|)6BR~96Q{tbnRUp;DTTuJn`)7RnMIUG6$uRB_?>lPtmz- zbUu8?75ZRFh=P*-Y5co9#iH00UU7<#a*kzI=2dDOR9?)OJ@#}=!*;Ai0730$4ZKh4 zkwfc4!S3DFJm*v)YdE&*1>Q{so?JwSDu8)RLa5%!U$K?ZqE3vQxuGA+98Z*aX-2$1 z{$P*&`yzmNksits7>@_rADO(%!}};Bh{^hwJMG@O4sKMhZ=vGi zHobD#mFFO^d#H(0#HT7Wr)(fD&zNDNY=;>uC^WdIH{)>>2#g;e$gE7;EiZJq zID1Lwc~3{j@cw%wZFV^El%GI_)`h%NYSsC&8WZ%yY(P8n1q)1 zYqW!RUER=TKtGz|us6>kch3-yFw4GM7+@fY+d0@Prpo?|7RND;wI%W0?xHJGkrCc>l#toev9Zp+}ww*Ux# z;{7C5?E;-qBScbA=z<%w9$e=kP?x-@?_jl!>6hV>5tQ*F_F-`7@3B!XaVg|LAwJ_t zf6<_z#z%4yhg4yMqrHpM5S3!x$=|CzFz*w3O=B z`tMLp&SNlgemXz%x8!t@=L_l2zK~+KzYJsgdP^YC!K3)2xnD!&C&^yF^S1YM*p47i zcn#HsufBKK$?`4&{QjNzR48$Tikv>ej%U(X8 zI{O3UX1GiQ@^31!>$?rT@!x1XOvRXi&p7;8>;Fa{;*iRiW&!>%0=w+U zeL8r5eQe;zl)#f%dC8q>IolVWMwsE%b&Mk8+v9E&kBZwWa957*o1|?q{~SU2$D1MZ z5o!`u?QAF#w9m=v;C@)gUghjL2fQ5oI!*kCUpVgeDxL9F_1Z+&zG6|^q3BsyaTEi; zBV|Hf1TNWl)qT%wb|Y##uz&bMwLR-0Et7Y@&Wp-0pLd2v&NxEQ&-36D$M`4ZngU&* z_^BfqrHh`XtOI2ho5gG z^klYlSAj%4@ z-E~4o=gx%=EMjND(!4JLp{m2aetTYqE&wm~r2dJ@#e5)QAY;P2&mFR-1yTZyLkGgB z&xJIlh~&yYbpAM1s#*4Ux1`88J!7m1QtHwwh{}Z6WqSmTB|IF;C0# znGu(%Ui>vT=VyE=p;@J&OT`=ur044xcY_l5a}s*#{?clC`T z3^j}yGs1~t%W=AeJx70LpAW+g&7{1y0-z?GNz<%ayGsVKKaJ|n5^UAsLe2TSY*#OI zHhFe&7Ix2cO@Zg-+LGp|_Fl?XIMSxa)AQwh%^7Z-wG)EvlmdwfuM6Rq%ty%Jz$*F6 z;5005T`Il%GhxQH*^m*3-HQ*T*hFtFHGvlJ1ueJ(ssCY60*Wtbs}agQ&aW*WAguZy z0A`Eyv4A%a&ukabttOL6)7%l63c#WBF91_5FHkmG`D8Lf^oN2d#x_+r%7J_|9*T1} zgKvHhLPMY>;gj-(W4`F1a(0IdtU$iV#gwB7T_}-ex%!F1gG|9MclWr#K$H!lIsyOS zBQJs5bB=uh){3x}#Gj#i;^;?`cRH#Tye&bTtkJ zBH2XV#~->cq|6nIaCn|6IKC6YCfySOQ)kgsQzti|)GDofpiTCx#;-%K4hP!_BPHN& zkAFAJKQ-hbYo~e$Xl-PeY?(*D_NDXQ6~g|GbO1g;Xy*7srsxGheGU7ram@|hN8HW7 zvy%7ze=U!ougsUJ&<6m_cix&*y;Rx|6oHUx5TCbftgoxP=8IGYqCLc2c$3@g8l8(j zNqMV^$Zm}L3{h-~K~CcqXb&N)MR+)Hir;Z}OFuZ0-68YCH&NuG$}Mb?K>>mLP_Eys0-Km2sC!KO?(89Y z?PI%(}(w6EjLal1G6_IzD6L{KDj9r_kB z4Y+b9Q5&<3y*y>YcvZ(Kf9I7S#1$e5-G;vT<#(HgIy@Ijhppm<22=j-b3O=aAO)5q z^u{kS_c9|^T$y*<3uI58<^zw=f9HPSWR;#nUZuh!+RF2$dKY&IurB%wS^strdQ>(~ z;KoEtQ#Rxo|ELDLCsLoDA`VARtGjJ4^w%MKJ7`mU8AG9YATOry5Nm}148A44a_0l+ zU53$rMYNWT{Y$?{I|+d1kD8jV{B-L92GN1OKv*5w!9W~>SA;@DNMyf~T$pl(Q`Pn< zlQwcip+K?$29qn8_A?sDz#?kj(V1l}_SUd(Li)x9*gyQfiB{87eg|3^>jrt(>&Y7l zzpL<`*uggBh4T3l3c9vRoT))+j zH~sogFU`T-U9|SzP2OY4f(k3I z=S6qZciO)K+St^6z?&rETl=M>^Ab-$-iI#%g{q;MHs1<+ga*buCSIEtG;SkKpO$15RHuww8oY_a>QN zUwAuF-TA5n5GR0h7;Q}*`WnY>$nt$WQGbOm-tmW*rEC3}aXYJg@BOU{oc3Uo>eDky zQZo}Jd)!2Gds~V7#Y}t(xRz#c&-nj101F`IUCS zP3-4_H4{Da^x^9ltluQe~+ZFTck>0Gc`P^>c?yHEha^IFP(;eU&w_cMV)gE2! zT@0l4F~F69xaCSK-0LA3<$h(O0%LT6gVjHH)e2DGnpW@teG6&AXR+SGzcj&N$J_X; ziL#4tg+@fGM6&E!QxsJcly*rfq-jdF1?=_d*%U6JU$<#0{Sdf$aK|XcH#1{_&4JTV z{#OHxy^o8zVa-n(Euk#lsK=W5CP9+aTWKwfQte`Bp1lBCF5u+XXVOY8+uvase<@l7 zx5>JFskg>ElnSe?-xNWy2mCrS6mEzcSob>zSdd# zT5Og?QG6g$Cnp1kSZ6lqEIbw@Es+F^z48xCgIU zG|0Yh72hgwa4tyaYN#D&I7a@gEu^N4l-&Q?e_v+7CUYc=k12T81kH&ptg*>$U>_SgBNe zS1Oc~JvPhhrh-uc6quWJ@M7VY49e%-OcejvHP0Bx;?ss7h>-CT=_afaQO6%PB`@k) z5I#n(T1VKe`M!6;*LqsF=6OeGdWtC8?J0l~eZA9KVA&=a-*QwQjdDf)I{4Q2jnYp{ zS?*u!*}JU(m`zM)m>@^xkhn}MzXCs9pWIxGI+Es=&eYdB2dbDoh#ohR1@p_S>k){U zT@MBbYD6Qi=Gghp6}kP4&YESSSj{(R2Q{F2Fm?eQ{AlX>f+n4V&wR&A{nNeZhozuw z?cepE$rS&B7bw02F3Ip+PDix~^4v1}-O%eNe15W1-J@)Gxv#6TPNE)L7cZS%- zB4C1)oyqdJnKu|qZpQ9`bDMIu185?TGVy{k_by2E8-L%r=!_MpDO*!~!Xaa zZ3!P!jf&q7{^2qIzE;VZXXc+WpRoV@6_fuMm=9zRRu7SF1~RA7AJ>aH{;i2bi*$E= zw|!cSxw-kzJktp{sFpiZk@{*~N~s{Yme?`xv=k6O$DY;5lJ8L0I}+NX(7%#kn8mQ$whws1sR@uQ8V)75_BOoupR|Yte6z@9KKxG!9S}qirMC@ zPE@);$GB;;E{r}9!zW;E-p)Eb@Z=(W`eI977q|xNgVrNl+qRJS=?|P z+i?GOxkXd~CNxlw^daIUC1Q@PO}o@Es;+w{3#8}|+dmKeC(S--a~g4#_#Dd+>6dr1 zu&|)rQzwFvOcXf`U>G)Gj1T>zD&W!>aXFW$VA6&WNTl@cWc?Wesq$`eAEPfS>a=LT0tTJWR4F4bF>m;H z&QD;JqOmNci{#n=%WwAOo@lDSi_QZKGX|XSI`?4v@b6Ev_M~@_LkRIbaUx0`l11lZ?53_?P8NF=Ids<+?ViA_9rZvTi(yv{$BPwxD$6p`37eBV zYek>Pc>-?q`K$6%-1|aE|e8{6-%75ABn+pq8q}S*73&UKQe& zj`R(f>8*WXM2loaMR;6U9rU2xa#!n4R$`>N0z1fz4Uz+gy6zjI!k%@Jx^(fOW`r_Q zbF`B4Q`~Q0bE!0IMU}LEdU^aurf^JY$o!WrEd=VakdWs0(T5%@C>)}v9Ps*^CEb!p zPzY$z+t=Bt;}0&?7B=nKZ~2Y>zw#b*8W9l-3EaL(C9IrcQLH(w?Co=QbfFFg&uY}D zm(y9NFsyZXXP(2FVEUeXp8G0R(XJQVbein2 zP(Jm>Wa}AQFsLt!iJ^oih3@fsS1k3?pEnP8RXA4|lLpvbb$^t!J&4#dee$Qw2hDOp zRTUdny0~raSy$zqC<(ew#l{4=2~Wk6I)I{+!S9w9l+-?iE*+)({wpovULl5s9X6$@ zhSdfU%Pnry4Pg4^t3{P?z4cm{7PhZ2D!4YYMNRst2ivnTrsmEL&Vxq8Pc!$WoIr_Q zT3bV1<+9q-n34FyK@AU52ZVihf}qI=;P0F(1cD=$gl2uW*^7Pf`lp)|Bo$65RcAd2 zj!@{;x(vEseMJ)cCM+vQ5enlmBAQHK%hs@mWQ?8JA**a9q}M9gK7DM>DXyc1_7fVx zwO78^BGtY_zqUPlsJaG!Hl2~YuMnsFihk#OR9piM*@afUY`!C2ohctbMtu|8urhh1 z@9-J|>e{hVpFSC^Oh_w1vpUm}fZlCkJ8f zqZJ3A(9}ce7bs&{KXpixO`Q8U?KN@cY@13MniL8{Z+}z~V6gSvKp(sCzPVz%q*zIP z<~2rAWMrhl@rF?diKJy85Yx9OUm`kg!s1MFVv>7Ep0pt451we&vRv8S6vq!h!uY;{ zk)@A@sBe9_#jk3%A7TsKy=*Ihzdi0dOde1S-{leR6O)JuVpIurWL9Im>yjx8``rzO zDji>hITMXop}xj4^ew*SEhbE~oBm=}FQ3!NE>XBSFJ$_Kmuorxdb3tKM4-jP_GRpOc;nf=vF0YjEC z9qp^D4;+ahRGGbzcPMgfiby-K!aU?zTzjFOI#>#p2$MrtO)sej)Klb$=9h_aI$V{{iqWLG-g!TQ}(M7wWMs(c{!RG_w`koP%jTECn1RQ!T*yr}+RSf#OJf92K zmu;nVo^7|h)_*SL;?MxN9Gm?sbJ+e-xVZtO5J*k4SZ*~+)WTIE0{%|u*Wo&h`_56N zZ_y*?KA)t~4Hza3I=(cgfV5KQ?WJfZPO|H$#NM|}Xpmc=0#eoa-@TUww@l02nyM;@ z850Qvg26yKhoRO&sJ~n-BoM%PXfi+(@XG?1NX0B+LcQ4=H>GwI*@B{zet*=7lY=2u zhgD=!$ua{5>Q)(?vnh-qJe{)pL$_7RwGiM35gh8uBGgF#!YEf!OKm`C-Rz{WmIYu` zn8*YhKawZLkz_FjVA~Oy1Z?jeL$K;)>YgIh5r@?d1Tb|WAX`PEiIuPh1vZvuqB`9A zOU42WO07B64Aj`{%>x?0FUw_Yq-3p0>D^`BdKWRa-LORiiA{JiGt(y2COKDQn2!$J zskg&$l&qL>AY^RZv~ow3>ARc9vOCb%a-Y%H+%Bo>^jvQvzd-tG?pXNl9)aSgYj zH^#La?j6F_{A8kBJtCuDhim`jEL*cfOjdHN$spjh}XhK_rU1B89i zD~n?Ca@&k&ASa?+@L%`CiM!YTXZJ&iwm^sBcV>02Q_1M^^H9{x!i=qZ^|WpSzX`B3 z;jLic*s+ra-L?~4*X%%}$gDb*qfi~MtFtOcNo-F~O(KSN)x19S>ZxU%4fr5=w4H4( z{MQtfT5wVI+zbfjVN_qYmBuW%r=98q4@l78bhbSi`m}=u4t&#R^q~}&5IeCiTZs2J zoXNaCFl=WC&eZ^|{%mI7tRplNu_ydai3zE7fR!N_hs^~{0DO<>8hiNee-_dx-NTwD89?2gqR6b$-m8{juiJnG{PA^WN=~C;?Mf4(6#| z(+W(K?MIT(`xBgpJIivqwwNh?4*9eLl7ln%tNxiw$!iJ3OkHgpuLg^!#}w5BVvt1J zMQucFO+_W=`KuY^lRv53+R6pHPZlVfX#O{u?1!-hh>97KvAIG88eQV?(il6#%aU)M z2G&htmrOVQbM&;@fr5hM8;81q0`wG&B5PDfi3?sob7I*2d3N4p4Y6r@wgTL8Lph?uxJu{dO_4?*}CdO_3_Vk!* zhAJ>;AteY)yUHaJ|qOQ|^mk<&jVQPdEi`#4nlwc6)gPff~O* z#aP=!WlvNoJI-(&e+}h!>`FNN_UXW+4drNe z`2+B~eYu3!Yx+7x9GtcMo6jhrPl8nlLEyr$NILgIg^&3wEr7@>QH|d7ds|SdSS0WVW z>FO?%1{>hL)51BvT3tN5a|4teAiIVgGF`7=nU(&VPGWZ0>)2&XS)h{DGUXK6)IB^q*gu(Sr;chcoj* XRCJg651#rn;Ll-|;|CM=U%2@{33tdA literal 0 HcmV?d00001 diff --git a/docs/_static/images/ipsec-vyos-pa.png b/docs/_static/images/ipsec-vyos-pa.png new file mode 100644 index 0000000000000000000000000000000000000000..0929bcc7b8c40a73dcf6ffe58972739531090f25 GIT binary patch literal 61250 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 Yl1Smo9USN@b z6%wM3o9Zz%bd)+wwacYT%b-|R;g0oTo4pgrRNXYIK@SF^kn~Q^9X7(gH0PC@%c9~> zF=Y)`JCLgU&YSL!&4RrSmKc(V)s&FTO27>m&&yRlx8%g%6|pY?_D%?M)4_2coP)LN z*<@R{8rC*uCpGebat(~u%rj5xffW`^yKrGD69>~eX157#Iwl4dadA$(W zO#NDS4(&2F5s_*vB=KZ&QL8O~N{)Ztq$E;PTBr*<(NIr>1^}Qx-|X@JOs#nUs1A%m z&!0YiJQ~Xz8hZYj)y7-~;(`&Sj?*Q+MGtuUCjq6F`Ui2LGGZ36-0AnnMOEcDcfC3j zfkHg@5R*bf1lDM|SjTR0NV+M_?1swph>hU$5|YC62`L4sMoxXsj~&;+HHqWwCgn5P z+}NH1{+yr%;kVNJ-;10kwv`U}W-)0%*>4V(XGx_kq6*nFl-P+{zIHKNHbQPA3%C*i z$O8Z(T3yUct^*35-J}}RNBg+r<|C68cYN=;_SPdQF@K?#KA`f~}?I zWUvRnu(11hrM(h(6F#JAkU#O23y@suj}LJ#h$tz}o;BO&ur^K`i9mq+V0AK#q&tyA z`CW^ytH)X^csZ}nnL&MXUH4ME@;pX`DiOg-e*+QO`8?Gpb?Ulf6j+#wn(Pj$-H^7;04UF zb!kw!g`ZCrwIsB9QFkKz{P{^74B0XaJtAYT)_x^HO2GzSpHJ)sH~8 zK;Pit`YO7aTc zk@i)v+S)M*x}cAmTbd6b4iyzPs~=3#Gz#qJlxU((l)XdGeEt?ggmu7(c6j|DQMJ6iH|L-v>w=k&uuTmZp;yP z9`LhFCPU+dR>som1ajgNmQ~b=3$wFAVQ1wgPJOFtQqss$sCn{v9JMGTj6ekJ0PSgh zlJ|V)&?vy99caB0H^>d)iE*Y!mxDEWhS-J|x$7 zKKBh^{$`Lz$*G>%p zev<|h=>U2tBreWWHCTH@Z2pm#9 zz3pSB`5A0Gq_Yu@Jyh`)7#ac<>r$R*E!wv<2HPv=HynmRljgAYb`XK8s?+}bLS>uW z1j!ErI3*I6g13y26HE;5i<&)>D7vJSY<)b+|Lfk1aEq48XbpW#?>EQ+@d+I0ygPih zpR2P(PX{N9YTpHwqsqLB%vWhLxQ1hf;jwwW>V|I1roBlauV2S<8#Mu?_Y(~O&6>Qm z{R!B7KnX7>E29$IkLbKd#Odbyqm%llocT?~>mjC0rUm2{U?Gne(jY5UOPmL4_6{$+ zoth`;^8jMu60>5K$60D|OC!7%x2Ya|s|=WPb{^9$0WF20Y8q(Lx=yD;&vsU6z~HI` zBJ(7vf9u({Gg2tpg@QA4L_ROt>rp*+pX7Xe+oszcPEmZz4d@k|w=Cx&9Gvh&_u4|9 zPk!~ssMHPzzR*3dm1P5V&rs|(j7?ZnA zd*(i0FXgs8;Zw&U$<$>P0DCUi^${(pPCqSVB_RM$METhCWKNkQre=ce)dveIK}rc~Bcy6Q!^1se7~)QDp?bW+=dXUT>MaT~pE?h< zTqYT;n0CI+X0LEcL9u+#M%KfOhZ@Ps+=tb3lS=}5#~Xu6xcXyn^#or)rPzu!O`;XB z0Z^ecVW91AGu)j%N)j!10Z#UcQ2b}e3b8N$ex8DxnI4)N=w)f5f$C{W+kasJz zzQ9$)oyxe-4@r(E;)ic}EZPDSX@sj;ioFZOKWU7G{U5@5Z=l!ykHEvh~A4zYdjJ@$UM-#^|DqV}P+;qU3h-vPhcz#VAkn zS-HxsAKXLkOHFs*vfR3P^Q4G8s`U}lMnUPIUB&aoRS#!y!q**^a#3eGTn4h12^w3fGWFeEKt#cr3 z!39Pm8lfs?sy~^qU(Cr*u7O*@h3Rb|j+I&_hP6)H@kG1BrHNGvS>m{VEB;Q}sc-rO zk=#BW30>JAibJteCTEDrgns;*!L-3#wn#mx)}mZZ-mbh)rl^yQ<#O%Sd+Vv`uiH-D z`t0{I)@E@!`>||lY8uMuJ8K5-9M;=xaYI(bZmD-iMxScQ)ucBiEdbGFz}k~1D5{lT zEEs+ACZ>37X`V7HA7>kwnx5v|ipU`jkdQzXScjCk>N>VQuAx}ZDJnL;;4rDnm0d#6f2Rdq9w=w>GMa+BZ)AP?FJow+AGL(X-y z_Pbn~klRkLJI{o2POEoFG%eUsTRIZN=*T{4>3(6%+MX}=iY8NNPqh)maYH5l$ZVJC z5NNWF2LSol~Qgfb2WpDQr zxaHtH5kfVb^RtxOzn-57I%p0fOiz@4@Wn_Jp{*`v2GG@Fkz!a~M4UXd%VAfH2H7xm z?a`O8L$Y3e0`4;0X#r0Je#6eTXFby!c`ba6g0_C;*{cUaR-mm8j1~6jD)3z| zR}O`k6VnFm%ji)H`lPIOe;J(fM)z=URTS z#v4AQ;TT--c7!n@`VJw>*f*D~aLPJ8ts%Ex1tY5J^)})Tiu|^?nQ+gF-`9BAcwFsS z)JlQQH|8Ol#BEk4xN}`oR&*OY+qkr9dEK{y+R9RiQYanr8-sVnVIVY`seW8!pZoOY%cQ_^e za^tr5>D_yhf^%!1=N>XMg@-)SB15)pw5H{0 zoPt|)rhO&*t>BzAh<1J+N>B-DgUixw-@&g)+_IV9D8zgr!IN!_C-B@_ARXm`;XfqTqVZ3K8;3|zjrU~Y67khcio!9j;0*5-7X<^X(+fW*rM zEEq%W6DbQTebyX3Y3i8>J6KMG06u`?tWILbNdget(fNQtJ_POpDsyG3E7NOtN6K>p znjKIrjng3|d#JwWy6R!zWlsv)498vfuIO9?yrKfPCMVH!*=2tCEaw*BzmR{#ka)#? zZT{%_+b=8(JCYSa6VAx{;2Uu9b!N%tEHYu26^+_qwh60zOnVKq14*)x{2m+2r|5Y3 zU>osi8#PA>5gOJxFKJ{M;A?!IU!~#JE4yiw@+AjACT{%-fS-ct(yn%FnFFm=>NHaV zD%8R(AifaoRwX^Z<%ZjAjbWo2t^^|r}=$T`A9!^u#J=BzNEI8)x2=VMkGW*rO~ z=@#p?7w=!t(^*EDZ3n!y9zHF6V??QM<)W(NCBDh$#XD!Vmjc;O>AM}fze{>H+u#-jh+5@m!GSzZ2s{^ zX-m8}Q@)$D3N~0W(_K|!oB2-L)Cf0ZW2)J;vLx&E-Nu-(YdUt8)ujx{Fik3|{2B2G z$$fYVor*4#UjtTHJctN1**dW0!ddmX9i>FMK- zf-C66i4)+Bd3ThNk&%Xm27&|MXTx?I9v+SZmw3R#hx_KOy0fa)YwPOj`uh4B8xI%Q z?W3X!v;?yW@F>r}j5S4qJqKsgkPpp>4=ABwkIeMuBRc_f;i;-=9kYqx(6|Jms-7HU zv`NPsW@%*mn6{k@)7Knpi4_Ma7oHB`s8E=dkD9q1I~kzh25q`WZ=M-A3mAlrXqGRs z%A+qtIVW26Z>{HPrm7@I?7#NoA^U;t-=u!eJGu}3>_!^kWs4ArBpuUT)D}h!Z%@&`Xa?Gkvx)Mo!YoRwKpY#Y@kJHH;!h| z0V}I;82`BB$kuzGSo8j5TkkJKPMsv%^q1yWGpz9J0UUf8twm*|Y2wTK2-c`;v=m#7 z`-9cfhmP5%I@y>0W|D1FSMF6nQ1o<_RK;ZWzN?zxZo`gwdaD3s8DuO>v%Fctn}AN` z8bU+n<8SeE{4*6_90G6!H@KC#iGRO`%>0Iu83bp)-ks8qI!ya0r@=dGUVV-1U1v4a z#4Aqf^mPcv8GR^oXO`ru*;VvaQx(%>agzPaj?8Lv{%FEr$M%aaW)#H2cX?Y%(t!k& z^QN}6vqtL61VNz?3H95_<`p_qyjD|oj>Q9a5k=ik>Bm1GWxWnnC}Tpkru9IibSQUh zg7Uej^3_K41EaUXv#xL0CK<7)5DK3b+1ObAXf-Oo*O`y`>_hh&7cuZ9*sT^{Q#KnQnSYL349U$nx8_C@HUVDH~rR z4l3u~Vx*dTz?YjnsnY1`5-B75Iq|!O^7LKoUB`f$1taUw!zH7AaOIo%ardfIq8d=5 z%an+`O;f(F z<743hrIc7F75Dw?GXD#OPTW4=W6jS;b(JE|y`g5A6&u?icTf{4*x-kYyzV&L z7!{JT;^I$?x}Ee_pAmV8V7+5}&5M3WHpk{s2q>>+#AoK4Sg@ZQ>B*Y3Rcx0}>M`rw zp*)S+*se)vjk|qGKi^*cUHSPY-dN|v@&VkJD@d0CHq$_}78-2GW#us3P}nm3@(}Ns z%8HafMn68hl=l5Ta|)K$DD+O?z5mhramaEInWbb0}0y#tu4TcK}qRmw%PZPY9eiuxp|Yk z&{jtI=D}|<;!ebpx1g3%tsylET!~D6HpP#_b&aSN7>Lcul=7wpkRUK1!^uItz?{^( zA`NovlQEvZ-_K-r;bLn%(os(kEt9B|k&~7EEF%o|^c|MnLy3pXWy~97`70V4U8k@8 zFL=fCQO$1CvOwCggv4~-%j zbaLr5+UtXgd%F=M74$(f#NG6)WJDJK5yKpd!X>qbt?DE{B1L8?QV)`9N)I@ zPRu1;ucvu2Xp5QYVuRXZ zdOErSp!|RiK+5&SMs9&FQh`ExtD<*M0%x*Rpo#e3u&6`~S~g$RwnaObX8R^Vu>(*@ zoJu(r(|vjsQnXJos)wK$@rDsc0}zS`AEF1pAvajWM{gj(lxV4#?c!~-^Sf-%p~lXI z?6L3`5v-i9<;OoeSf#*J>&t8A$pvp!10#gIdgKOdS>&RHaUz9l;SkRlGgq{R#+l1Rmw#c^RXbi<6Wn;p4;*L2wIyBho7=c;ySIe*usKK zu+7fA|1)o6ZO^Z5fya=Cu(HU{Mw+y_s(HDUi^N+MV!0&g83Lj}{dD-4qsl#qDDrO8 z-sIgU!U8@;+n`ZlI&%^!|uY6wEzU;qe<^j8SVg{0O9+>PXzwtAWAe6n_J@vfu9UiB9rfpc6!;T zF%NkLwx3{=4tV2;5Iy*LRg+XhZLde6+-UsP6-?TAmC)f)7mpQ#UXjaXZ&8FY`4C1v z+rdsWO3exgH*QSwkzrHR0U}bCH z|3daeen-qi*4A@Kzc+}PQ)ObW0+wP4T8JCY!k$}#-;6AlBia+xaG!bdg&l6%D@)kN zd!`PKTZJ!K7-!+qvDyjLz_w?#%WP%?x zqttPgls6x$h^=H`mRWZx=sKC4K}^Sof}6G$=RQ zPDqp{G7}(N0gwT(0~Zw)K};56AtuahfIMh&uzV9-F_0q7z@*ylPpPx`U$5T*c6V7> z*_$^%fy$QAb@b@kr~=d3!U3ng&AG}-=oc65ru4Z_(w7$lMc!SjMtWN|-AyGjrNsTY zaWfz(+5=J%)5PSB_(Neis23=w!)nqovXm|E<07(CAf;^=BBNR z#RGn{$Yr>NqjP)r{X8Txrxa-&>4c32`kBpHc_|E&Xf7=Z+7y63twV+#ulf2>VX{!dKvtSdN@&}c#sn{tdBAq7G~ zlsr@r;%UDAiuIsq5w1FR=t!WR*TtIDs^k)VUjj);AVEOw3*B@<}hdQOrb*VWD)!PJ=2@P+8YltT5HNjX2p_Eyv_2RN418! zaRrIlO9DseM6ByOFBg@45pa^Y7PX^>!A8hxGl8=J(XYM4sFZ3jV&H4sx$_kw+~Sx)|U*!Ic;KlE?b+s|n@-2hbJ^n3nL-Ul3E7Bx=}fu)&( zqLr_=u6x2CE3&DDI~fK7ht6oWd;#D_1O-fbw9>TiDm$*LHR`4y#foe`r}%ff1IBjn;=^< zDQO%f*P5wc$%t}`%W4_gSt$g+alFk}SdVxKSz_UWS<&@Ky&W5hI|w_roTS#euRzwLQ*aDHj3(asDRhsQ zOl53>jzU53{?^*UJooa&qH&P>tgWv{*D)I70fm9}2c2mC=|__h<{7Tw_6X(FPOLaM z^xuykY({x%D!JGVcp(mul#nLiHVi(p+N4-d@>rX@ckeQss<^b0Jj7|qE=wkZBc;Cb z77Gq%R(;FU=kfR(Mn*>WwY~&Ohe%MLylUN6GV@N8IU#C5`FuzwV=h`(IXCo9kMZFRB5qU3)pBC@;Rf3>`5zh6agKUHVTMjrZ%N zgOL^l6E0wBXfk=<^-%J+*xX2dOQj@|D-Yks_dy&*74G0Ks^qUKKXRp{q$DgX?Dcuc z8jKr+gWxb5AjoM4xGb1MJtR07?;d^Dy{$98Lc9>oN9)S7dnvVNWBl{Xd(?7l2YN&l z7|^m#I=b(<_RuvS2;P_Y$ey;DIKLu)=ZTzSUTQ-0Euc|Z2ce}EM=NG^Lc zVDaq{ujL8Fve7><@w78NBeeA5nCEo@OEf8Rq}Vvu=U*}hE;~ndrB)fN&L=~aQek^Y z%=Qp0QBWdie;=VDwSaXTvQAcY)#SR{>-9Su88;kmcfxT+WyX5LG&FH+>`7Gr9L=Ri zWTpLGmG5(o(Z*7DYa=~JpSESxpELwGb3Jk;;w-AjI>E6)8mr?HyyvoqWS`?c5~3&+ zAc-qTq7C@v{NO_R(eU)?@851dTIzIVs{c3LwCV}xM_hD#j*j#R|_L`UVsfFfG*Gd-*tH1*K8p2CYgC@tVx;X@a*jDyxAI%_oXD5;|7|G z^K$^Ffo;aMaRF;xPE>Qeag=Pe1xmKUCjtk5*%z{Fwab4=D)FabO%0a0+Jjvj{84hm zmq$e5@(1rArvs~r9NG~7-LEUYu#3rGkY?UIEyn(O()oIlz|$6tkP z%F$|R%5}KgLGR#nd}SSpZKyfS9cOxdTTF_W4E{&+?G0jbp8SeV;rz zLU(lnjy`XHw;tnA5cVkNK4@aUlqZH}hL-|1&0|nQ{QD$rLnc#6P^7j7E$g4#1+nTX z$cVVL3#MDodV3(&6Tjf{1)0hEyoyid? zsdcr!=X_R88xt=+Ml9KiRxQ<}5OTpfAkL+^zo#O)(nVQgbkN)HrK)N)=n2!)ytS!f z1+$ah+kx~Aj2r7QVndud^_&U7`CQ zLZJ72L?UrvVFA1X>jeqoNl(k*N8}HW9*eJ9S4)+ zD=M?lV&k@{{+Nn|y!BO9OG#F^0ScJqZvf0RQdUm*b_zZ$Q(oq}2d`IKYSr-a`|r8= z49dx%f@B>V<6K!#PcVh1m&8F|Ay0rJqR@0jO@8;u2M<3=zDD$t_^ApKOh=37O75-a zH0fIT?99xh*j9*Pr~=Oop@YrZ+8Pd9q{;@LvN0g1U!3CExa3?g|Djp*aa!w`o`zD$ z1X2Bg@h1HTC$YyQHd@RB63t3*Ot_EJD$Uj|?BKphB2WFUpG6Sgf{JD!f3rV-sWU8F zpahVjX#0ARJ|m%?(5`)3ap0leL+5GCb- zTlD1=GNmEgUTy&}l|#GO&Nx%A+;hEAKQ$=>iShwg2xKk9$H%A3z0Q#AQEV0B1}lcG zsda|6@8RXQ+Oev> zheI3C72hM?WAchEdh(&{F}Q6c(^8{EY2Th07IxTL0}KnU>au%amD!}wEotXz82;R- zPHN>RtgcoOyVR}gP|pDdo^uBMz*_lI(05Kebj!`)OH)hNDs|!@^ad zXQ)`kW6PuTcct|J&MheQHo>mN82%qv-LzI5`=p|iK`(`$pL0D>03P$zWE-`&`hmIg zK1czno@uG6HS4F_6_Kon=xl+gZ(?tGmti@n;l8HS&m}6?&vmMH{-fr(=; zpl45`L|MOdn0$pn_;mE^d@D?M5XCHXLV3p-`8*13CcAM{4=finMrTUTopF&cT^oA} zSNaunFWsqJu?z012A6{pPR(i?HZ#%S<-;yv1(s;#2a1f9HSXWD^8Ar)6k?=1Ukmoh z(D^U>tnb|U{W!gm!&E1Q*eN{k(R}+42?;54R`a#?)8oeVV5?-gaN!6&|F^}d3B-Id z!nAu*+*4FkhRpB1qSJAQ=70Gcv9l2=pdl}|Fo)1J?Z(Eaquz-Vt%^k{W z_xDE_Mb{vqg+VOU&a zm3hG7+gvDX{Ej0F#zyznHT&&Dd3}$6&Y;s=EcltyZdqIV<@>vlI(wknov(jI?^9aal7*{Z?kh91$%UXjeKGHx?tbH%JMrlq2Da*dq^ zYu_SJ&E7+;0C!6%#ymAOrAYk~R%Zt5^A2#FNWlTN)PP>kqM3p|;AE-gtjBcO0lf!z7mk9t6M+Pw ztAN5cEx;erLZ+c=ixRSDd6Dd-B$Opm>vMSS$ghcxJwuX2s>h@4@z4_V9if`L=jsZ+ zza}Jn3yH^CT6DHAg?N=%XsMyWOG-@C5<7uhO8m7VRDb=7pG(YcZ7eY{qTvhnGX*Oz z{Yz%1fk+z%uiN(9cgupmex@9vLtre#iEWh0uj)+S-85rXc)sc29Aq3pxIxt3J!sN= z`eIawc*h_ZOQEdl29ybaU|SYpTGld1>Db$Ovk@@3|9%1+D>XN{>6f$yJ&k?7J2nB!{gzQE?UZJMHx!80|C3}RM zpTO8CzsoZ~VImqvz%l2F#~GLGI*V2ZF?c$FoTyn(Z{H+Ce$U=MN9J<=!yW#jM?&^p zDrA@96Y(y&*pu`FP-!V520|fTUVG4g1D%ZYj_iQf)(IRfsIx;tLr2`@ zKqHTmDQ)C*1w}k`!#}C0zmAcYS2p!!z4AfN;>hQSGDMHdzg7GB<4%Pj_A>#i{mVsl98 z{K7$u$hBz$j6;%P@1ELfE)V~X?gR}DmrhX@VqNdI@h-SsstfspfnZOBBjU}QH$X!R zTe_J1k8u>ChllQ?HvpD|fWKww3`9x%cJ8DX708flH8y!Q{5{KJ4JB z(6WjvDbzHMvD7bjr?i5|nRt#^O$-fv{SrLW7VT@cr{^f=eUh1)3Lljo^e@}1L)Ln> zd^_`g;_eVp0sOp(+w#Tc0pGoK5|7UovQ&!~nNZ}krb!>Xpw-%+QQjN(pJRTUKhHxv zGbsM7aq*%ujK6lutd?}e%mUU6@FRDCVydgF`2+c&$ukA#xNcbjH%BUNd zV{xjd->s(Bx;CGZKV#bHZ(lxn9+Z_3@BkN~CB$EpIL)B-^auJ8dJ60s>0o61`0>cN z{T)dkI3;e^jy&%(3{>hu-w8x}|1)u7;8tyDc!M5qc_&dty->K&D{SYerT-WDizk0w z4X}AZG>)W$5l?x7nH0&AfP!bR)S0`vgK_U58aJtr-IU0x6+cwCe@1Ph;Mq6RNE!aZ zm^>OBcD8B8@LxY2bYYPZ5$#wk($Is!qDI@>mBG=z6tHDI5F$Z+4S$rWXl<|5f&$E$ zy=>=mW_duKr@#dD2P8OY_0$sSfHuY81ylpw-j@BT(fTEi-JKfRajR_-0DuH(R3@3J z>cP(o!Qia25zEl^VeL%6i*HZLOZXlEY|_?!%K0qFZ7nZl&!X$d$?Ax5a!X+|ruPTmBLYi%FvSpG=i z)(>1a0&`qvisw7ERpfrY`GK6AoIlg)gw>ohxS^fPQa6gd?Rt2VZ&%P}U`p|CSsiLgP2N%EB{g~ENyB{22&PQGV2nLnb03yug*%;)YKSIt2BK<&a0TpIUyy zgLem1kg1>MO5>?P5L5(hBAi}DcLU^ZG2gsC-Y;eJ`}Rau5ae2kZ%*fe#YaRe!rfd1G8 z`Q7d7epgC1mIQ=ZwoCh_QpvN@C3r19}_WiKa6op19GY+OecYuj2p!ULD{E1ok}@F8y) zh6SXir2(t4tSXhyrb>-OU`uVjk1gJt?@FE;^i~AMx=!{5^@5ANqUIMRQ;EEF(fsUpbJIqJ-gw->0^RZE=uNn$wV}iTzcf?=p|B^K zce5)7s!g z>9VzjM~H(tv!4NQTS=0SE^x`zab-7~fNmImHUU0sFHUCkd!eX6eO zh#Jm+~eCy)72PZ$nIpl z7i~T2R+${&sTg_S{Q!v(KiOwX3jaQu({o4P44){d6%lRYK36Z!E_7L#`J(WN9U}QN z{c-AwPWr^lOL?EWy2KS`!eE@i&!tk(+^xH4(}LJr5rYasr78V}gx_8FKDfTVe%%5& z(MRTI{_j@-1VyiI$~ul2I}F;#gBKw$0Kd>3YRAlzQcNN+Y(a`J`X^BDWu zcZ!B-l9OrL9K9RSuG5sQoe@j9y~*5v$VOb9)Zg6*1&T83#A+>-_)SSkNDfQuS)Q0V zC>V$b10lSgW?cNfWTl0>DNOQ2H>d89aY+k|S6G- znkaTH43{4o+YV(8UUBefFkRi7v%7@M*)9CXoZW#CmD$|fb7$h)1=8&d*JA2-m|@iJ zgSGplKDRYIf9)-|tczD+J3_b`Wo93f!Ey0{V!c_061S#mgLpv!@@FRO zzix_uE~qZ3(QWG(07vC5NtLiHdB)BH$-V`Ab#}q7#eD#|_?j0YxxOQOSpFBhfdl({ zwd{A)BaP}_TK48mLgiNo#V(kdy{6I&L3n8onc-0>xxQeP0i%j@2%{q;#5U5dJ6%Zf z5N+Cokyv^sCl_E`n|fU;si+gT??@qt53yp+7fePFRMijuG70=YKu-nv;ljRo@@y~V=@upNRHH*Ms zFa!W=$3$vP-t1-0E@6Tq{|mY0o6(|Ea=p! z!X;*B+d^#s`frytL(w@4IP#$r=7)r>jt-Rxm1vMUQo>VzA0b0352%V4MF>U}!ui>p~%^4#X z2U6e)xYd7o{{Ex8grlmC!FdZ$mcCLfNt9E zvnrJ>f525d`bLt`^?rAj;nAZ<6?$yN#^YXE!7Dt=tqy^5|Lib+DMr^2G9K;+0disF z4qhrB&9^hgg-m0=$c?!BIr~F12jMypw{ox{w^tA`Jum^r1>*l|mh5tF=KKVS8t>0` zrUFQHl7kFh&%>UGZc(n(;-uj$T^I+2(M=S)I!R~bXx=wZt-zcOz1R(pAcCR?Or{nT z_&&0(=s|nas|3apCmixtW8TT)H->SwZQ4AnE)V31_0g01m${2<6iu@`6P+>xdXS;S zD8sp&nPNl5Y{DUuy?3$lP_??TaSHC3tSG&G2xtOuOC#xF8i3x0-5sJ%4eXb}_?78! z{s(IE3nOaB0|~W)nJp&UEA2O3^%i?)S(D6FSP#qpR+gnH=sepG*(RNf5`jb8v(8x* zr%s;io?XC-To4UnZp7zs`hD%33$s&5n4Sq!(jMDj$2rvn;kej-+(MSbC79bGCnxtZ zRVih%$HQdJtTM3oAc}yDA`e({HF^xA$PWz09P2jMn#b_oaBCq~)}MiajVhHsS7Nzd zZoA*zsyZQ3q5XDi#5el9KvLj92wy#iNrd(6$A??4)v))Da~!ZC-Fn_{+EI{3PpqZsCv9ojR<1=cde^n|ToheznI*m2EUsY)tPfm_BhO zfA;%TdHkckT9N|4^)=FK#Y!-!=lJ`=TDwP%q^ZYWg@pH6Ck`DLx?1GQ?zVg<$>WF?gCd38v5 z>&BR(@S!4o;?^1ZZuc!78_T~h;fTB%L8pJYeE5M~u8ev_#xn1Ewd}C0jEqi^4IV-U z5EL&tcoQ&8#E;1;7Zny1)Ugt3<0kz7e}g|lw4tHg|F1Xb>SB5nc<~KbWq|U*Av6X@ z9`wZBXYta~(uN8b6`|qXkI$ZyUz|pLo~lg|W0GCncJb983g6it|IL$MU?R=u?9in{ zn})YKvT#@8yFLdF(`sJ#X1)A~>SDW0~ zAFA%dH_d+33$SiT1WNU)uH&a$t<^s<2)nLKq(pFseu~OSY3XxzugY1Q>$(ukAm*{< zF!S()$T@p<80QQ_!UMbWaW!`ZGCV^eUh&5&|yXpR-iHfOohDcO4Gh~4|bN5#6eo84&bz`>==qnC5lP61w3=O zby&aY)!8ja1{SxTrgOhsbkW>o)C@f2Y5jf9wqP~p)Z#+f(-s;@Djmk%ZNjH_^h#eW zoEP;t@gjwXBVo z`ntLdEUlMm;G7!NbUVJ>_~OM8)dZfLrFW93?Rd;$hW}d=v_9j^`ogq9n2Dn)mncVT z{INxjL6~~F^J3=n3D$R#O-n70wOKJAyhOPPZ`T#|Gw-b3yQ{N%D_fh|sg}rmLN#*4 zDX=%s{_92%9tP7F&qbB-u?dUa_28zCIk7bFw3aj(tHw;8q&_eU$+KYJYOSq}AFw{y zdlQr2fI)=q|NT&y`-JbCQ$)lpfVdhScR2lWPz=f}y~UXke>{~bfOu{3bx1S`k*yFq zwjbV9V%<5$hgB$}>JPmL&{I-6KtcYsrDe67ad-OigkoQuWXjM;-s!G0kah3mUX&$2 zcFVIu5X#vnP|i~5#tNfzoe1i&QJOohOWw|$ZK**!9hshHCmw~9h2EY%HD2C0z%dVm z@)(nJwBT73d0U@qppq&(Z(-crks($x>xhY%eF7BP45jxlYWBI4@tW21pRNT8D=X_e zB@;R{m+Y4N6?521{@`-2WUqD~eO7#w$($^9qV!D3?)#H-A5g4mO}Tu00@m`}yAOW6 zWa_-|avFU@u9ZUX)s1db=v#}vH{u@ubCLcmPn=8U z3E!@RH!Mm#`NwaP*H(o-r?+q{&u9H1`uw%=4!_Bz1DD2`bNb)bxU*VuTtU3 zI%3NC0c;&+I7NRvBJhxj7;%aa)=soFo)uZKl=kJ%A95al6#nRzw)Pk!KJYs9$Lbe8W5CQdedRhBuV)`zpA&+z$n7!YkYt<_QF=p$Q^ z(fZ3j`l~`Ety~S)LgtrI3JC_jntCbRFL`3+$lX+QW<8fqC46gnwf;d#|B`>QwW)tg zri<6@uXXmd(o|}X5{9HZ{hN3C+gaz>xvr=(V6t;^ zj&*v2@Usj$i;&n^T_lp#PQT2X2$(>l)5lJB8DdO};DE=LB{d*q`?_N*c z-GR1+cx;;gj&vXztE<)Wpn_^Uov=8?bS(fKV7yOc|HsK(O|QxV?p}PadFJ-!(C*8} zF9U8#g7nHEjlw5ZZw*qUK!d8uAifO|BKlbd*Uik>nm@ETEyMJz{6sa!1WxE#3GTOA z5tPrEa4yG z8`;-Em}qy*#_)d$bzSqTp(%AzSdMRx|D${xC_A*t@mI0avB z>T2yaiV9sHH$RVhsTLj3#Ob9fl5$-1uC>fnarwr_xsef(@=+=2Ddtbs)t`)3hs6RS;}nQCx~ktH zK<}tYyvWxl)C`VnI)A}a6*2k5NDDn@wt?c zbJVjoy{zD!4VNLPDORISuQhj^>1I(Ef1NY^rae`qe_VQm?Bks+E7`?Ya1Qlj>#Ulh zCW2A8uKvWaFnKkVBEh^n(c3ssVM9vBjT?cfDMHS}R@Y#k%V5R{ikh05W3iGm?CWlZ z^O(0DgW(gz=9_c3Jk6*FsP*WIi9ScQW9cg#dkaPl)0)U6{3_CVgL(ysGdUADLs$Cu z9AT^B#TvGwt$U4m8KKzs*j z+NLSS+QU;t{3Uw8>GZ+YD)=PE9cn-BI=4|G(y`Uq0matpwt$*E=MtQ6&F-Bw7@1L8 zS_=Pu6KD&b%on{2SbboLK*InduY4nGO2bMtoEWQq^I@+KdNS5o^;DrnC7Ar_;QGqV z*iqdR_8#pWEj9+5qCDoYt1sV#>zPfKQq=}&xnE>itx684PnDAGjtJ4RyFc_Adn!TF zWMk}FiklG_JQ#_Rj0m5OpEQqL+P_4@2Yn!C2?E?GG%oQ zdjP?a(1nW=-5L(Z!&VMw_X<*BcPeSbxVf!?!9wB>U^tFn+I`x>#zyWgD0>Ig?U~%P z;(5~8Pn>+avK%;zp^UjCZbwLH8kWaVb{(e)6_>G{^GRqry2#tbb5Gb+b^8=-%Y@kr-)~KvvPpl=7C!ct7t7scg6Vif zLe`O@zdGIHedwynk>jOKiUQN=(-&aY{NwR`ZYrLhVxpPrw-T7-heK(W6-V_p9_UYnXn-&`SBdY9x=>(WL~%81BH8$2Ulc>W=Kv=}JvfvLWVTk@P`% zyd;CwcwOz??CZ$Yd$7|5^`7`6&$SmkUr0Xa`A@|6`bn z{g5DtdUxCQc31zG85l-kwzv2Z$dO)m@psr%+g?KM;Oc=?2*{zROs5Mnmg1E9tm$~o zz_H?ee}DgQ(TgPCqReh9vH8Bx!?k*JGsSGFaS*aN*Wc=Rbc~TW`S__Gwm_bE$GcIw zaQs9Nlem&9*2~agh_tP?lXdQrkZ3Kdd0y#y=hJBtajQGwS)AvE3+--c;EOmXsYQ9V zZoGddnW9|jl);#=!+X$PKWxww8P3FW=EeH8<Ktw_SJ&=YDeU$yExs>(q5+oSL8nJ>)=t-yv{=gCrTqoUZh38# z2L4|p$32$;^`$)SsVjh914FXWZ4~%(PBSZ)tNEUY)-%*BRMjI#=KNUT*ZTTwVNW+0 zq3G*WajuB%!r7(z>d3*!?}xjrpRqlpSS#i>Pa6V@#>{8H>Lk z*b}6q+;uV%bImK~z2{-04Q~H>Zh_d9)WnJ_`DJfwOzBMgHnbc` zNb|t9q}2(wsK*Hg^sn^KbGA_S9oS8kOTe*H*{8QhsHT~HAnWgNPSlrj)eZuQb@EXvq`MEZ2P<1)G{PKsU+)@ES37U*u* zH#b3-JpSWHio~buf#d_PiJyi8`)}S_5B$Glv{(dK0hJ!@8%TivOzKlAN?|RDRbjl}e z#wTPhdwVUC?|%5z{Ri^=*U5?RhCvR7=0u2Xxh?C5DAP)3-;iAp)zL82GE{wUprv0r*wR8p*Macy zs>vDPDFGECmzWr%+wpz$^Y~{%++nNeqLvkzN1HvbD=RbJEu=rIfTKc-A%djKJzp@V zt0S(Eg>)J2{gsY5lDg*O>QOG%x4&-kN|13qZ|cEVl&EifN*8fHuCkNmM%IzaO;Z;m zrX8!}ki7dixrMgwx7(jm7)dpvNgI)T90cK4FoC%_aeY;!`8O^C!?>VySgq?}9?Va> zvu%ETW>Trj*wnnWCr+yR>7Tsf=+7_z-{HZ%yE+?mr8Tz+ye*>M5tJql56zqhn5pi# z6t!BQ_3mle1x(W6;;b$YWOe4LHIZCv@snLFrN*eTDKOOH=zN6`u}zf)5MEJ!;&Bh2mpH zLP7ShAbx`?=-gLL1%)`uoBOM%4^{Cdc`_YLCh^@@+^8VzBTKcN8ibhPp+5gq_I}gl*>b^A|WuZqIr^!v#2X?rm&6KSN%em8$2bL|#6@u@g zUeoN!2$rl;Iz)SQrAP(-oBMzljYak<;P=uh^V`yO{UUtASR1~JG2+FFd zh4g;&O`n~JF4bemPni4mFfehG7=sqmZ0n;gA38lw>^<3{ej8I}D#j9(Asa5Q_QZr; z$>ai0?6#`N{%LyZZ9|^egKCji%_`U~u$-dXzkJ}@9%ze!v7-lqkWlqB{)83T>P4l^ zM3uf3UP|RBO=eIgx3V(aKl!Vd&-Og$Ip=-Od7pEVl;cg3kI!?g`F1*2&wM%o9d)gHJ;<@${BeUqA|jGF zr(e8rJ>gD8EPCpRx!+`ooi9OPjaY6`&+)qs9wv4-d~UZ+uI23y3QjcnC)+5Cbe znmk&(4M>;A+5T5c*f;u@nae2DM*GF#mYZ2hht6BLZi?sgt3<>)x#Hs@3)eL_&;OEz z$ncTM1q`mi{q@cdbz-hEn;QUQaA<4PqTIHIMQXMe%df1&OkCg+Ma~tg*|&wWZz3Ma zEwJk+_6fY6MC$Q*oCWOSZB_Kib0~MYe!~F;IGf#wVFY7XhmC)RO zJv?`0>#GWKbMs;^U<;PDf+m({w6(P_UD|B&TO5&iao>ggT}HP+&(06O>BJp5efs`^ zq^ymg=jz#ufb!v3bNxWtVmNDeBS4dmwg=8pt5$-37))GG$ar+&CA`FW+As4_Q}iQh zGaiDFFqQ=K&@}&TTEr6Gy?=kkLly8MX@BSlcr738Q9C?7Rm$LTd5pVz+IS~Mx#p3~ zubx8gK&ZQ2cDc@`ykgZ0+s`Cf`rG^C&L(`c4$VK`64lvw%XeS1J%t#}8wC}q4>imF z#EO5h5v#<+#6W$Yis|l~H*bPi#T5r<#XXNe`-d^u|-VybEPN#O3#x^pEf600w8h_e>1~e8|Z&^572Q6R0IF5H9zVFMFOag z)CzL1?zPQshg5V7J{DJxg*OQ|s#mP}0{{Ml$ShF@8fSsYOiSe?fg7v++x1sQ!9d!PhbD?%Tr!BMYLjD ztjJd0qAr%v46+BYHRC3`pLwV)h}j!jaqJBKqskU944}YG^&R-7%EUG+`GLoSaLbR6 z|6N_(6qu|W2k;at*ay!u3vZeyuT6TgAoLjJ$@{|iDAgVE=1Hf|l{@YE65ZeCz7j5N zt@nU!g=&W({wy9aG&WATsiswlCprgo!wh3uQ}u^IZ1Tu|GN)Btn^*g#27v6Z>yG7Y(+u6}_eHJt1eC`Q0M(j_5Yy)Xj-|h~ zugU6M*fO{=7=Hb}Hbn8^=hNant((i$G4rQej&XoROF3FV>z?{a?3)ML^VuL%0}3^B zv$s{M@Xaqb=56amBugCBZ6<^NV(0OUywAq(GH!j~miHiaodFmM`~6s!k0pZU{zo@T z$@+sBI_SZ+v`Ik;fOqR?(Eo4-6TMFPKrGU0D*xCwRe$T+WI7DyFj4mboB{|AfNuEV z$sfjVt<~=PF5G&wpOX9M+Lh)JE>1DTLl+T+>o7}{pyvr zOR~wu$59AZE7g3RJKScN^<6-;o({YNuHoNEFVN!ghh;fP2hA41nkdLF1$98az6<1^ zE_*+8qR<#1fC6!mfm+Rj37~u2pxBuS<_;?qp0xf?&g$09AYRkDGTZt+eRh16KVO(bJSLU6PF;8K`uuvcZNFj800)f6D=q0E z>RG+G1u9)u$DJIXDrDM1f0h~2`(>>xMxUnmIIKQ0@vg;9WEcz@-Y;U%8o+LzH`+Wc zMM(@aqW(?Z!_yN!k_cK>#{KYe=m!rTjE|2eGKbZC4)}a_J2?3GxQ>p&v8Sb|0fh$r ziFvWeg9*L~7L?Z)(xo-`RK9z6L;T@Kjj4V`0}6lsD&RM@Sn@F28=83DB)jHE8?ppc zDFYhu5K@=EWc2g46(G}meRus3;Onoe1C8|8)~7x8i4Ll$IDT|t<>L<2u{EG`hn-(| zc*-wxbwH1TVCV-Ts5{;M18jG^3Cd(?W9+C!C1n_m7fj*8MPSUM=4xv&WrP#lr~hF+ zNJdvyR^s!@GXkrD!aaWcxRR36?v!;)5w5Qfo6$g<{{KYIU%xxU^3tVAoQEaPxI5yZ z!;`wR#B-6*v+)9{P^D3w_~RY*P`h~US>nATXZM~qjy=9J_EOCytKYXpJhu2lbN8a4 zm$nuZ%&jFU^F-!7+A^=rd^h;#^V0TBC6ndm@JPf=bqp;xkWd6YZ$K%h4|}j$?_sSk z2B7P~So3FY4^l+6)jMDiNBA4Im4gEXOc-!;JKjOlyWJ*ICQIkwg;=- z!CDQ!18_jCWAIu~XQ+(7HhMiV!GkUmT#i)$ZUmkTqsG$_K9u%ss z9cjyR$SZa(JuJF;#JA4W^@UdN`cH!1tDe(72&e+b;KB8Y_&!sHV%t zJ&I!vPG*&4*No5m>C566*rf{k82BQ59OQuW)+nMGj_+ct(A_^zUvI2hR35))Gx$c( zpJa-;ziau3#fFJ3*;JWtkGuy*-sb5{JYKW>%PkUN3O+xtp?d*KR6>3+JrT@8kbZ>B zch{`1D`L+pzqqt|%E-jVgRYxx;jdL{HbqqgE2ta2t!YsRnlBvip`y=h{^#v}y7j0t zZEUbjwpt&Mo|J!BsVFo+uBuLPX=#kf-t{B(fIkRo*@63T8@^D`B3edIJo;rz|MS*; zZ$L?kVib`K#=ris2#dk+a!}aiP_{v7LTx_RL}3Mdn;0o@gBqw~S4DOdd&$La_M2=8 zcrnxMTXVL9+j}t8f4sdc)a+?$YL&Nk)FBRSiT^#&t^sHVP)aAsN9T%eN-6DRsVS|P zZjphiq{{Di>eBw<#>=U+9@^qnC2CHNBdXWCN9Q)5;SNnQ|k}W z(|FmVpQf;U)S2n|0w|)m7-v$A{=I)R)6ZgDcNbOU?xKqH0@Sur*&U46`meVy`fD60Jz9>L zk&#iRVP*=Yz-9ZRHGBeMbwuz>gQJtnZy6ensG)lu3-Gjsc-xrmGpI2 zXk7%4;DYnb>EZ93m&QCF*Lan(od-H5l&M*R7QH`xWZhk+8j}0@y3@2v1O~T)B?6iH zpRS&HiNLfsutafj8~-g{z-AmPpO`_6K&_Nxu+pwwZ+`ml88?&w!`Q1LL7Qvw|FtU` z$io}|!(4q`K|Ph?$B#Eh5le*^*jo)HZ@Cv>G&-lWz1{)x45z3jaz9X00RLqC%f8M^ ziO~~58r)Wa)p*{W{*hV3-=uOgbLukY_8 zbFWW94)s3l3@TIzD%^e1^%oOcMv3PgcR!JOtfUkZvHS61tT(wsTVun;JFurr|V z^qhBQijk^{Oa-0S<|_UmId_{XpW{S3GUvkzTySU<5i~am`gv!@_W&@|0$G2vUmmC` zg^G2Mfd4Wcyue!}j?_b-wauG|y;Ig53<6d~KZ%WyIWuQHU|E9b2M+t3k46gm!`&i&F6A_TlJpi|EM zQqcJkfJWf+`24IuW>oEx!XZguPynrS&URbaDT)}c#uU?F-?h@rh-OOUr+SJtVKgMZ zIv6tpTOr3m$Wig8sd&<9%fEo-SwlpAcX?iJ?v-@klE{&w6-XuA&dQjG8Wg_)#cy=r zhav2`zTL2ZMJ>7TYcqJnVkDY4U&>triqL=@76z7#2T}xs6y1Fqe|-nMU$9{OM11xc z0Yq1%>${`-lez}3r6g?L6F0M{bV=;$Bp)_0(3+hY|3zyNghz0~dn3RbeJb zoWKuV@xPTq-_-xEgX<|j6>gaxIs;DvOsCv~?Z0L|bj#3kRJ23VyJ(_`pr(BpYFLoo zd2Hb(vYS4nMNe)v!h5yq#!K`b(M5Qy%ej(Puh9sa0i}|~pkYtHyoE8VM{??pd^LpA zzm&Fm>UbI>4bdy`vD7_9?N%wovGvC`!IR9JQxHCh2`+TP7f)uUoeBwr_V04?-ZKR!~tGs>}@m$7YywIAPEHryI zUe(pYy@2I93c7|S?L;M_)lvBEEVzod)e&wqWbIUF5a_#Uoi9i;cgYn{&cfK51{~EVh1H~%GWhT8tcZSQ@{#2HuC-k(a?x~pUlHH z97c&_>TUOc8!x-WFFBLB^PNDLZpN^Kz6_nk%+8DhgL(c%%pff z^-u6{*cbzno@$(3G?}mkoh8!ncp+*a=>V&jbrDW;gG<-^k<5Sx&gNX>?~gm4NKRHC zJJ=HE2u394Y?UVjH`V9LdOp@)9G+IIgZ!|TJ&0qzSK5i-jnaZ8NN$e2F52oX zz}U=Y8F5l9>hh1Ru1srmW&CHAYSXK5Q(Q(;e7CEyv8APAOs&onl|1q`qoQ3=7H{+( zWwC?eCxhD zIfWcsGR~Y%-4u|l=jqjTsUsi#Tnf&MuF+t83w(gM)et27*P$X}cr7lt;M!EWDrT?of{cAPXZD`s_)1EX>@-ohjRG)7b$f9u->CNKzz){CuJ}ii@<2hb z82kzBo4=g9z2zya$kuMupa2}&foKw}(3xI)5qreq6M>>(^!#yB_bT$=tY<}D9mRL- zLXi^Dg5M`&`{mM=L8yY?IH+^7NzOqTRp3qJeC+NoKzpRg5d`>r7?H@vb)R5JNW?5D*3?4x|~wI&txqb7gpcWaCTf$o=MEgLJMz)NV}KpmI*#x zHhMNmwNzb=()=7-UOiyANY6CmK-3CWuJ=lBx~TT#^T03ZkeOl=vMVSJ4LLx~sjeo$ zJQx{~trmip5`Qc^*+hxhuLwKtbt<=)Ntkz?OmopvFFGM`+)4I30H59<9VnjcZK5uH zmd@Mky3%s(E-zJFhT!8^U_$BV1{XSu%pT`l(Bk;A2(pxX!w-@cxFx;@6q`Cr?}AHe zu23xsm%eefTLb2z7F??uzq5%!Pq_F0A38>qRdIR-4$q@W4eH zW7>Ez%4>^r(sNP=%eaB%CnLQ3`k>JZ{fpT(hi5BTlB;n5SM6OE?g~kdR86pLe-H;$ z(vbhwRtToOz{3z1k#Apy^EM-K&AX>e=I0x|6OF~mt!S*3uhnz!P4e1W?>IN?JFjDk z9be%Kzxp#XIeOlnHpXq?$l@5%CGK-FwC@s>_{rlFc!OP^L?fX!{M?kG%-F8=3Troz zBU{*QHx!|!-u<3l$P&VyhdBDC?JfriTw5pzuCyi0jMk@tm;T6^Zz*>w0=Ukpp zPor%<6FHn+aFu01xZhXnqm}L7Xl;5`+#gb6QgF?LkyZ@U_9&wWAg4|{K@`SwM5($phh{|*OyqCGRtGkS=j(RB$ zC8Qg9^d0b`GZCI6Y&UVm6Htw7qzVH2d!A*Qgo1Q}%05#`#T(ly4P9J|h6o$=(S6rk zhgQD{ZwkC(r|vvnODlhVL;-jTUV1h--jWuCh}@fSCxgIM_7lU69fi*|EzUGFF2vM6 z*(r$no_D$kTFYf2G#50?2;D$705FY$u%18bfKmX=Y;Q~K~pnIF_Z1eZNnAcW8xYdndvE`u=ZR9UIFI5s6<5RrX$bYrY9=TvN}n_?c*$E2};S|9<|S` zx&-h3&Nc-e6-`{lY`z_EL^RsebRt>LU;2zyN*XM@E8!$$7Ot<8JBQ8FK;LXXLm zM%{gsg{}vu3Tw5}k(A5nXo-)tzHqgL)mkug^bSGUYgQ-ivT<%eNn<(%*NLk;s5E(g z$_arXGZ06Zewo=My7+arvcurS`N3HqT}g;K56k*E6h3jba7=^Eeu-4fYP7Q@wFK>1 zZ1~7HQ>)&$@AV+QkMMY`YjJn1buH(bEv_1-acBB8^Br&IOP^zx#mgv6pzNJuuS2NI zk!?PrE{1DI!+}=t3y<$cb>w3tnFWwGCHy6j_T2xO^`ZCgl)?#sQt_*Hz2wkIG~&@2 zVr2=sID-OvElyzQl~jsz|D>OVu(ck5^#R+xCeZYnhwG|!28$@`n~JKj()&%5Sh~*;G~< z2okbwq|}_j7A9kR%XLD%3huK6d|%`^*r&WJ)h~x;voJNUm?;`-syB%0MZZyy=ug{M z{b!aL?p?772WZ&hd`Btf0lc_j`sIMcp+89U7Z$O6r*g2h?fqfBN4!p>lN0-%?BQ*LD-n*mYt;cCV5i$;NNwdP>b#4lq4=p zpvf%#%`=c21T32|h9r)LVl^;oIUez8%91>-8Vn@8LP8&Sy!*+d+eoBzyj-3y3HVkS z{MjtCa2(hl!p_g!*6PgY!Xs3}cpkbq!)cQKx<$>pipz=Y(Mrd*J-?i}5#_xmIi=Z~!yjQz1c zr(KL`S$9K=I_el%FxE*;1+y`PR~+IOBcHs6Rb)LI8U}C-DCD7B{W1{G8z3AGwQp?| z4$KK1^YdBM-%fdOD}c6~0(rp;XirWEyE8-Owo61GKv7y<@w|^82Xj3@(8nv)s&Oz^ z8U9K-?YWhQ8)xr_tZ-puq4`RI?QLM^5T=>%PgO>F8GI*Eg(_M;#@lMvc$Uht1C%(p zi#vyR(u;Cj){GpfM$fvuUDmcE!@Z_>FaXa;N|vZmn;eV~Nzi3#nB{bvcSovE^w^Pk z06dWye8UseZrW=drg{+fk2CA#$vm3IOw0#ew|lZEbsd zP?LSTm7U#d8#i|W+b6i`nr}opU0R9)xN6@*NGi61*Ee4~$RO0tE#nNIb9x6|<*i>} zVeqUJbZGb1aIh$=LttVxOOt+=Z!;t8DRi!DoQfLsiqiyT0aW?bH^I`%OD@w@J$SY$ zS_nLuGBzdVd?vHmsXgyKJj! z>nQSx$!TwkBTZ6+5dB=aoMJ$@vBFzwUf!|%s>0Q}3z?SNt8 zolv9iz-dqn3-hz|4=04Z@A%VcsIlXwV6^FI2Y2c0{76GVAz>R7N8x(TgoLqNsfwgg&P|}S~#|zG{^kY9K(mZJm>yX8} zK+v$%dBG$IXAfu_g0mWv+#g!VdEZ9L!4CQZAb!%U-~ul>Cmw{sDfu=Xj3Sxx6r;9{ zlHQxV=`ynlzaaG{`2mu6Pmd?ImAR9I0T2Z)b+l@^_G}n?axhd*1+tWje-NXCw4~n! zC5%m|b`T0@1xJU3?_f@RtOKzD5b8Jf9{F5~i*WGvTtK8(BWFcUBJM6uN%=fHD(8`$ zOn2xIP$v)5u9f5^GrNI%2dPHE?YbjB-Zc&jV;U7=ggri?-AKG2a9f-*yFT>|l@#I) z1CYuP)$D6cWUevh{hwKakk>kth_jJG@6t+GR?i9J3~S?VYSyxFg`7Ov@WQ?3p46aH z7)o^(XfjTNM}w$)w|{Uh8h*6*k%YWac9AE@EkJgftO(Yuk-y`Qb+hA5#Y2Z$GS31S zXquP4Q9j#x?XHd@T*+T4k~b3Z0vKY!Y#tS3?}@au9DNsp3^p{)cghm<=d@NDf(YLM zbjF5B2Q0s|!3Kasqqf#o2*Uq^0PV$aL_|?$Z9uYezvRjayoqU zx1NWFVck7<a@)*V5!< zTM{0yK6x$EtRZv|l=W{JehFx9E%+55RG40FNl!#9xs(v>cytL|&2J2r7*ZV5hz)O-E}u;Nbj*{39@e=Bo%xG4AaoO;BgvDSw-~3R>$>g3b%|Q^dvTUrFRqbGMmcK9@Tr? z=!x?PQPB^FB@U`(A`dcdd+7>;2ILpI$3zuvzziC?$FzE+Y6{{5e#g-GSEYThE;9?O z5y-noRo-}67edAaS5&XptKLSmrs+b`dMWNP^kh%sVsJ?adYSC(H>ArqAMd=sBrKzyd5Ne6839zxdx z8vbZl@uuUP<27o@WAb%l=0e3WFG-ZE#M&No{oTtgFi3AfO)R~Jq4#L(tCX(^kdA3W zU7PyLmLq!A`td>v1i|+opzgV-gBGe_f=dr3kLehSz|}Ckm%ZH)xZwwNi&TFb)u?B_ zYmv)@bcU~c&m+wvSFIm;3q;}2tVH1-rTZmcIi1+-+_|%=s%kad1w_kUVF6nL2K^Up zc-ocvsUqh8slRbTO@ivT$ zFH$U-SVG~{3btD~bs2x+rw+A#TS S^Y!1r&#}Y0+G&T(Z~h-+*>QdV literal 0 HcmV?d00001 diff --git a/docs/configexamples/index.rst b/docs/configexamples/index.rst index 36d3869b..7f173b4a 100644 --- a/docs/configexamples/index.rst +++ b/docs/configexamples/index.rst @@ -24,6 +24,9 @@ This chapter contains various configuration examples: segment-routing-isis nmp ansible + ipsec-cisco-policy-based + ipsec-cisco-route-based + ipsec-pa-route-based policy-based-ipsec-and-firewall site-2-site-cisco diff --git a/docs/configexamples/ipsec-cisco-policy-based.rst b/docs/configexamples/ipsec-cisco-policy-based.rst new file mode 100644 index 00000000..e3939edf --- /dev/null +++ b/docs/configexamples/ipsec-cisco-policy-based.rst @@ -0,0 +1,355 @@ +:lastproofread: 2025-06-26 + +.. _examples-ipsec-cisco-policy-based: + +########################################################## +Policy-based Site-to-Site VPN IPsec between VyOS and Cisco +########################################################## + +This document is to describe a basic setup using policy-based +site-to-site VPN IPsec. In this example we use VyOS 1.5 and +Cisco IOS. Cisco initiates IPsec connection only if interesting +traffic present. For stable work we recommend configuring an +initiator role on VyOS side. + +Network Topology +================ + +.. image:: /_static/images/cisco-vpn-ipsec.png + :align: center + :alt: Network Topology Diagram + +Prerequirements +=============== + +**VyOS:** + ++---------+----------------+ +| WAN IP | 10.0.1.2/30 | ++---------+----------------+ +| LAN1 IP | 192.168.0.1/24 | ++---------+----------------+ +| LAN2 IP | 192.168.1.1/24 | ++---------+----------------+ + +**Cisco:** + ++---------+-----------------+ +| WAN IP | 10.0.2.2/30 | ++---------+-----------------+ +| LAN1 IP | 192.168.10.1/24 | ++---------+-----------------+ +| LAN2 IP | 192.168.11.1/24 | ++---------+-----------------+ + +**IKE parameters:** + ++-------------------+---------+ +| Encryption | AES-256 | ++-------------------+---------+ +| HASH | SHA-1 | ++-------------------+---------+ +| Diff-Helman Group | 14 | ++-------------------+---------+ +| Life-Time | 28800 | ++-------------------+---------+ +| IKE Version | 2 | ++-------------------+---------+ + +**IPsec parameters:** + ++------------+---------+ +| Encryption | AES-256 | ++------------+---------+ +| HASH | SHA-256 | ++------------+---------+ +| Life-Time | 3600 | ++------------+---------+ +| PFS | disable | ++------------+---------+ + +**Traffic Selectors** + 192.168.0.0/24 <==> 192.168.10.0/24 + + 192.168.1.0/24 <==> 192.168.11.0/24 + +**Hosts configuration** + ++--------+--------------+ +| PC1 IP | 192.168.0.2 | ++--------+--------------+ +| PC2 IP | 192.168.1.2 | ++--------+--------------+ +| PC3 IP | 192.168.10.2 | ++--------+--------------+ +| PC4 IP | 192.168.11.2 | ++--------+--------------+ + +Configuration +============= + +.. note:: Pfs is disabled in Cisco by default. + +VyOS +---- + +.. code-block:: none + + set interfaces ethernet eth0 address '10.0.1.2/30' + set interfaces ethernet eth1 address '192.168.0.1/24' + set interfaces ethernet eth2 address '192.168.1.1/24' + set protocols static route 0.0.0.0/0 next-hop 10.0.1.1 + set vpn ipsec authentication psk AUTH-PSK id '10.0.1.2' + set vpn ipsec authentication psk AUTH-PSK id '10.0.2.2' + set vpn ipsec authentication psk AUTH-PSK secret 'dGVzdA==' + set vpn ipsec authentication psk AUTH-PSK secret-type 'base64' + set vpn ipsec esp-group ESP-GRPOUP lifetime '3600' + set vpn ipsec esp-group ESP-GRPOUP pfs 'disable' + set vpn ipsec esp-group ESP-GRPOUP proposal 10 encryption 'aes256' + set vpn ipsec esp-group ESP-GRPOUP proposal 10 hash 'sha256' + set vpn ipsec ike-group IKE-GROUP close-action 'start' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection action 'restart' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection interval '10' + set vpn ipsec ike-group IKE-GROUP key-exchange 'ikev2' + set vpn ipsec ike-group IKE-GROUP lifetime '28800' + set vpn ipsec ike-group IKE-GROUP proposal 10 dh-group '14' + set vpn ipsec ike-group IKE-GROUP proposal 10 encryption 'aes256' + set vpn ipsec ike-group IKE-GROUP proposal 10 hash 'sha1' + set vpn ipsec site-to-site peer CISCO authentication local-id '10.0.1.2' + set vpn ipsec site-to-site peer CISCO authentication mode 'pre-shared-secret' + set vpn ipsec site-to-site peer CISCO authentication remote-id '10.0.2.2' + set vpn ipsec site-to-site peer CISCO connection-type 'initiate' + set vpn ipsec site-to-site peer CISCO default-esp-group 'ESP-GRPOUP' + set vpn ipsec site-to-site peer CISCO ike-group 'IKE-GROUP' + set vpn ipsec site-to-site peer CISCO local-address '10.0.1.2' + set vpn ipsec site-to-site peer CISCO remote-address '10.0.2.2' + set vpn ipsec site-to-site peer CISCO tunnel 1 local prefix '192.168.0.0/24' + set vpn ipsec site-to-site peer CISCO tunnel 1 remote prefix '192.168.10.0/24' + set vpn ipsec site-to-site peer CISCO tunnel 2 local prefix '192.168.1.0/24' + set vpn ipsec site-to-site peer CISCO tunnel 2 remote prefix '192.168.11.0/24' + +Cisco +----- + +.. code-block:: none + + crypto ikev2 proposal aes-cbc-256-proposal + encryption aes-cbc-256 + integrity sha1 + group 14 + ! + crypto ikev2 policy policy1 + match address local 10.0.2.2 + proposal aes-cbc-256-proposal + ! + crypto ikev2 keyring keys + peer VyOS + address 10.0.1.2 + pre-shared-key local test + pre-shared-key remote test + ! + crypto ikev2 profile IKEv2-profile + match identity remote address 10.0.1.2 255.255.255.255 + authentication remote pre-share + authentication local pre-share + keyring local keys + lifetime 28800 + ! + crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac + mode tunnel + ! + crypto map IPSEC-map 10 ipsec-isakmp + set peer 10.0.1.2 + set security-association lifetime seconds 3600 + set transform-set TS + set ikev2-profile IKEv2-profile + match address cryptoacl + ! + interface GigabitEthernet0/0 + ip address 10.0.2.2 255.255.255.252 + crypto map IPSEC-map + ! + interface GigabitEthernet0/1 + ip address 192.168.10.1 255.255.255.0 + ! + interface GigabitEthernet0/2 + ip address 192.168.11.1 255.255.255.0 + ! + ip route 0.0.0.0 0.0.0.0 10.0.2.1 + ! + ip access-list extended cryptoacl + permit ip 192.168.10.0 0.0.0.255 192.168.0.0 0.0.0.255 + permit ip 192.168.11.0 0.0.0.255 192.168.1.0 0.0.0.255 + + + +Monitoring +========== + +Monitoring on VyOS side +----------------------- + +IKE SAs: + +.. code-block:: none + + vyos@vyos:~$ show vpn ike sa + Peer ID / IP Local ID / IP + ------------ ------------- + 10.0.2.2 10.0.2.2 10.0.1.2 10.0.1.2 + + State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time + ----- ------ ------- ---- --------- ----- ------ ------ + up IKEv2 AES_CBC_256 HMAC_SHA1_96 MODP_2048 no 304 26528 + +IPsec SAs: + +.. code-block:: none + + vyos@vyos:~$ show vpn ipsec sa + Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal + -------------- ------- -------- -------------- ---------------- ---------------- ----------- ----------------------------- + CISCO-tunnel-1 up 6m6s 0B/0B 0/0 10.0.2.2 10.0.2.2 AES_CBC_256/HMAC_SHA2_256_128 + CISCO-tunnel-2 up 6m6s 0B/0B 0/0 10.0.2.2 10.0.2.2 AES_CBC_256/HMAC_SHA2_256_128 + +Monitoring on Cisco side +------------------------ + +IKE SAs: + +.. code-block:: none + + Cisco#show crypto ikev2 sa + IPv4 Crypto IKEv2 SA + + Tunnel-id Local Remote fvrf/ivrf Status + 1 10.0.2.2/4500 10.0.1.2/4500 none/none READY + Encr: AES-CBC, keysize: 256, PRF: SHA1, Hash: SHA96, DH Grp:14, Auth sign: PSK, Auth verify: PSK + Life/Active Time: 28800/471 sec + + IPv6 Crypto IKEv2 SA + + +IPsec SAs: + +.. code-block:: none + + Cisco#show crypto ipsec sa + + interface: GigabitEthernet0/0 + Crypto map tag: IPSEC-map, local addr 10.0.2.2 + + protected vrf: (none) + local ident (addr/mask/prot/port): (192.168.11.0/255.255.255.0/0/0) + remote ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0) + current_peer 10.0.1.2 port 4500 + PERMIT, flags={origin_is_acl,} + #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0 + #pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0 + #pkts compressed: 0, #pkts decompressed: 0 + #pkts not compressed: 0, #pkts compr. failed: 0 + #pkts not decompressed: 0, #pkts decompress failed: 0 + #send errors 0, #recv errors 0 + + local crypto endpt.: 10.0.2.2, remote crypto endpt.: 10.0.1.2 + plaintext mtu 1438, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet0/0 + current outbound spi: 0xC81F83DA(3357508570) + PFS (Y/N): N, DH group: none + + inbound esp sas: + spi: 0x8C63C51E(2355348766) + transform: esp-256-aes esp-sha256-hmac , + in use settings ={Tunnel, } + conn id: 23, flow_id: SW:23, sibling_flags 80000040, crypto map: IPSEC-map + sa timing: remaining key lifetime (k/sec): (4231729/3585) + IV size: 16 bytes + replay detection support: Y + Status: ACTIVE(ACTIVE) + + inbound ah sas: + + inbound pcp sas: + + outbound esp sas: + spi: 0xC81F83DA(3357508570) + transform: esp-256-aes esp-sha256-hmac , + in use settings ={Tunnel, } + conn id: 24, flow_id: SW:24, sibling_flags 80000040, crypto map: IPSEC-map + sa timing: remaining key lifetime (k/sec): (4231729/3585) + IV size: 16 bytes + replay detection support: Y + Status: ACTIVE(ACTIVE) + + outbound ah sas: + + outbound pcp sas: + + protected vrf: (none) + local ident (addr/mask/prot/port): (192.168.10.0/255.255.255.0/0/0) + remote ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0) + current_peer 10.0.1.2 port 4500 + PERMIT, flags={origin_is_acl,} + #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0 + #pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0 + #pkts compressed: 0, #pkts decompressed: 0 + #pkts not compressed: 0, #pkts compr. failed: 0 + #pkts not decompressed: 0, #pkts decompress failed: 0 + #send errors 0, #recv errors 0 + + local crypto endpt.: 10.0.2.2, remote crypto endpt.: 10.0.1.2 + plaintext mtu 1438, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet0/0 + current outbound spi: 0xC40C7A20(3289152032) + PFS (Y/N): N, DH group: none + + inbound esp sas: + spi: 0x2948B6CB(692631243) + transform: esp-256-aes esp-sha256-hmac , + in use settings ={Tunnel, } + conn id: 21, flow_id: SW:21, sibling_flags 80000040, crypto map: IPSEC-map + sa timing: remaining key lifetime (k/sec): (4194891/3581) + IV size: 16 bytes + replay detection support: Y + Status: ACTIVE(ACTIVE) + + inbound ah sas: + + inbound pcp sas: + + outbound esp sas: + spi: 0xC40C7A20(3289152032) + transform: esp-256-aes esp-sha256-hmac , + in use settings ={Tunnel, } + conn id: 22, flow_id: SW:22, sibling_flags 80000040, crypto map: IPSEC-map + sa timing: remaining key lifetime (k/sec): (4194891/3581) + IV size: 16 bytes + replay detection support: Y + Status: ACTIVE(ACTIVE) + + outbound ah sas: + + outbound pcp sas: + +Checking Connectivity +--------------------- + +ICMP packets from PC1 to PC3. + +.. code-block:: none + + PC1> ping 192.168.10.2 + + 84 bytes from 192.168.10.2 icmp_seq=1 ttl=62 time=8.479 ms + 84 bytes from 192.168.10.2 icmp_seq=2 ttl=62 time=3.344 ms + 84 bytes from 192.168.10.2 icmp_seq=3 ttl=62 time=3.139 ms + 84 bytes from 192.168.10.2 icmp_seq=4 ttl=62 time=3.176 ms + 84 bytes from 192.168.10.2 icmp_seq=5 ttl=62 time=3.978 ms + +ICMP packets from PC2 to PC4. + +.. code-block:: none + + PC2> ping 192.168.11.2 + + 84 bytes from 192.168.11.2 icmp_seq=1 ttl=62 time=9.687 ms + 84 bytes from 192.168.11.2 icmp_seq=2 ttl=62 time=3.286 ms + 84 bytes from 192.168.11.2 icmp_seq=3 ttl=62 time=2.972 ms diff --git a/docs/configexamples/ipsec-cisco-route-based.rst b/docs/configexamples/ipsec-cisco-route-based.rst new file mode 100644 index 00000000..f7b0ddbe --- /dev/null +++ b/docs/configexamples/ipsec-cisco-route-based.rst @@ -0,0 +1,405 @@ +:lastproofread: 2025-06-26 + +.. _examples-ipsec-cisco-route-based: + +######################################################### +Route-based Site-to-Site VPN IPsec between VyOS and Cisco +######################################################### + +This document is to describe a basic setup using route-based +site-to-site VPN IPsec. In this example we use VyOS 1.5 and +Cisco IOS. Cisco initiates IPsec connection only if interesting +traffic present. For stable work we recommend configuring an +initiator role on VyOS side. OSPF is selected as routing protocol +inside the tunnel. + +Network Topology +================ + +.. image:: /_static/images/cisco-vpn-ipsec.png + :align: center + :alt: Network Topology Diagram + +Prerequirements +=============== + +**VyOS:** + ++---------+----------------+ +| WAN IP | 10.0.1.2/30 | ++---------+----------------+ +| LAN1 IP | 192.168.0.1/24 | ++---------+----------------+ +| LAN2 IP | 192.168.1.1/24 | ++---------+----------------+ + +**Cisco:** + ++---------+-----------------+ +| WAN IP | 10.0.2.2/30 | ++---------+-----------------+ +| LAN1 IP | 192.168.10.1/24 | ++---------+-----------------+ +| LAN2 IP | 192.168.11.1/24 | ++---------+-----------------+ + +**IKE parameters:** + ++-------------------+---------+ +| Encryption | AES-128 | ++-------------------+---------+ +| HASH | SHA-1 | ++-------------------+---------+ +| Diff-Helman Group | 14 | ++-------------------+---------+ +| Life-Time | 28800 | ++-------------------+---------+ +| IKE Version | 1 | ++-------------------+---------+ + +**IPsec parameters:** + ++------------+---------+ +| Encryption | AES-256 | ++------------+---------+ +| HASH | SHA-256 | ++------------+---------+ +| Life-Time | 3600 | ++------------+---------+ +| PFS | disable | ++------------+---------+ + +**Hosts configuration** + ++--------+--------------+ +| PC1 IP | 192.168.0.2 | ++--------+--------------+ +| PC2 IP | 192.168.1.2 | ++--------+--------------+ +| PC3 IP | 192.168.10.2 | ++--------+--------------+ +| PC4 IP | 192.168.11.2 | ++--------+--------------+ + +Configuration +============= + +.. note:: Pfs is disabled in Cisco by default. + +VyOS +---- + +.. code-block:: none + + set interfaces ethernet eth0 address '10.0.1.2/30' + set interfaces ethernet eth1 address '192.168.0.1/24' + set interfaces ethernet eth2 address '192.168.1.1/24' + set interfaces vti vti1 address '10.100.100.1/30' + set interfaces vti vti1 mtu '1438' + set protocols ospf area 0 network '10.100.100.0/30' + set protocols ospf area 0 network '192.168.0.0/24' + set protocols ospf area 0 network '192.168.1.0/24' + set protocols ospf interface eth1 passive + set protocols ospf interface eth2 passive + set protocols ospf interface vti1 network 'point-to-point' + set protocols ospf parameters router-id '2.2.2.2' + set protocols static route 0.0.0.0/0 next-hop 10.0.1.1 + set vpn ipsec authentication psk AUTH-PSK id '10.0.1.2' + set vpn ipsec authentication psk AUTH-PSK id '10.0.2.2' + set vpn ipsec authentication psk AUTH-PSK secret 'dGVzdA==' + set vpn ipsec authentication psk AUTH-PSK secret-type 'base64' + set vpn ipsec esp-group ESP-GRPOUP lifetime '3600' + set vpn ipsec esp-group ESP-GRPOUP pfs 'disable' + set vpn ipsec esp-group ESP-GRPOUP proposal 10 encryption 'aes256' + set vpn ipsec esp-group ESP-GRPOUP proposal 10 hash 'sha256' + set vpn ipsec ike-group IKE-GROUP close-action 'start' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection action 'restart' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection interval '10' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection timeout '30' + set vpn ipsec ike-group IKE-GROUP key-exchange 'ikev1' + set vpn ipsec ike-group IKE-GROUP lifetime '28800' + set vpn ipsec ike-group IKE-GROUP proposal 10 dh-group '14' + set vpn ipsec ike-group IKE-GROUP proposal 10 encryption 'aes128' + set vpn ipsec ike-group IKE-GROUP proposal 10 hash 'sha1' + set vpn ipsec options disable-route-autoinstall + set vpn ipsec site-to-site peer CISCO authentication local-id '10.0.1.2' + set vpn ipsec site-to-site peer CISCO authentication mode 'pre-shared-secret' + set vpn ipsec site-to-site peer CISCO authentication remote-id '10.0.2.2' + set vpn ipsec site-to-site peer CISCO connection-type 'initiate' + set vpn ipsec site-to-site peer CISCO default-esp-group 'ESP-GRPOUP' + set vpn ipsec site-to-site peer CISCO ike-group 'IKE-GROUP' + set vpn ipsec site-to-site peer CISCO local-address '10.0.1.2' + set vpn ipsec site-to-site peer CISCO remote-address '10.0.2.2' + set vpn ipsec site-to-site peer CISCO vti bind 'vti1' + +Cisco +----- + +.. code-block:: none + + crypto isakmp policy 10 + encr aes + authentication pre-share + group 14 + lifetime 28800 + crypto isakmp key test address 10.0.1.2 + ! + ! + crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac + mode transport + ! + crypto ipsec profile IPsec-profile + set transform-set TS + ! + ! + ! + ! + ! + ! + ! + interface Loopback0 + ip address 1.1.1.1 255.255.255.255 + ! + interface Tunnel10 + ip address 10.100.100.2 255.255.255.252 + ip ospf network point-to-point + tunnel source GigabitEthernet0/0 + tunnel mode ipsec ipv4 + tunnel destination 10.0.1.2 + tunnel protection ipsec profile IPsec-profile + ! + interface GigabitEthernet0/0 + ip address 10.0.2.2 255.255.255.252 + duplex auto + speed auto + media-type rj45 + ! + interface GigabitEthernet0/1 + ip address 192.168.10.1 255.255.255.0 + duplex auto + speed auto + media-type rj45 + ! + interface GigabitEthernet0/2 + ip address 192.168.11.1 255.255.255.0 + duplex auto + speed auto + media-type rj45 + ! + router ospf 1 + router-id 1.1.1.1 + passive-interface GigabitEthernet0/1 + passive-interface GigabitEthernet0/2 + network 10.100.100.0 0.0.0.3 area 0 + network 192.168.10.0 0.0.0.255 area 0 + network 192.168.11.0 0.0.0.255 area 0 + ! + ip route 0.0.0.0 0.0.0.0 10.0.2.1 + + + +Monitoring +========== + +Monitoring on VyOS side +----------------------- + +IKE SAs: + +.. code-block:: none + + vyos@vyos:~$ show vpn ike sa + Peer ID / IP Local ID / IP + ------------ ------------- + 10.0.2.2 10.0.2.2 10.0.1.2 10.0.1.2 + + State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time + ----- ------ ------- ---- --------- ----- ------ ------ + up IKEv1 AES_CBC_128 HMAC_SHA1_96 MODP_2048 no 8175 18439 + + + +IPsec SAs: + +.. code-block:: none + + vyos@vyos:~$ show vpn ipsec sa + Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal + ------------ ------- -------- -------------- ---------------- ---------------- ----------- ----------------------------- + CISCO-vti up 34m59s 17K/14K 224/213 10.0.2.2 10.0.2.2 AES_CBC_256/HMAC_SHA2_256_128 + +OSPF Neighbor Status: + +.. code-block:: none + + vyos@vyos:~$ show ip ospf neighbor + + Neighbor ID Pri State Up Time Dead Time Address Interface RXmtL RqstL DBsmL + 1.1.1.1 1 Full/- 1h29m37s 39.317s 10.100.100.2 vti1:10.100.100.1 0 0 0 + +Routing Table: + +.. code-block:: none + + vyos@vyos:~$ show ip route + Codes: K - kernel route, C - connected, L - local, S - static, + R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, + f - OpenFabric, t - Table-Direct, + > - selected route, * - FIB route, q - queued, r - rejected, b - backup + t - trapped, o - offload failure + + + S>* 0.0.0.0/0 [1/0] via 10.0.1.1, eth0, weight 1, 00:07:54 + C>* 10.0.1.0/30 is directly connected, eth0, weight 1, 00:07:59 + L>* 10.0.1.2/32 is directly connected, eth0, weight 1, 00:07:59 + O 10.100.100.0/30 [110/1] is directly connected, vti1, weight 1, 00:07:50 + C>* 10.100.100.0/30 is directly connected, vti1, weight 1, 00:07:50 + L>* 10.100.100.1/32 is directly connected, vti1, weight 1, 00:07:50 + O 192.168.0.0/24 [110/1] is directly connected, eth1, weight 1, 00:07:54 + C>* 192.168.0.0/24 is directly connected, eth1, weight 1, 00:07:59 + L>* 192.168.0.1/32 is directly connected, eth1, weight 1, 00:07:59 + O 192.168.1.0/24 [110/1] is directly connected, eth2, weight 1, 00:07:54 + C>* 192.168.1.0/24 is directly connected, eth2, weight 1, 00:07:59 + L>* 192.168.1.1/32 is directly connected, eth2, weight 1, 00:07:59 + O>* 192.168.10.0/24 [110/2] via 10.100.100.2, vti1, weight 1, 00:07:34 + O>* 192.168.11.0/24 [110/2] via 10.100.100.2, vti1, weight 1, 00:07:34 + +Monitoring on Cisco side +------------------------ + +IKE SAs: + +.. code-block:: none + + Cisco#show crypto isakmp sa + IPv4 Crypto ISAKMP SA + dst src state conn-id status + 10.0.1.2 10.0.2.2 QM_IDLE 1002 ACTIVE + + IPv6 Crypto ISAKMP SA + + + +IPsec SAs: + +.. code-block:: none + + Cisco#show crypto ipsec sa + + interface: Tunnel10 + Crypto map tag: Tunnel10-head-0, local addr 10.0.2.2 + + protected vrf: (none) + local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0) + remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0) + current_peer 10.0.1.2 port 500 + PERMIT, flags={origin_is_acl,} + #pkts encaps: 1295, #pkts encrypt: 1295, #pkts digest: 1295 + #pkts decaps: 1238, #pkts decrypt: 1238, #pkts verify: 1238 + #pkts compressed: 0, #pkts decompressed: 0 + #pkts not compressed: 0, #pkts compr. failed: 0 + #pkts not decompressed: 0, #pkts decompress failed: 0 + #send errors 0, #recv errors 0 + + local crypto endpt.: 10.0.2.2, remote crypto endpt.: 10.0.1.2 + plaintext mtu 1438, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet0/0 + current outbound spi: 0xC3E9B307(3286872839) + PFS (Y/N): N, DH group: none + + inbound esp sas: + spi: 0x2740C328(658555688) + transform: esp-256-aes esp-sha256-hmac , + in use settings ={Tunnel, } + conn id: 7, flow_id: SW:7, sibling_flags 80000040, crypto map: Tunnel10-head-0 + sa timing: remaining key lifetime (k/sec): (4173824/1401) + IV size: 16 bytes + replay detection support: Y + Status: ACTIVE(ACTIVE) + + inbound ah sas: + + inbound pcp sas: + + outbound esp sas: + spi: 0xC3E9B307(3286872839) + transform: esp-256-aes esp-sha256-hmac , + in use settings ={Tunnel, } + conn id: 8, flow_id: SW:8, sibling_flags 80000040, crypto map: Tunnel10-head-0 + sa timing: remaining key lifetime (k/sec): (4173819/1401) + IV size: 16 bytes + replay detection support: Y + Status: ACTIVE(ACTIVE) + + outbound ah sas: + + outbound pcp sas: + +OSPF Neighbor Status: + +.. code-block:: none + + Cisco# show ip ospf neighbor + + Neighbor ID Pri State Dead Time Address Interface + 2.2.2.2 0 FULL/ - 00:00:35 10.100.100.1 Tunnel10 + +Routing Table: + +.. code-block:: none + + Cisco#show ip route + Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP + D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area + N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 + E1 - OSPF external type 1, E2 - OSPF external type 2 + i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 + ia - IS-IS inter area, * - candidate default, U - per-user static route + o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP + a - application route + + - replicated route, % - next hop override, p - overrides from PfR + + Gateway of last resort is 10.0.2.1 to network 0.0.0.0 + + S* 0.0.0.0/0 [1/0] via 10.0.2.1 + 1.0.0.0/32 is subnetted, 1 subnets + C 1.1.1.1 is directly connected, Loopback0 + 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks + C 10.0.2.0/30 is directly connected, GigabitEthernet0/0 + L 10.0.2.2/32 is directly connected, GigabitEthernet0/0 + C 10.100.100.0/30 is directly connected, Tunnel10 + L 10.100.100.2/32 is directly connected, Tunnel10 + O 192.168.0.0/24 [110/1001] via 10.100.100.1, 00:09:36, Tunnel10 + O 192.168.1.0/24 [110/1001] via 10.100.100.1, 00:09:36, Tunnel10 + 192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks + C 192.168.10.0/24 is directly connected, GigabitEthernet0/1 + L 192.168.10.1/32 is directly connected, GigabitEthernet0/1 + 192.168.11.0/24 is variably subnetted, 2 subnets, 2 masks + C 192.168.11.0/24 is directly connected, GigabitEthernet0/2 + L 192.168.11.1/32 is directly connected, GigabitEthernet0/2 + + +Checking Connectivity +--------------------- + +ICMP packets from PC1 to PC3. + +.. code-block:: none + + PC1> ping 192.168.10.2 + + 84 bytes from 192.168.10.2 icmp_seq=1 ttl=62 time=8.479 ms + 84 bytes from 192.168.10.2 icmp_seq=2 ttl=62 time=3.344 ms + 84 bytes from 192.168.10.2 icmp_seq=3 ttl=62 time=3.139 ms + 84 bytes from 192.168.10.2 icmp_seq=4 ttl=62 time=3.176 ms + 84 bytes from 192.168.10.2 icmp_seq=5 ttl=62 time=3.978 ms + +ICMP packets from PC2 to PC4. + +.. code-block:: none + + PC2> ping 192.168.11.2 + + 84 bytes from 192.168.11.2 icmp_seq=1 ttl=62 time=9.687 ms + 84 bytes from 192.168.11.2 icmp_seq=2 ttl=62 time=3.286 ms + 84 bytes from 192.168.11.2 icmp_seq=3 ttl=62 time=2.972 ms diff --git a/docs/configexamples/ipsec-pa-route-based.rst b/docs/configexamples/ipsec-pa-route-based.rst new file mode 100644 index 00000000..e9b1ce25 --- /dev/null +++ b/docs/configexamples/ipsec-pa-route-based.rst @@ -0,0 +1,420 @@ +:lastproofread: 2025-06-26 + +.. _examples-ipsec-pa-route-based: + +############################################################# +Route-based Site-to-Site VPN IPsec between VyOS and Palo Alto +############################################################# + +This document is to describe a basic setup using route-based +site-to-site VPN IPsec. In this example we use VyOS 1.5 and +PA 11.0.0. OSPF is selected as routing protocol inside the +tunnel. + +Since this example focuses on IPsec configuration it does not +include firewall configuration. + +Network Topology +================ + +.. image:: /_static/images/ipsec-vyos-pa.png + :align: center + :alt: Network Topology Diagram + +Prerequirements +=============== + +**VyOS:** + ++---------+----------------+ +| WAN IP | 10.0.1.2/30 | ++---------+----------------+ +| LAN1 IP | 192.168.0.1/24 | ++---------+----------------+ +| LAN2 IP | 192.168.1.1/24 | ++---------+----------------+ + +**Cisco:** + ++---------+-----------------+ +| WAN IP | 10.0.2.2/30 | ++---------+-----------------+ +| LAN1 IP | 192.168.10.1/24 | ++---------+-----------------+ +| LAN2 IP | 192.168.11.1/24 | ++---------+-----------------+ + +**IKE parameters:** + ++-------------------+---------+ +| Encryption | AES-128 | ++-------------------+---------+ +| HASH | SHA-1 | ++-------------------+---------+ +| Diff-Helman Group | 14 | ++-------------------+---------+ +| Life-Time | 28800 | ++-------------------+---------+ +| IKE Version | 1 | ++-------------------+---------+ + +**IPsec parameters:** + ++------------+---------+ +| Encryption | AES-256 | ++------------+---------+ +| HASH | SHA-256 | ++------------+---------+ +| Life-Time | 3600 | ++------------+---------+ +| PFS | disable | ++------------+---------+ + +**Hosts configuration** + ++--------+--------------+ +| PC1 IP | 192.168.0.2 | ++--------+--------------+ +| PC2 IP | 192.168.1.2 | ++--------+--------------+ +| PC3 IP | 192.168.10.2 | ++--------+--------------+ +| PC4 IP | 192.168.11.2 | ++--------+--------------+ + +Configuration +============= + +VyOS +---- + +.. code-block:: none + + set interfaces ethernet eth0 address '10.0.1.2/30' + set interfaces ethernet eth1 address '192.168.0.1/24' + set interfaces ethernet eth2 address '192.168.1.1/24' + set interfaces vti vti1 address '10.100.100.1/30' + set interfaces vti vti1 mtu '1438' + set protocols ospf area 0 network '10.100.100.0/30' + set protocols ospf area 0 network '192.168.0.0/24' + set protocols ospf area 0 network '192.168.1.0/24' + set protocols ospf interface eth1 passive + set protocols ospf interface eth2 passive + set protocols ospf interface vti1 network 'point-to-point' + set protocols ospf parameters router-id '2.2.2.2' + set protocols static route 0.0.0.0/0 next-hop 10.0.1.1 + set vpn ipsec authentication psk AUTH-PSK id '10.0.1.2' + set vpn ipsec authentication psk AUTH-PSK id '10.0.2.2' + set vpn ipsec authentication psk AUTH-PSK secret 'dGVzdA==' + set vpn ipsec authentication psk AUTH-PSK secret-type 'base64' + set vpn ipsec esp-group ESP-GRPOUP lifetime '3600' + set vpn ipsec esp-group ESP-GRPOUP pfs 'disable' + set vpn ipsec esp-group ESP-GRPOUP proposal 10 encryption 'aes256' + set vpn ipsec esp-group ESP-GRPOUP proposal 10 hash 'sha256' + set vpn ipsec ike-group IKE-GROUP close-action 'start' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection action 'restart' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection interval '10' + set vpn ipsec ike-group IKE-GROUP dead-peer-detection timeout '30' + set vpn ipsec ike-group IKE-GROUP key-exchange 'ikev1' + set vpn ipsec ike-group IKE-GROUP lifetime '28800' + set vpn ipsec ike-group IKE-GROUP proposal 10 dh-group '14' + set vpn ipsec ike-group IKE-GROUP proposal 10 encryption 'aes128' + set vpn ipsec ike-group IKE-GROUP proposal 10 hash 'sha1' + set vpn ipsec options disable-route-autoinstall + set vpn ipsec site-to-site peer CISCO authentication local-id '10.0.1.2' + set vpn ipsec site-to-site peer CISCO authentication mode 'pre-shared-secret' + set vpn ipsec site-to-site peer CISCO authentication remote-id '10.0.2.2' + set vpn ipsec site-to-site peer CISCO connection-type 'initiate' + set vpn ipsec site-to-site peer CISCO default-esp-group 'ESP-GRPOUP' + set vpn ipsec site-to-site peer CISCO ike-group 'IKE-GROUP' + set vpn ipsec site-to-site peer CISCO local-address '10.0.1.2' + set vpn ipsec site-to-site peer CISCO remote-address '10.0.2.2' + set vpn ipsec site-to-site peer CISCO vti bind 'vti1' + +Palo Alto +--------- + +GUI Configuration: + Network -> Network Profiles -> IKE Crypto + + .. image:: /_static/images/PA-IKE-group.png + :align: center + + Network -> Network Profiles -> IKE Gateways + + .. image:: /_static/images/PA-IKE-GW-1.png + :align: center + + .. image:: /_static/images/PA-IKE-GW-2.png + :align: center + + Network -> Network Profiles -> IPSec Crypto + + .. image:: /_static/images/PA-ESP-group.png + :align: center + + Network -> Interfaces + + .. image:: /_static/images/PA-tunnel-1.png + :align: center + + .. image:: /_static/images/PA-tunnel-2.png + :align: center + + .. image:: /_static/images/PA-tunnel-3.png + :align: center + + Network -> IPSec Tunnels + + .. image:: /_static/images/PA-IPsec-tunnel.png + :align: center + +CLI configuration with OSPF: + +.. code-block:: none + + set network interface ethernet ethernet1/1 layer3 ip 10.0.2.2/30 + set network interface ethernet ethernet1/1 layer3 interface-management-profile Allow + set network interface ethernet ethernet1/2 layer3 ip 192.168.10.1/24 + set network interface ethernet ethernet1/1 layer3 interface-management-profile Allow + set network interface ethernet ethernet1/3 layer3 ip 192.168.11.1/24 + set network interface ethernet ethernet1/1 layer3 interface-management-profile Allow + set network interface tunnel units tunnel.1 ip 10.100.100.2/30 + set network interface tunnel units tunnel.1 interface-management-profile Allow + set network interface tunnel units tunnel.1 mtu 1438 + set network profiles interface-management-profile Allow ping yes + set network ike crypto-profiles ike-crypto-profiles IKE-GROUP hash sha1 + set network ike crypto-profiles ike-crypto-profiles IKE-GROUP dh-group group14 + set network ike crypto-profiles ike-crypto-profiles IKE-GROUP encryption aes-128-cbc + set network ike crypto-profiles ike-crypto-profiles IKE-GROUP lifetime seconds 28800 + set network ike crypto-profiles ipsec-crypto-profiles ESP-GROUP esp authentication sha256 + set network ike crypto-profiles ipsec-crypto-profiles ESP-GROUP esp encryption aes-256-cbc + set network ike crypto-profiles ipsec-crypto-profiles ESP-GROUP lifetime seconds 3600 + set network ike crypto-profiles ipsec-crypto-profiles ESP-GROUP dh-group no-pfs + set network ike gateway VyOS authentication pre-shared-key key test + set network ike gateway VyOS protocol ikev1 dpd enable yes + set network ike gateway VyOS protocol ikev1 exchange-mode main + set network ike gateway VyOS protocol ikev1 ike-crypto-profile IKE-GROUP + set network ike gateway VyOS protocol ikev2 dpd enable yes + set network ike gateway VyOS protocol version ikev1 + set network ike gateway VyOS protocol-common nat-traversal enable yes + set network ike gateway VyOS protocol-common fragmentation enable no + set network ike gateway VyOS protocol-common passive-mode yes + set network ike gateway VyOS local-address interface ethernet1/1 + set network ike gateway VyOS peer-address ip 10.0.1.2 + set network ike gateway VyOS local-id id 10.0.2.2 + set network ike gateway VyOS local-id type ipaddr + set network ike gateway VyOS peer-id id 10.0.1.2 + set network ike gateway VyOS peer-id type ipaddr + set network tunnel ipsec VyOS-tunnel auto-key ike-gateway VyOS + set network tunnel ipsec VyOS-tunnel auto-key ipsec-crypto-profile ESP-GROUP + set network tunnel ipsec VyOS-tunnel tunnel-monitor enable no + set network tunnel ipsec VyOS-tunnel tunnel-interface tunnel.1 + set network tunnel ipsec VyOS-tunnel anti-replay no + set network virtual-router default protocol ospf enable yes + set network virtual-router default protocol ospf area 0.0.0.0 type normal + set network virtual-router default protocol ospf area 0.0.0.0 interface tunnel.1 enable yes + set network virtual-router default protocol ospf area 0.0.0.0 interface tunnel.1 passive no + set network virtual-router default protocol ospf area 0.0.0.0 interface tunnel.1 link-type p2p + set network virtual-router default protocol ospf area 0.0.0.0 interface ethernet1/2 enable yes + set network virtual-router default protocol ospf area 0.0.0.0 interface ethernet1/2 passive yes + set network virtual-router default protocol ospf area 0.0.0.0 interface ethernet1/2 link-type broadcast + set network virtual-router default protocol ospf area 0.0.0.0 interface ethernet1/3 enable yes + set network virtual-router default protocol ospf area 0.0.0.0 interface ethernet1/3 passive yes + set network virtual-router default protocol ospf area 0.0.0.0 interface ethernet1/3 link-type broadcast + set network virtual-router default protocol ospf router-id 1.1.1.1 + set network virtual-router default interface [ ethernet1/1 ethernet1/2 ethernet1/3 tunnel.1 ] + + +Monitoring +========== + +Monitoring on VyOS side +----------------------- + +IKE SAs: + +.. code-block:: none + + vyos@vyos:~$ show vpn ike sa + Peer ID / IP Local ID / IP + ------------ ------------- + 10.0.2.2 10.0.2.2 10.0.1.2 10.0.1.2 + + State IKEVer Encrypt Hash D-H Group NAT-T A-Time L-Time + ----- ------ ------- ---- --------- ----- ------ ------ + up IKEv1 AES_CBC_128 HMAC_SHA1_96 MODP_2048 no 1372 25802 + + + + +IPsec SAs: + +.. code-block:: none + + vyos@vyos:~$ show vpn ipsec sa + Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal + ------------ ------- -------- -------------- ---------------- ---------------- ----------- ----------------------------- + PA-vti up 23m27s 9K/10K 149/151 10.0.2.2 10.0.2.2 AES_CBC_256/HMAC_SHA2_256_128 + + +OSPF Neighbor Status: + +.. code-block:: none + + vyos@vyos:~$ show ip ospf neighbor + + Neighbor ID Pri State Up Time Dead Time Address Interface RXmtL RqstL DBsmL + 1.1.1.1 1 Full/- 23m56s 37.948s 10.100.100.2 vti1:10.100.100.1 0 0 0 + + +Routing Table: + +.. code-block:: none + + vyos@vyos:~$ show ip route + Codes: K - kernel route, C - connected, L - local, S - static, + R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, + T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, + f - OpenFabric, t - Table-Direct, + > - selected route, * - FIB route, q - queued, r - rejected, b - backup + t - trapped, o - offload failure + + S>* 0.0.0.0/0 [1/0] via 10.0.1.1, eth0, weight 1, 00:27:30 + C>* 10.0.1.0/30 is directly connected, eth0, weight 1, 00:27:34 + L>* 10.0.1.2/32 is directly connected, eth0, weight 1, 00:27:34 + O 10.100.100.0/30 [110/1] is directly connected, vti1, weight 1, 00:24:34 + C>* 10.100.100.0/30 is directly connected, vti1, weight 1, 00:24:34 + L>* 10.100.100.1/32 is directly connected, vti1, weight 1, 00:24:34 + O 192.168.0.0/24 [110/1] is directly connected, eth1, weight 1, 00:27:29 + C>* 192.168.0.0/24 is directly connected, eth1, weight 1, 00:27:34 + L>* 192.168.0.1/32 is directly connected, eth1, weight 1, 00:27:34 + O 192.168.1.0/24 [110/1] is directly connected, eth2, weight 1, 00:27:29 + C>* 192.168.1.0/24 is directly connected, eth2, weight 1, 00:27:34 + L>* 192.168.1.1/32 is directly connected, eth2, weight 1, 00:27:34 + O>* 192.168.10.0/24 [110/11] via 10.100.100.2, vti1, weight 1, 00:24:19 + O>* 192.168.11.0/24 [110/11] via 10.100.100.2, vti1, weight 1, 00:24:19 + + +Monitoring on Cisco side +------------------------ + +IKE SAs: + +.. code-block:: none + + admin@PA-VM> show vpn ike-sa + + IKEv1 phase-1 SAs + GwID/client IP Peer-Address Gateway Name Role Mode Algorithm Established Expiration V ST Xt Phase2 + -------------- ------------ ------------ ---- ---- --------- ----------- ---------- - -- -- ------ + 1 10.0.1.2 VyOS Resp Main PSK/DH14/A128/SHA1 Jul.31 01:35:00 Jul.31 09:35:00 v1 13 1 1 + + Show IKEv1 IKE SA: Total 1 gateways found. 1 ike sa found. + + + IKEv1 phase-2 SAs + Gateway Name TnID Tunnel GwID/IP Role Algorithm SPI(in) SPI(out) MsgID ST Xt + ------------ ---- ------ ------- ---- --------- ------- -------- ----- -- -- + VyOS 1 VyOS-tunnel 1 Resp ESP/ /tunl/SHA2 8827A3D9 C204F4FA BD202829 9 1 + + Show IKEv1 phase2 SA: Total 1 gateways found. 1 ike sa found. + + + There is no IKEv2 SA found. + +IPsec SAs: + +.. code-block:: none + + admin@PA-VM> show vpn ipsec-sa + + GwID/client IP TnID Peer-Address Tunnel(Gateway) Algorithm SPI(in) SPI(out) life(Sec/KB) remain-time(Sec) + -------------- ---- ------------ --------------- --------- ------- -------- ------------ ---------------- + 1 1 10.0.1.2 VyOS-tunnel(VyOS) ESP/A256/SHA256 8827A3D9 C204F4FA 3600/Unlimited 2733 + + Show IPSec SA: Total 1 tunnels found. 1 ipsec sa found. + +OSPF Neighbor Status: + +.. code-block:: none + + admin@PA-VM> show routing protocol ospf neighbor + + Options: 0x80:reserved, O:Opaq-LSA capability, DC:demand circuits, EA:Ext-Attr LSA capability, + N/P:NSSA option, MC:multicase, E:AS external LSA capability, T:TOS capability + ========== + virtual router: default + neighbor address: 10.100.100.1 + local address binding: 0.0.0.0 + type: dynamic + status: full + neighbor router ID: 2.2.2.2 + area id: 0.0.0.0 + neighbor priority: 1 + lifetime remain: 32 + messages pending: 0 + LSA request pending: 0 + options: 0x02: E + hello suppressed: no + restart helper status: not helping + restart helper time remaining: 0 + restart helper exit reason: none + + + +Routing Table: + +.. code-block:: none + + admin@PA-VM> show routing route + + flags: A:active, ?:loose, C:connect, H:host, S:static, ~:internal, R:rip, O:ospf, B:bgp, + Oi:ospf intra-area, Oo:ospf inter-area, O1:ospf ext-type-1, O2:ospf ext-type-2, E:ecmp, M:multicast + + + VIRTUAL ROUTER: default (id 1) + ========== + destination nexthop metric flags age interface next-AS + 0.0.0.0/0 10.0.2.1 10 A S ethernet1/1 + 10.0.2.0/30 10.0.2.2 0 A C ethernet1/1 + 10.0.2.2/32 0.0.0.0 0 A H + 10.100.100.0/30 0.0.0.0 10 Oi 1273 tunnel.1 + 10.100.100.0/30 10.100.100.2 0 A C tunnel.1 + 10.100.100.2/32 0.0.0.0 0 A H + 192.168.0.0/24 10.100.100.1 11 A Oi 1253 tunnel.1 + 192.168.1.0/24 10.100.100.1 11 A Oi 1253 tunnel.1 + 192.168.10.0/24 0.0.0.0 10 Oi 1273 ethernet1/2 + 192.168.10.0/24 192.168.10.1 0 A C ethernet1/2 + 192.168.10.1/32 0.0.0.0 0 A H + 192.168.11.0/24 0.0.0.0 10 Oi 1273 ethernet1/3 + 192.168.11.0/24 192.168.11.1 0 A C ethernet1/3 + 192.168.11.1/32 0.0.0.0 0 A H + total routes shown: 14 + + + +Checking Connectivity +--------------------- + +ICMP packets from PC1 to PC3. + +.. code-block:: none + + PC1> ping 192.168.10.2 + + 84 bytes from 192.168.10.2 icmp_seq=1 ttl=62 time=8.479 ms + 84 bytes from 192.168.10.2 icmp_seq=2 ttl=62 time=3.344 ms + 84 bytes from 192.168.10.2 icmp_seq=3 ttl=62 time=3.139 ms + 84 bytes from 192.168.10.2 icmp_seq=4 ttl=62 time=3.176 ms + 84 bytes from 192.168.10.2 icmp_seq=5 ttl=62 time=3.978 ms + +ICMP packets from PC2 to PC4. + +.. code-block:: none + + PC2> ping 192.168.11.2 + + 84 bytes from 192.168.11.2 icmp_seq=1 ttl=62 time=9.687 ms + 84 bytes from 192.168.11.2 icmp_seq=2 ttl=62 time=3.286 ms + 84 bytes from 192.168.11.2 icmp_seq=3 ttl=62 time=2.972 ms