Difference between revisions of "Junos Clue"

From W9CR
Jump to navigation Jump to search
(Created page with "Some helpful things on junos = Junos filter BGP RIB routes based on prefix list = You need to add 'keep none' to the filter set protocols bgp group eBGP-to-peer-v6 '''keep...")
 
Line 18: Line 18:
 
  v4
 
  v4
 
  curl -4 --no-keepalive --connect-timeout 5 -vv -o /dev/null http://ubuntu-mirror-2.ps6.canonical.com/ubuntu/ls-lR.gz
 
  curl -4 --no-keepalive --connect-timeout 5 -vv -o /dev/null http://ubuntu-mirror-2.ps6.canonical.com/ubuntu/ls-lR.gz
 +
 +
= Auto Firewall BGP peers =
 +
 +
This is a neat way to auto configure your BGP peer firewall without having to update it all the time you add a peer. 
 +
 +
== example firewall ==
 +
So here's an example firewall.  Note that we record a count and log the errors here.  With out the last deny term, it would not be counted or logged. 
 +
 +
<pre>
 +
firewall {
 +
            family inet {
 +
                filter CONTROL-PLANE-IPV4 {
 +
                    term ACCEPT-BGP {
 +
                        from {
 +
                            /* Two lists, and they are not interchangeable.
 +
                            * AUTO-BGP-NEIGHBORS-IPV4 reads the top-level
 +
                            * `protocols bgp` tree; AUTO-BGP-NEIGHBORS-V4
 +
                            * reads the customer and route-server groups,
 +
                            * which live inside routing instances. A peer
 +
                            * missing from both falls through to
 +
                            * DENY-UNCONFIGURED-BGP below and the session
 +
                            * never leaves Active - the failure recorded at
 +
                            *
 +
                            * They cannot be one list. A prefix-list holds
 +
                            * exactly one apply-path and a second one
 +
                            * silently replaces the firs */
 +
                            source-prefix-list {
 +
                                AUTO-BGP-NEIGHBORS-IPV4;
 +
                                AUTO-BGP-NEIGHBORS-V4;
 +
                            }
 +
                            protocol tcp;
 +
                            destination-port bgp;
 +
                        }
 +
                        then {
 +
                            count ACCEPT-BGP;
 +
                            inactive: log;
 +
                            accept;
 +
                        }
 +
                    }
 +
                    term DENY-UNCONFIGURED-BGP {
 +
                        from {
 +
                            protocol tcp;
 +
                            destination-port bgp;
 +
                        }
 +
                        then {
 +
                            count DENY-UNCONFIGURED-BGP;
 +
                            log;
 +
                            discard;
 +
                        }
 +
                    }
 +
                }
 +
            }
 +
        }
 +
</pre>
 +
== Prefix list ==
 +
 +
Now this will match any bgp group ending in -IPV4, extract the neighbor IP. 
 +
 +
            prefix-list AUTO-BGP-NEIGHBORS-IPV4 {
 +
                apply-path "protocols bgp group <*-IPV4> neighbor <*>";
 +
 +
and how it auto expands:
 +
 +
<pre>
 +
bryan@7> show configuration policy-options prefix-list AUTO-BGP-NEIGHBORS-V4 |display inheritance
 +
##
 +
## 'routing-instances <*> protocols bgp group <*-V4> neighbor <*>' was inherited from group 'BASE-PREFIX-LISTS'
 +
## apply-path was expanded to:
 +
##    206.108.114.11/32;
 +
##    149.112.178.3/32;
 +
##    149.112.178.4/32;
 +
##    149.112.178.6/32;
 +
##    149.112.178.7/32;
 +
##    149.112.178.5/32;
 +
##
 +
apply-path "routing-instances <*> protocols bgp group <*-V4> neighbor <*>";
 +
</pre>

Revision as of 23:41, 16 October 2026

Some helpful things on junos

Junos filter BGP RIB routes based on prefix list

You need to add 'keep none' to the filter

set protocols bgp group eBGP-to-peer-v6 keep none


Shell Commands

start shell on the box

start shell 

use curl to get a file, but disable tcp keep alives which causes issues

v6
curl -6 --interface 2607:f138:0:2::5 --no-keepalive --connect-timeout 5 -vv -o /dev/null http://ubuntu-mirror-2.ps6.canonical.com/ubuntu/ls-lR.gz
v4
curl -4 --no-keepalive --connect-timeout 5 -vv -o /dev/null http://ubuntu-mirror-2.ps6.canonical.com/ubuntu/ls-lR.gz

Auto Firewall BGP peers

This is a neat way to auto configure your BGP peer firewall without having to update it all the time you add a peer.

example firewall

So here's an example firewall. Note that we record a count and log the errors here. With out the last deny term, it would not be counted or logged.

firewall {
            family inet {
                filter CONTROL-PLANE-IPV4 {
                    term ACCEPT-BGP {
                        from {
                            /* Two lists, and they are not interchangeable.
                             * AUTO-BGP-NEIGHBORS-IPV4 reads the top-level
                             * `protocols bgp` tree; AUTO-BGP-NEIGHBORS-V4
                             * reads the customer and route-server groups,
                             * which live inside routing instances. A peer
                             * missing from both falls through to
                             * DENY-UNCONFIGURED-BGP below and the session
                             * never leaves Active - the failure recorded at
                             *
                             * They cannot be one list. A prefix-list holds
                             * exactly one apply-path and a second one
                             * silently replaces the firs */
                            source-prefix-list {
                                AUTO-BGP-NEIGHBORS-IPV4;
                                AUTO-BGP-NEIGHBORS-V4;
                            }
                            protocol tcp;
                            destination-port bgp;
                        }
                        then {
                            count ACCEPT-BGP;
                            inactive: log;
                            accept;
                        }
                    }
                    term DENY-UNCONFIGURED-BGP {
                        from {
                            protocol tcp;
                            destination-port bgp;
                        }
                        then {
                            count DENY-UNCONFIGURED-BGP;
                            log;
                            discard;
                        }
                    }
                }
            }
        }

Prefix list

Now this will match any bgp group ending in -IPV4, extract the neighbor IP.

           prefix-list AUTO-BGP-NEIGHBORS-IPV4 {
               apply-path "protocols bgp group <*-IPV4> neighbor <*>";

and how it auto expands:

bryan@7> show configuration policy-options prefix-list AUTO-BGP-NEIGHBORS-V4 |display inheritance
##
## 'routing-instances <*> protocols bgp group <*-V4> neighbor <*>' was inherited from group 'BASE-PREFIX-LISTS'
## apply-path was expanded to:
##     206.108.114.11/32;
##     149.112.178.3/32;
##     149.112.178.4/32;
##     149.112.178.6/32;
##     149.112.178.7/32;
##     149.112.178.5/32;
##
apply-path "routing-instances <*> protocols bgp group <*-V4> neighbor <*>";