<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>VyOS - Blog</title>
    <link>https://blog.vyos.io</link>
    <description>VyOS Platform Project news and updates 
All about development and project life in  our blog</description>
    <language>en</language>
    <pubDate>Wed, 29 Apr 2026 11:17:18 GMT</pubDate>
    <dc:date>2026-04-29T11:17:18Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>VyOS Project April 2026 Update</title>
      <link>https://blog.vyos.io/vyos-project-april-2026-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-april-2026-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_mothly_update_april2026_blogpost-1.png" alt="VyOS Project April 2026 Update" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;Now that VyOS 1.5.0 is out of the door, it's time to share the news about new developments in VyOS rolling release that happened in March and April that either weren't included in VyOS 1.5.0 and VyOS Stream 2026.03 or didn't get a prominent mention. They include support for BGP link-state address family, post-quantum pre-shared keys in IPsec, and more.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-april-2026-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_mothly_update_april2026_blogpost-1.png" alt="VyOS Project April 2026 Update" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;Now that VyOS 1.5.0 is out of the door, it's time to share the news about new developments in VyOS rolling release that happened in March and April that either weren't included in VyOS 1.5.0 and VyOS Stream 2026.03 or didn't get a prominent mention. They include support for BGP link-state address family, post-quantum pre-shared keys in IPsec, and more.&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-april-2026-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>ipsec</category>
      <category>vrrp</category>
      <pubDate>Wed, 29 Apr 2026 11:17:18 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-project-april-2026-update</guid>
      <dc:date>2026-04-29T11:17:18Z</dc:date>
    </item>
    <item>
      <title>VyOS Project January 2026 Update</title>
      <link>https://blog.vyos.io/vyos-project-january2026-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-january2026-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_update_option_4.png" alt="January 2026 Project Update - VyOS" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community! The belated development update for December 2025 and January 2026 is finally here.&lt;/p&gt; 
&lt;p&gt;We are getting closer to the 1.5 release but there's also quite a bit of work towards the future. In particular, there's good progress towards replacing the old configuration command completion mechanism with a VyConf-based equivalent, which will allow us to get rid of legacy command definition files eventually.&lt;/p&gt; 
&lt;p&gt;More immediate improvements include certificate-based authentication for OpenConnect, new operational commands for VPP, support for configuring watchdog timers, and multiple bug fixes.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-january2026-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_update_option_4.png" alt="January 2026 Project Update - VyOS" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community! The belated development update for December 2025 and January 2026 is finally here.&lt;/p&gt; 
&lt;p&gt;We are getting closer to the 1.5 release but there's also quite a bit of work towards the future. In particular, there's good progress towards replacing the old configuration command completion mechanism with a VyConf-based equivalent, which will allow us to get rid of legacy command definition files eventually.&lt;/p&gt; 
&lt;p&gt;More immediate improvements include certificate-based authentication for OpenConnect, new operational commands for VPP, support for configuring watchdog timers, and multiple bug fixes.&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-january2026-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>ipsec</category>
      <category>vpp</category>
      <category>1.5</category>
      <pubDate>Fri, 30 Jan 2026 09:00:00 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-project-january2026-update</guid>
      <dc:date>2026-01-30T09:00:00Z</dc:date>
    </item>
    <item>
      <title>VyOS 1.4.3 release</title>
      <link>https://blog.vyos.io/vyos-1.4.3-release</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-1.4.3-release" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_stream_1_4_3_option_1_2x.webp" alt="VyOS logo and a router symbol. The text reads: release, VyOS 1.4.3" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;Customers and holders of contributor subscriptions can now download VyOS 1.4.3 release images and the corresponding source tarball.&lt;/p&gt; 
&lt;p&gt;This release includes fixes for CVE-2024-3596 (BlastRADIUS) — a&amp;nbsp;vulnerability in the RADIUS PAM module that made it possible (even if not easy) for an attacker capable of active MitM to forge a server response and log in to a vulnerable system without valid credentials. It also fixes over seventy bugs and adds a few new features. Those features include container improvements such as options&amp;nbsp;to add custom container image registries, set name servers for containers, and allow running containers in privileged mode; an option to import routes from a non-default table into the system RIB; an option to explicitly configure traffic selectors for VTI tunnels, and more.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-1.4.3-release" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_stream_1_4_3_option_1_2x.webp" alt="VyOS logo and a router symbol. The text reads: release, VyOS 1.4.3" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;Customers and holders of contributor subscriptions can now download VyOS 1.4.3 release images and the corresponding source tarball.&lt;/p&gt; 
&lt;p&gt;This release includes fixes for CVE-2024-3596 (BlastRADIUS) — a&amp;nbsp;vulnerability in the RADIUS PAM module that made it possible (even if not easy) for an attacker capable of active MitM to forge a server response and log in to a vulnerable system without valid credentials. It also fixes over seventy bugs and adds a few new features. Those features include container improvements such as options&amp;nbsp;to add custom container image registries, set name servers for containers, and allow running containers in privileged mode; an option to import routes from a non-default table into the system RIB; an option to explicitly configure traffic selectors for VTI tunnels, and more.&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-1.4.3-release&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>ipsec</category>
      <category>release</category>
      <category>lts</category>
      <category>1.4</category>
      <category>containers</category>
      <pubDate>Thu, 17 Jul 2025 13:46:44 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-1.4.3-release</guid>
      <dc:date>2025-07-17T13:46:44Z</dc:date>
    </item>
    <item>
      <title>VyOS Project June 2025 Update</title>
      <link>https://blog.vyos.io/vyos-project-june-2025-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-june-2025-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_june_05_2x.webp" alt="A field with flowers and trees in the background, under a sky with a few clouds" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;This month's update looks small but there are quite a few big things happening. Expect a few release posts in the coming weeks! But apart from that, there are big ongoing developments inside the rolling release. First, we are ironing out the remaining issues in the VPP-based accelerated dataplane and we welcome everyone to test them.&lt;/p&gt; 
&lt;p&gt;In other areas, we are making steady progress at replacing the old configuration backend. Currently the focus is on the commit algorithm, that will make commits much faster and enable long-awaited features such as commit dry run (&lt;a href="https://vyos.dev/T7427"&gt;T7427&lt;/a&gt;). The other big things is the operational mode command system rework that will allow us to reintroduce operator level users and improve operational command documentation. Read on for details!&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-june-2025-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_june_05_2x.webp" alt="A field with flowers and trees in the background, under a sky with a few clouds" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;This month's update looks small but there are quite a few big things happening. Expect a few release posts in the coming weeks! But apart from that, there are big ongoing developments inside the rolling release. First, we are ironing out the remaining issues in the VPP-based accelerated dataplane and we welcome everyone to test them.&lt;/p&gt; 
&lt;p&gt;In other areas, we are making steady progress at replacing the old configuration backend. Currently the focus is on the commit algorithm, that will make commits much faster and enable long-awaited features such as commit dry run (&lt;a href="https://vyos.dev/T7427"&gt;T7427&lt;/a&gt;). The other big things is the operational mode command system rework that will allow us to reintroduce operator level users and improve operational command documentation. Read on for details!&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-june-2025-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>firewall</category>
      <category>vyconf</category>
      <category>vpp</category>
      <pubDate>Mon, 30 Jun 2025 17:23:51 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-project-june-2025-update</guid>
      <dc:date>2025-06-30T17:23:51Z</dc:date>
    </item>
    <item>
      <title>VyOS 1.4.2 release</title>
      <link>https://blog.vyos.io/vyos-1.4.2-release</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-1.4.2-release" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_release_1.4.2_option_1.png" alt="VyOS 1.4.2 release" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community! VyOS 1.4.2 release images and the corresponding source tarball are now available for download to customers and holders of contributor subscriptions.&lt;/p&gt; 
&lt;p&gt;This release includes a fix for a security issue that made console server users vulnerable to MitM attacks, over forty bug fixes, a few improvements in BRAS functionality, performance optimizations that can improve BGP convergence time by as much as 5-10 minutes in some scenarios, and other improvements. Additionally, FastNetMon is now deprecated and is scheduled to be removed in the future 1.5 release, and we are also finally phasing out legacy GnuPG signatures in favor of minisign. Read on for details!&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-1.4.2-release" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_release_1.4.2_option_1.png" alt="VyOS 1.4.2 release" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community! VyOS 1.4.2 release images and the corresponding source tarball are now available for download to customers and holders of contributor subscriptions.&lt;/p&gt; 
&lt;p&gt;This release includes a fix for a security issue that made console server users vulnerable to MitM attacks, over forty bug fixes, a few improvements in BRAS functionality, performance optimizations that can improve BGP convergence time by as much as 5-10 minutes in some scenarios, and other improvements. Additionally, FastNetMon is now deprecated and is scheduled to be removed in the future 1.5 release, and we are also finally phasing out legacy GnuPG signatures in favor of minisign. Read on for details!&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-1.4.2-release&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>qos</category>
      <category>release</category>
      <category>1.4</category>
      <category>pppoe</category>
      <category>ipoe</category>
      <pubDate>Thu, 03 Apr 2025 16:28:13 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-1.4.2-release</guid>
      <dc:date>2025-04-03T16:28:13Z</dc:date>
    </item>
    <item>
      <title>VyOS Project March 2025 Update</title>
      <link>https://blog.vyos.io/vyos-project-march-2025-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-march-2025-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_march_05.png" alt="A flowering tree against the background of a blue sky" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community! It's spring in the northern hemisphere, and here's the March update. A lot of our effort is currently going into the development of the accelerated dataplane based on VPP: We added a prototype of IPsec, and we are actively working on support for NAT. But there are many other updates, including a fix for a vulnerability in &lt;code&gt;service console-server&lt;/code&gt;, support for loading firewall groups from a URL, an option to set a custom container registry, and more. Read on for details!&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-march-2025-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/vyos_blogpost_img_march_05.png" alt="A flowering tree against the background of a blue sky" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community! It's spring in the northern hemisphere, and here's the March update. A lot of our effort is currently going into the development of the accelerated dataplane based on VPP: We added a prototype of IPsec, and we are actively working on support for NAT. But there are many other updates, including a fix for a vulnerability in &lt;code&gt;service console-server&lt;/code&gt;, support for loading firewall groups from a URL, an option to set a custom container registry, and more. Read on for details!&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-march-2025-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>firewall</category>
      <category>security</category>
      <category>vpp</category>
      <pubDate>Thu, 27 Mar 2025 14:10:08 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-project-march-2025-update</guid>
      <dc:date>2025-03-27T14:10:08Z</dc:date>
    </item>
    <item>
      <title>VyOS Project March 2024 Update</title>
      <link>https://blog.vyos.io/vyos-project-march-2024-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-march-2024-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%20Project%20march%202024.png" alt="march 2024 update" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;br&gt;While VyOS 1.4/Sagitta has taken its final shape, and we are working to smoothen any remaining sharp edges (especially in migration scripts), the upcoming 1.5/Circinus branch is the new frontier where we can go wild and experiment freely. Safe features from the current branch are still backported to 1.4/Sagitta.&lt;/p&gt; 
&lt;p&gt;Still, we already have non-back portable features — such as improvements to the new DHCP server implementation based on Kea rather than the now-obsolete ISC DHCP server.&lt;br&gt;In the last month, there were quite a few improvements, including the ability to set multiple peer addresses for unicast VRRP (a feature by our new core team member Natalia Solomko), segment routing support for static IPv6 routes, support for SSH public keys in the PKI subsystem, and more.&lt;/p&gt; 
&lt;h2&gt;&lt;/h2&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-march-2024-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%20Project%20march%202024.png" alt="march 2024 update" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;br&gt;While VyOS 1.4/Sagitta has taken its final shape, and we are working to smoothen any remaining sharp edges (especially in migration scripts), the upcoming 1.5/Circinus branch is the new frontier where we can go wild and experiment freely. Safe features from the current branch are still backported to 1.4/Sagitta.&lt;/p&gt; 
&lt;p&gt;Still, we already have non-back portable features — such as improvements to the new DHCP server implementation based on Kea rather than the now-obsolete ISC DHCP server.&lt;br&gt;In the last month, there were quite a few improvements, including the ability to set multiple peer addresses for unicast VRRP (a feature by our new core team member Natalia Solomko), segment routing support for static IPv6 routes, support for SSH public keys in the PKI subsystem, and more.&lt;/p&gt; 
&lt;h2&gt;&lt;/h2&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-march-2024-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>project updates</category>
      <category>1.4</category>
      <category>1.5</category>
      <pubDate>Fri, 22 Mar 2024 17:08:46 GMT</pubDate>
      <author>e.altunbas@vyos.io (Erkin Batu Altunbas)</author>
      <guid>https://blog.vyos.io/vyos-project-march-2024-update</guid>
      <dc:date>2024-03-22T17:08:46Z</dc:date>
    </item>
    <item>
      <title>VyOS Project February 2024 Update</title>
      <link>https://blog.vyos.io/vyos-project-february-2024-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-february-2024-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%20Project%20feb%202024.png" alt="feb2024" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, community!&lt;br&gt;Curious what we've been up to in January? Our main focus is the final stabilization of the 1.4.0/Sagitta branch, and we will soon make the first EPA (Early Production Access) release — after that point, config syntax and behavior will not change in the 1.4 LTS release lifetime, and all radical changes will go to the upcoming 1.5/Circinus branch. Quite a lot of things are happening in the development branch, and many of those improvements are also backported to 1.4, including support for Let's Encrypt (or any other ACME provider) in PKI, multiple BGP improvements, and an option to disable Spectre/Meltdown mitigations from the CLI.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-february-2024-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%20Project%20feb%202024.png" alt="feb2024" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, community!&lt;br&gt;Curious what we've been up to in January? Our main focus is the final stabilization of the 1.4.0/Sagitta branch, and we will soon make the first EPA (Early Production Access) release — after that point, config syntax and behavior will not change in the 1.4 LTS release lifetime, and all radical changes will go to the upcoming 1.5/Circinus branch. Quite a lot of things are happening in the development branch, and many of those improvements are also backported to 1.4, including support for Let's Encrypt (or any other ACME provider) in PKI, multiple BGP improvements, and an option to disable Spectre/Meltdown mitigations from the CLI.&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-february-2024-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>security</category>
      <category>project updates</category>
      <category>1.3</category>
      <category>1.4</category>
      <pubDate>Thu, 08 Feb 2024 07:21:23 GMT</pubDate>
      <author>e.altunbas@vyos.io (Erkin Batu Altunbas)</author>
      <guid>https://blog.vyos.io/vyos-project-february-2024-update</guid>
      <dc:date>2024-02-08T07:21:23Z</dc:date>
    </item>
    <item>
      <title>VyOS 1.4.0-rc3 release candidate</title>
      <link>https://blog.vyos.io/vyos-1.4.0-rc3-release-candidate</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-1.4.0-rc3-release-candidate" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%201.4-RC3.png" alt="RC3" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;VyOS 1.4.0-rc3 image is now available for everyone to &lt;a href="https://cdn.vyos.io/1.4.0-rc3/vyos-1.4.0-rc3-amd64.iso"&gt;download and test&lt;/a&gt;. We are grateful to everyone who helped us test previously release candidate images. Thanks to your bug reports and pull requests, we fixed many bugs, including two that could cause the system to lock up at startup or shut down! We also did a lot of internal refactoring in January, but this image still has quite a few new features, including support for obtaining certificates from ACME providers (such as Let's Encrypt), IPv6 segment routing, IS-IS fast reroute, and more. We are also taking the last chance to make configuration syntax changes that will make the config look cleaner and make it easier to implement new features, so please pay attention to the config syntax and behavior changes section of this post. There's one feature from the rolling release time that we decided to remove due to its design flaws and the fact that it doesn't fit the scope of a router OS well — HTTPS virtual host configuration support.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-1.4.0-rc3-release-candidate" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%201.4-RC3.png" alt="RC3" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;VyOS 1.4.0-rc3 image is now available for everyone to &lt;a href="https://cdn.vyos.io/1.4.0-rc3/vyos-1.4.0-rc3-amd64.iso"&gt;download and test&lt;/a&gt;. We are grateful to everyone who helped us test previously release candidate images. Thanks to your bug reports and pull requests, we fixed many bugs, including two that could cause the system to lock up at startup or shut down! We also did a lot of internal refactoring in January, but this image still has quite a few new features, including support for obtaining certificates from ACME providers (such as Let's Encrypt), IPv6 segment routing, IS-IS fast reroute, and more. We are also taking the last chance to make configuration syntax changes that will make the config look cleaner and make it easier to implement new features, so please pay attention to the config syntax and behavior changes section of this post. There's one feature from the rolling release time that we decided to remove due to its design flaws and the fact that it doesn't fit the scope of a router OS well — HTTPS virtual host configuration support.&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-1.4.0-rc3-release-candidate&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>release candidate</category>
      <category>ipv6</category>
      <category>1.4</category>
      <category>is-is</category>
      <pubDate>Mon, 22 Jan 2024 07:11:13 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-1.4.0-rc3-release-candidate</guid>
      <dc:date>2024-01-22T07:11:13Z</dc:date>
    </item>
    <item>
      <title>VyOS Project November 2022 Update</title>
      <link>https://blog.vyos.io/vyos-project-november-2022-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-november-2022-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%20Project%20(1).png" alt="November 2022" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, community!&lt;/p&gt; 
&lt;p&gt;If you are wondering what we've been up to — we are on track to bring the 1.4/Sagitta release to its final shape and we are pretty sure next year we'll focus on stabilizing it and preparing it to become the new LTS release.&lt;/p&gt; 
&lt;p&gt;There are still a lot of things to do and our main focus is now on the implementations of firewall and QoS and on the new-style operational mode that automatically makes all functionality available to the CLI and to the GraphQL API without any additional effort.&lt;/p&gt; 
&lt;p&gt;However, there are multiple smaller features and fixes as well — read on for details!&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-november-2022-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/VyOS%20Project%20(1).png" alt="November 2022" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, community!&lt;/p&gt; 
&lt;p&gt;If you are wondering what we've been up to — we are on track to bring the 1.4/Sagitta release to its final shape and we are pretty sure next year we'll focus on stabilizing it and preparing it to become the new LTS release.&lt;/p&gt; 
&lt;p&gt;There are still a lot of things to do and our main focus is now on the implementations of firewall and QoS and on the new-style operational mode that automatically makes all functionality available to the CLI and to the GraphQL API without any additional effort.&lt;/p&gt; 
&lt;p&gt;However, there are multiple smaller features and fixes as well — read on for details!&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-november-2022-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>api</category>
      <category>1.4</category>
      <category>is-is</category>
      <pubDate>Wed, 23 Nov 2022 10:22:49 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-project-november-2022-update</guid>
      <dc:date>2022-11-23T10:22:49Z</dc:date>
    </item>
    <item>
      <title>VyOS Project July 2022 Update</title>
      <link>https://blog.vyos.io/vyos-project-july-2022-update</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-july-2022-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/%D0%BA%D0%BE%D1%823.png" alt="july 2022 update" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;It is time for a new update! The most important news this time includes FRR upgrade to the latest stable version 8.3, RADIUS QoS attribute support improvements, a default log option for a zone-based firewall, and more. Read on for details!&lt;/p&gt; 
&lt;h3&gt;&lt;/h3&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/vyos-project-july-2022-update" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/%D0%BA%D0%BE%D1%823.png" alt="july 2022 update" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;It is time for a new update! The most important news this time includes FRR upgrade to the latest stable version 8.3, RADIUS QoS attribute support improvements, a default log option for a zone-based firewall, and more. Read on for details!&lt;/p&gt; 
&lt;h3&gt;&lt;/h3&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fvyos-project-july-2022-update&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>firewall</category>
      <category>frr</category>
      <category>news</category>
      <pubDate>Tue, 30 Aug 2022 05:59:08 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/vyos-project-july-2022-update</guid>
      <dc:date>2022-08-30T05:59:08Z</dc:date>
    </item>
    <item>
      <title>Using DMVPN and BGP to interconnect your sites</title>
      <link>https://blog.vyos.io/using-dmvpn-and-bgp-to-interconnect-multiple-sites</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/using-dmvpn-and-bgp-to-interconnect-multiple-sites" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/image-png-Oct-30-2021-10-31-15-23-AM.png" alt="dmvpn topology pic" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;Some weeks ago a very close friend of mine approached me and asked about an issue in his VyOS installation. He is using several WireGuard tunnels in a star topology connecting his private sites with a central hub. All of his traffic is forced to traverse the hub - which adds additional latency to the connections.&lt;/p&gt; 
&lt;p&gt;He wanted to change the design so that individual spokes are able to talk to one another, directly. This requires a topology change to a full-mesh when sticking with WireGuard. A fully meshed WireGuard installation with 4 sites will require you to configure 3 WireGuard tunnels per individual site, leading to a total of 12 tunnels—too complex!&lt;/p&gt; 
&lt;p&gt;I then explained how to use &lt;a href="https://docs.vyos.io/en/equuleus/configuration/vpn/dmvpn.html?highlight=dmvpn"&gt;DMVPN&lt;/a&gt; (Dynamic Multipoint Virtual Private Network) with VyOS—and as there is a new LTS release on the way, it is time for some in-depth testing of a very old feature! As DMVPN was the initial reason I choose VyOS (1.1.7, more than 5 years ago), it is fun for me to write about the same topic in 2021.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://blog.vyos.io/using-dmvpn-and-bgp-to-interconnect-multiple-sites" title="" class="hs-featured-image-link"&gt; &lt;img src="https://blog.vyos.io/hubfs/image-png-Oct-30-2021-10-31-15-23-AM.png" alt="dmvpn topology pic" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Hello, Community!&lt;/p&gt; 
&lt;p&gt;Some weeks ago a very close friend of mine approached me and asked about an issue in his VyOS installation. He is using several WireGuard tunnels in a star topology connecting his private sites with a central hub. All of his traffic is forced to traverse the hub - which adds additional latency to the connections.&lt;/p&gt; 
&lt;p&gt;He wanted to change the design so that individual spokes are able to talk to one another, directly. This requires a topology change to a full-mesh when sticking with WireGuard. A fully meshed WireGuard installation with 4 sites will require you to configure 3 WireGuard tunnels per individual site, leading to a total of 12 tunnels—too complex!&lt;/p&gt; 
&lt;p&gt;I then explained how to use &lt;a href="https://docs.vyos.io/en/equuleus/configuration/vpn/dmvpn.html?highlight=dmvpn"&gt;DMVPN&lt;/a&gt; (Dynamic Multipoint Virtual Private Network) with VyOS—and as there is a new LTS release on the way, it is time for some in-depth testing of a very old feature! As DMVPN was the initial reason I choose VyOS (1.1.7, more than 5 years ago), it is fun for me to write about the same topic in 2021.&lt;/p&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fusing-dmvpn-and-bgp-to-interconnect-multiple-sites&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>bgp</category>
      <category>ipsec</category>
      <category>vpn</category>
      <category>dmvpn</category>
      <category>pppoe</category>
      <pubDate>Sun, 31 Oct 2021 13:04:02 GMT</pubDate>
      <author>christian@poessinger.com (Christian Pössinger)</author>
      <guid>https://blog.vyos.io/using-dmvpn-and-bgp-to-interconnect-multiple-sites</guid>
      <dc:date>2021-10-31T13:04:02Z</dc:date>
    </item>
    <item>
      <title>How to use AS path matching in your BGP policies</title>
      <link>https://blog.vyos.io/how-to-use-as-path-matching-in-your-bgp-policies</link>
      <description>&lt;div class="posthaven-post-body"&gt; 
 &lt;p&gt;AS path is one of the most fundamental attributes of a (e)BGP advertisments. Its length is the first parameter in the best path selection algorithm (shorter is better), and it's also the sole mechanism of loop detection (if an AS is seen twice, there's a loop). However, despite the important role it plays behind the scenes, it's rather underutilized in routing policies.&lt;/p&gt; 
 &lt;p&gt;A lot of time when prefix-list or specific route-map rule options such as next-hop can do, route filtering and modification based on AS path can do it better.&lt;/p&gt; 
 &lt;p&gt;Let's see how to use it.&lt;/p&gt; 
 &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt; 
 &lt;h2&gt;The as-path-list construct&lt;/h2&gt; 
 &lt;p&gt;Just like you use a prefix-list for prefix-based filtering and a community-list for community value based filtering, AS paths have their own policy building block — as-path-list.&lt;/p&gt; 
 &lt;p&gt;The basic syntax is:&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list Foo rule 10 description "some description"&lt;br&gt;
set policy as-path-list Foo rule 10 action (permit|deny)&lt;br&gt;
set policy as-path-list Foo rule 10 regex "some regex"
&lt;/pre&gt; 
 &lt;p&gt;The action parameter has the usual pitfall: if you use it in a route-map, "permit" means "match" and "deny" means "don't match".&lt;/p&gt; 
 &lt;p&gt;The most interesting part is the regex. The syntax and semantics of AS path regular expressions is a superset of &lt;a href="https://www.regextester.com/eregsyntax.html"&gt;POSIX 1003.2&lt;/a&gt;, extended with the "_" character. If you are new to regular expressions (which are not quite regular in this case — but that's another story), here's a quick reference:&lt;/p&gt; 
 &lt;dl&gt; 
  &lt;dt&gt;
   Boundaries
  &lt;/dt&gt; 
  &lt;dd&gt;
   The ^ character matches the start of the string. The $ character matches the end of the string. The expression "^$" thus matches an empty string. They can also be used for matching exact strings rather than substrings, for example, "^123 456$" will match only "123 456" but not "100 123 456 200".
  &lt;/dd&gt; 
  &lt;dt&gt;
   Wildcard
  &lt;/dt&gt; 
  &lt;dd&gt;
   The _ character is an extension of the normal syntax — it matches any AS path separator, most commonly a space, but aggregation adds some more. So "_123_456" would match either "123 456" or "{123,456}". It also matches the beginning and end of the path.
  &lt;/dd&gt; 
  &lt;dt&gt;
   Character ranges and quantifiers
  &lt;/dt&gt; 
  &lt;dd&gt;
   "[0-9]" means "any digit from 0 to 9". You can narrow that range to "[1-9]" or "[3-5]" or anything else. It can be followed by a 
   &lt;em&gt;quantifier&lt;/em&gt;. The following quantifiers are available: "*" (zero or more), "+" (one or more), and "?" (zero or one). Thus, "[0-9]+" will mean any AS number, and "1[0-9]+" will mean "any AS number that starts with 1".
  &lt;/dd&gt; 
  &lt;dt&gt;
   Groups and backreferences
  &lt;/dt&gt; 
  &lt;dd&gt;
   This is where "regular expressions" stop being regular. By enclosing an expression in parentheses, such as "([0-9]+)", you create a group. That group can later be matched with a 
   &lt;em&gt;backreference&lt;/em&gt;. For example, "([0-9]+)_\1" will match "123 123" or "345 345", but not "123 345".
  &lt;/dd&gt; 
 &lt;/dl&gt; 
 &lt;p&gt;Now let's consider common use cases.&lt;/p&gt; 
 &lt;h2&gt;Finding locally originated routes&lt;/h2&gt; 
 &lt;p&gt;It's not uncommon to see something like this:&lt;/p&gt; 
 &lt;pre&gt;set policy prefix-list LocalRoutes rule 10 action permit&lt;br&gt;
set policy prefix-list LocalRoutes rule 10 prefix 192.168.10.0/24&lt;br&gt;
set policy prefix-list LocalRoutes rule 20 action permit&lt;br&gt;
set policy prefix-list LocalRoutes rule 20 prefix 192.168.20.0/24&lt;/pre&gt; 
 &lt;p&gt;set policy route-map Out rule 10 action permit&lt;br&gt; set policy route-map Out rule 10 match ip address prefix-list LocalRoutes&lt;/p&gt; 
 &lt;p&gt;set protocols bgp 65535 network 192.168.10.0/24&lt;br&gt; set protocols bgp 65535 network 192.168.20.0/24&lt;/p&gt; 
 &lt;p&gt;set protocols bgp 65535 neighbor 10.20.30.1 route-map export Out&lt;/p&gt; 
 &lt;p&gt;This approach may have its merits, but if the goal is simply to allow all locally originated routes, there's a simpler way. The key idea is that locally originated routes have empty AS path, which we can match with a trivial regex for an empty string ("^$").&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list LocalRoutes rule 10 action permit&lt;br&gt;
set policy as-path-list LocalRoutes rule 10 regex "^$"&lt;/pre&gt; 
 &lt;p&gt;set policy route-map Out rule 10 action permit&lt;br&gt; set policy route-map Out rule 10 match as-path LocalRoutes&lt;/p&gt; 
 &lt;h2&gt;Prioritizing routes from a certain AS&lt;/h2&gt; 
 &lt;p&gt;Suppose you are connected to multiple networks, and of all those networks, AS64555 has the best link. You want as much of outgoing traffic as possible to go through AS64555. Assuming you can't or don't want to use a dedicated route map for their sessions, how can you match those routes? Pretty simple: make an expression for a string that starts (^) with 64555 followed by a path separator (_).&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list FavoriteAS rule 10 action permit&lt;br&gt;
set policy as-path-list FavoriteAS rule 10 regex "^64555_"&lt;/pre&gt; 
 &lt;p&gt;set policy route-map In rule 10 action permit&lt;br&gt; set policy route-map In rule 10 match as-path FavoriteAS&lt;/p&gt; 
 &lt;h2&gt;Detecting AS path prepends&lt;/h2&gt; 
 &lt;p&gt;Some people use AS path prepends to make their routes appear worse than they are, most commonly to avoid asymmetric routing when they don't want to route outgoing traffic through your network. Suppose you don't want to leave best path selection algorithm to its own devices and instead want to explicitly honor their request. Adding a community string for that purpose would be a better solution, but for the sake of argument let's see how we can do it.&lt;/p&gt; 
 &lt;p&gt;All we know is that a prepended path is a path that contains two or more consecutive entries of the same AS, but we don't have any specific numbers to match. This is where backreferences come into play.&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list Prepended rule 10 action permit&lt;br&gt;
set policy as-path-list Prepended rule 10 regex '([0-9]+)_\1_'&lt;/pre&gt; 
 &lt;p&gt;set policy route-map Test rule 10 action permit&lt;br&gt; set policy route-map Test rule 10 match as-path Prepended&lt;br&gt; set policy route-map Test rule 10 set local-preference 10&lt;/p&gt; 
 &lt;h2&gt;Using regular expressions for route viewing&lt;/h2&gt; 
 &lt;p&gt;Policy rules is not the only place where you can use regular expressions. You can also use them as filters for "run show ip bgp". Suppose you want to view all routes from AS64793. This is how you can do it:&lt;/p&gt; 
 &lt;pre&gt;vyos@vyos# run show ip bgp regexp "^64793_"&lt;br&gt;
BGP table version is 0, local router ID is 10.217.32.254&lt;br&gt;
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,&lt;br&gt;
              r RIB-failure, S Stale, R Removed&lt;br&gt;
Origin codes: i - IGP, e - EGP, ? - incomplete&lt;/pre&gt; 
 &lt;p&gt;Network Next Hop Metric LocPrf Weight Path&lt;br&gt; *&amp;gt; 10.91.16.0/21 10.217.15.10 0 0 64793 i&lt;br&gt; *&amp;gt; 10.123.124.0/24 10.217.15.10 1 50 0 64793 64793 64793 64793 i&lt;/p&gt; 
&lt;/div&gt;</description>
      <content:encoded>&lt;div class="posthaven-post-body"&gt; 
 &lt;p&gt;AS path is one of the most fundamental attributes of a (e)BGP advertisments. Its length is the first parameter in the best path selection algorithm (shorter is better), and it's also the sole mechanism of loop detection (if an AS is seen twice, there's a loop). However, despite the important role it plays behind the scenes, it's rather underutilized in routing policies.&lt;/p&gt; 
 &lt;p&gt;A lot of time when prefix-list or specific route-map rule options such as next-hop can do, route filtering and modification based on AS path can do it better.&lt;/p&gt; 
 &lt;p&gt;Let's see how to use it.&lt;/p&gt; 
 &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt; 
 &lt;h2&gt;The as-path-list construct&lt;/h2&gt; 
 &lt;p&gt;Just like you use a prefix-list for prefix-based filtering and a community-list for community value based filtering, AS paths have their own policy building block — as-path-list.&lt;/p&gt; 
 &lt;p&gt;The basic syntax is:&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list Foo rule 10 description "some description"&lt;br&gt;
set policy as-path-list Foo rule 10 action (permit|deny)&lt;br&gt;
set policy as-path-list Foo rule 10 regex "some regex"
&lt;/pre&gt; 
 &lt;p&gt;The action parameter has the usual pitfall: if you use it in a route-map, "permit" means "match" and "deny" means "don't match".&lt;/p&gt; 
 &lt;p&gt;The most interesting part is the regex. The syntax and semantics of AS path regular expressions is a superset of &lt;a href="https://www.regextester.com/eregsyntax.html"&gt;POSIX 1003.2&lt;/a&gt;, extended with the "_" character. If you are new to regular expressions (which are not quite regular in this case — but that's another story), here's a quick reference:&lt;/p&gt; 
 &lt;dl&gt; 
  &lt;dt&gt;
   Boundaries
  &lt;/dt&gt; 
  &lt;dd&gt;
   The ^ character matches the start of the string. The $ character matches the end of the string. The expression "^$" thus matches an empty string. They can also be used for matching exact strings rather than substrings, for example, "^123 456$" will match only "123 456" but not "100 123 456 200".
  &lt;/dd&gt; 
  &lt;dt&gt;
   Wildcard
  &lt;/dt&gt; 
  &lt;dd&gt;
   The _ character is an extension of the normal syntax — it matches any AS path separator, most commonly a space, but aggregation adds some more. So "_123_456" would match either "123 456" or "{123,456}". It also matches the beginning and end of the path.
  &lt;/dd&gt; 
  &lt;dt&gt;
   Character ranges and quantifiers
  &lt;/dt&gt; 
  &lt;dd&gt;
   "[0-9]" means "any digit from 0 to 9". You can narrow that range to "[1-9]" or "[3-5]" or anything else. It can be followed by a 
   &lt;em&gt;quantifier&lt;/em&gt;. The following quantifiers are available: "*" (zero or more), "+" (one or more), and "?" (zero or one). Thus, "[0-9]+" will mean any AS number, and "1[0-9]+" will mean "any AS number that starts with 1".
  &lt;/dd&gt; 
  &lt;dt&gt;
   Groups and backreferences
  &lt;/dt&gt; 
  &lt;dd&gt;
   This is where "regular expressions" stop being regular. By enclosing an expression in parentheses, such as "([0-9]+)", you create a group. That group can later be matched with a 
   &lt;em&gt;backreference&lt;/em&gt;. For example, "([0-9]+)_\1" will match "123 123" or "345 345", but not "123 345".
  &lt;/dd&gt; 
 &lt;/dl&gt; 
 &lt;p&gt;Now let's consider common use cases.&lt;/p&gt; 
 &lt;h2&gt;Finding locally originated routes&lt;/h2&gt; 
 &lt;p&gt;It's not uncommon to see something like this:&lt;/p&gt; 
 &lt;pre&gt;set policy prefix-list LocalRoutes rule 10 action permit&lt;br&gt;
set policy prefix-list LocalRoutes rule 10 prefix 192.168.10.0/24&lt;br&gt;
set policy prefix-list LocalRoutes rule 20 action permit&lt;br&gt;
set policy prefix-list LocalRoutes rule 20 prefix 192.168.20.0/24&lt;/pre&gt; 
 &lt;p&gt;set policy route-map Out rule 10 action permit&lt;br&gt; set policy route-map Out rule 10 match ip address prefix-list LocalRoutes&lt;/p&gt; 
 &lt;p&gt;set protocols bgp 65535 network 192.168.10.0/24&lt;br&gt; set protocols bgp 65535 network 192.168.20.0/24&lt;/p&gt; 
 &lt;p&gt;set protocols bgp 65535 neighbor 10.20.30.1 route-map export Out&lt;/p&gt; 
 &lt;p&gt;This approach may have its merits, but if the goal is simply to allow all locally originated routes, there's a simpler way. The key idea is that locally originated routes have empty AS path, which we can match with a trivial regex for an empty string ("^$").&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list LocalRoutes rule 10 action permit&lt;br&gt;
set policy as-path-list LocalRoutes rule 10 regex "^$"&lt;/pre&gt; 
 &lt;p&gt;set policy route-map Out rule 10 action permit&lt;br&gt; set policy route-map Out rule 10 match as-path LocalRoutes&lt;/p&gt; 
 &lt;h2&gt;Prioritizing routes from a certain AS&lt;/h2&gt; 
 &lt;p&gt;Suppose you are connected to multiple networks, and of all those networks, AS64555 has the best link. You want as much of outgoing traffic as possible to go through AS64555. Assuming you can't or don't want to use a dedicated route map for their sessions, how can you match those routes? Pretty simple: make an expression for a string that starts (^) with 64555 followed by a path separator (_).&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list FavoriteAS rule 10 action permit&lt;br&gt;
set policy as-path-list FavoriteAS rule 10 regex "^64555_"&lt;/pre&gt; 
 &lt;p&gt;set policy route-map In rule 10 action permit&lt;br&gt; set policy route-map In rule 10 match as-path FavoriteAS&lt;/p&gt; 
 &lt;h2&gt;Detecting AS path prepends&lt;/h2&gt; 
 &lt;p&gt;Some people use AS path prepends to make their routes appear worse than they are, most commonly to avoid asymmetric routing when they don't want to route outgoing traffic through your network. Suppose you don't want to leave best path selection algorithm to its own devices and instead want to explicitly honor their request. Adding a community string for that purpose would be a better solution, but for the sake of argument let's see how we can do it.&lt;/p&gt; 
 &lt;p&gt;All we know is that a prepended path is a path that contains two or more consecutive entries of the same AS, but we don't have any specific numbers to match. This is where backreferences come into play.&lt;/p&gt; 
 &lt;pre&gt;set policy as-path-list Prepended rule 10 action permit&lt;br&gt;
set policy as-path-list Prepended rule 10 regex '([0-9]+)_\1_'&lt;/pre&gt; 
 &lt;p&gt;set policy route-map Test rule 10 action permit&lt;br&gt; set policy route-map Test rule 10 match as-path Prepended&lt;br&gt; set policy route-map Test rule 10 set local-preference 10&lt;/p&gt; 
 &lt;h2&gt;Using regular expressions for route viewing&lt;/h2&gt; 
 &lt;p&gt;Policy rules is not the only place where you can use regular expressions. You can also use them as filters for "run show ip bgp". Suppose you want to view all routes from AS64793. This is how you can do it:&lt;/p&gt; 
 &lt;pre&gt;vyos@vyos# run show ip bgp regexp "^64793_"&lt;br&gt;
BGP table version is 0, local router ID is 10.217.32.254&lt;br&gt;
Status codes: s suppressed, d damped, h history, * valid, &amp;gt; best, i - internal,&lt;br&gt;
              r RIB-failure, S Stale, R Removed&lt;br&gt;
Origin codes: i - IGP, e - EGP, ? - incomplete&lt;/pre&gt; 
 &lt;p&gt;Network Next Hop Metric LocPrf Weight Path&lt;br&gt; *&amp;gt; 10.91.16.0/21 10.217.15.10 0 0 64793 i&lt;br&gt; *&amp;gt; 10.123.124.0/24 10.217.15.10 1 50 0 64793 64793 64793 64793 i&lt;/p&gt; 
&lt;/div&gt;  
&lt;img src="https://track.hubspot.com/__ptq.gif?a=4129050&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fblog.vyos.io%2Fhow-to-use-as-path-matching-in-your-bgp-policies&amp;amp;bu=https%253A%252F%252Fblog.vyos.io&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>as-path</category>
      <category>bgp</category>
      <category>tutorial</category>
      <category>Uncategorized</category>
      <pubDate>Fri, 23 Mar 2018 11:13:47 GMT</pubDate>
      <author>daniil@sentrium.io (Daniil Baturin)</author>
      <guid>https://blog.vyos.io/how-to-use-as-path-matching-in-your-bgp-policies</guid>
      <dc:date>2018-03-23T11:13:47Z</dc:date>
    </item>
  </channel>
</rss>
