diff options
Diffstat (limited to 'docs/configuration')
| -rw-r--r-- | docs/configuration/interfaces/dummy.rst | 15 | ||||
| -rw-r--r-- | docs/configuration/policy/index.rst | 5 | ||||
| -rw-r--r-- | docs/configuration/protocols/bfd.rst | 10 | ||||
| -rw-r--r-- | docs/configuration/protocols/bgp.rst | 77 | ||||
| -rw-r--r-- | docs/configuration/protocols/rpki.rst | 8 | ||||
| -rw-r--r-- | docs/configuration/service/dhcp-server.rst | 23 | 
6 files changed, 87 insertions, 51 deletions
diff --git a/docs/configuration/interfaces/dummy.rst b/docs/configuration/interfaces/dummy.rst index d59c1039..f5b72e0c 100644 --- a/docs/configuration/interfaces/dummy.rst +++ b/docs/configuration/interfaces/dummy.rst @@ -11,12 +11,15 @@ you can have as many as you want.  .. note:: Dummy interfaces can be used as interfaces that always stay up (in     the same fashion to loopbacks in Cisco IOS), or for testing purposes. -.. hint:: A Dummy interface is always up, thus it could be used for -   management traffic or as source/destination for and :abbr:`IGP (Interior -   Gateway Protocol)` like :ref:`routing-bgp` so your internal BGP link is not -   dependent on physical link states and multiple routes can be chosen to the -   destination. A :ref:`dummy-interface` Interface should always be preferred -   over a :ref:`loopback-interface` interface. +.. hint:: On systems with multiple redundant uplinks and routes, +   it's a good idea to use a dedicated address for management and dynamic routing protocols. +   However, assigning that address to a physical link is risky: +   if that link goes down, that address will become inaccessible. +   A common solution is to assign the management address to a loopback or a dummy interface +   and advertise that address via all physical links, so that it's reachable +   through any of them. Since in Linux-based systems, there can be only one loopback interface, +   it's better to use a dummy interface for that purpose, since they can be added, removed, +   and taken up and down independently.  *************  Configuration diff --git a/docs/configuration/policy/index.rst b/docs/configuration/policy/index.rst index c772306f..7a329500 100644 --- a/docs/configuration/policy/index.rst +++ b/docs/configuration/policy/index.rst @@ -27,8 +27,9 @@ Example    set policy route-map setmet rule 2 set as-path-prepend '2 2 2'    # Apply policy to BGP -  set protocols bgp 1 neighbor 203.0.113.2 address-family ipv4-unicast route-map import 'setmet' -  set protocols bgp 1 neighbor 203.0.113.2 address-family ipv4-unicast soft-reconfiguration 'inbound' +  set protocols bgp local-as 1 +  set protocols bgp neighbor 203.0.113.2 address-family ipv4-unicast route-map import 'setmet' +  set protocols bgp neighbor 203.0.113.2 address-family ipv4-unicast soft-reconfiguration 'inbound'  Using 'soft-reconfiguration' we get the policy update without bouncing the  neighbor. diff --git a/docs/configuration/protocols/bfd.rst b/docs/configuration/protocols/bfd.rst index 8d19334c..e5153667 100644 --- a/docs/configuration/protocols/bfd.rst +++ b/docs/configuration/protocols/bfd.rst @@ -10,7 +10,7 @@ BFD  the following RFCs: :rfc:`5880`, :rfc:`5881` and :rfc:`5883`.  In the age of very fast networks, a second of unreachability may equal millions of lost packets. -The idea behind BFD is to detect very quickly when a peer is down and take action extremely fast.  +The idea behind BFD is to detect very quickly when a peer is down and take action extremely fast.  BFD sends lots of small UDP packets very quickly to ensures that the peer is still alive. @@ -31,7 +31,7 @@ Configure BFD     Allow this BFD peer to not be directly connected -.. cfgcmd:: set protocols bfd peer <address> source  +.. cfgcmd:: set protocols bfd peer <address> source     [address <address> | interface <interface>]     Bind listener to specifid interface/address, mandatory for IPv6 @@ -45,7 +45,7 @@ Configure BFD     Remote transmission interval will be multiplied by this value -.. cfgcmd:: set protocols bfd peer <address> interval  +.. cfgcmd:: set protocols bfd peer <address> interval     [receive | transmit] <10-60000>     Interval in milliseconds @@ -58,11 +58,11 @@ Configure BFD  Enable BFD in BGP  ----------------- -.. cfgcmd:: set protocols bgp <asn> neighbor <address> bfd +.. cfgcmd:: set protocols bgp neighbor <neighbor> bfd     Enable BFD on a single BGP neighbor -.. cfgcmd:: set protocols bgp <asn> peer-group <group> bfd +.. cfgcmd:: set protocols bgp peer-group <neighbor> bfd     Enable BFD on a BGP peer group diff --git a/docs/configuration/protocols/bgp.rst b/docs/configuration/protocols/bgp.rst index 2ef7c247..f1f15f38 100644 --- a/docs/configuration/protocols/bgp.rst +++ b/docs/configuration/protocols/bgp.rst @@ -897,15 +897,14 @@ between these sub-ASes we use something that looks like EBGP but behaves like  IBGP (called confederation BGP). Confederation mechanism is described in  :rfc:`5065` -.. cfgcmd:: set protocols bgp <subasn> parameters confederation identifier +.. cfgcmd:: set protocols bgp parameters confederation identifier     <asn>     This command specifies a BGP confederation identifier. <asn> is the number     of the autonomous system that internally includes multiple sub-autonomous -   systems (a confederation). <subasn> is the number sub-autonomous system -   inside <asn>. +   systems (a confederation). -.. cfgcmd:: set protocols bgp <subasn> parameters confederation confederation +.. cfgcmd:: set protocols bgp parameters confederation confederation     peers <nsubasn>     This command sets other confederations <nsubasn> as members of autonomous @@ -1070,21 +1069,23 @@ A simple eBGP configuration:  .. code-block:: none -  set protocols bgp 65534 neighbor 192.168.0.2 ebgp-multihop '2' -  set protocols bgp 65534 neighbor 192.168.0.2 remote-as '65535' -  set protocols bgp 65534 neighbor 192.168.0.2 update-source '192.168.0.1' -  set protocols bgp 65534 address-family ipv4-unicast network '172.16.0.0/16' -  set protocols bgp 65534 parameters router-id '192.168.0.1' +  set protocols bgp local-as 65534 +  set protocols bgp neighbor 192.168.0.2 ebgp-multihop '2' +  set protocols bgp neighbor 192.168.0.2 remote-as '65535' +  set protocols bgp neighbor 192.168.0.2 update-source '192.168.0.1' +  set protocols bgp address-family ipv4-unicast network '172.16.0.0/16' +  set protocols bgp parameters router-id '192.168.0.1'  **Node 2:**  .. code-block:: none -  set protocols bgp 65535 neighbor 192.168.0.1 ebgp-multihop '2' -  set protocols bgp 65535 neighbor 192.168.0.1 remote-as '65534' -  set protocols bgp 65535 neighbor 192.168.0.1 update-source '192.168.0.2' -  set protocols bgp 65535 address-family ipv4-unicast network '172.17.0.0/16' -  set protocols bgp 65535 parameters router-id '192.168.0.2' +  set protocols bgp local-as 65535 +  set protocols bgp neighbor 192.168.0.1 ebgp-multihop '2' +  set protocols bgp neighbor 192.168.0.1 remote-as '65534' +  set protocols bgp neighbor 192.168.0.1 update-source '192.168.0.2' +  set protocols bgp address-family ipv4-unicast network '172.17.0.0/16' +  set protocols bgp parameters router-id '192.168.0.2'  Don't forget, the CIDR declared in the network statement MUST **exist in your @@ -1113,23 +1114,25 @@ A simple BGP configuration via IPv6.  .. code-block:: none -  set protocols bgp 65534 neighbor 2001:db8::2 ebgp-multihop '2' -  set protocols bgp 65534 neighbor 2001:db8::2 remote-as '65535' -  set protocols bgp 65534 neighbor 2001:db8::2 update-source '2001:db8::1' -  set protocols bgp 65534 neighbor 2001:db8::2 address-family ipv6-unicast -  set protocols bgp 65534 address-family ipv6-unicast network '2001:db8:1::/48' -  set protocols bgp 65534 parameters router-id '10.1.1.1' +  set protocols bgp local-as 65534 +  set protocols bgp neighbor 2001:db8::2 ebgp-multihop '2' +  set protocols bgp neighbor 2001:db8::2 remote-as '65535' +  set protocols bgp neighbor 2001:db8::2 update-source '2001:db8::1' +  set protocols bgp neighbor 2001:db8::2 address-family ipv6-unicast +  set protocols bgp address-family ipv6-unicast network '2001:db8:1::/48' +  set protocols bgp parameters router-id '10.1.1.1'  **Node 2:**  .. code-block:: none -  set protocols bgp 65535 neighbor 2001:db8::1 ebgp-multihop '2' -  set protocols bgp 65535 neighbor 2001:db8::1 remote-as '65534' -  set protocols bgp 65535 neighbor 2001:db8::1 update-source '2001:db8::2' -  set protocols bgp 65535 neighbor 2001:db8::1 address-family ipv6-unicast -  set protocols bgp 65535 address-family ipv6-unicast network '2001:db8:2::/48' -  set protocols bgp 65535 parameters router-id '10.1.1.2' +  set protocols bgp local-as 65535 +  set protocols bgp neighbor 2001:db8::1 ebgp-multihop '2' +  set protocols bgp neighbor 2001:db8::1 remote-as '65534' +  set protocols bgp neighbor 2001:db8::1 update-source '2001:db8::2' +  set protocols bgp neighbor 2001:db8::1 address-family ipv6-unicast +  set protocols bgp address-family ipv6-unicast network '2001:db8:2::/48' +  set protocols bgp parameters router-id '10.1.1.2'  Don't forget, the CIDR declared in the network statement **MUST exist in your  routing table (dynamic or static), the best way to make sure that is true is @@ -1164,6 +1167,7 @@ Route filter can be applied using a route-map:    set policy prefix-list6 AS65535-IN rule 10 prefix '2001:db8:2::/48'    set policy prefix-list6 AS65535-OUT rule 10 action 'deny'    set policy prefix-list6 AS65535-OUT rule 10 prefix '2001:db8:2::/48' +    set policy route-map AS65535-IN rule 10 action 'permit'    set policy route-map AS65535-IN rule 10 match ip address prefix-list 'AS65535-IN'    set policy route-map AS65535-IN rule 10 match ipv6 address prefix-list 'AS65535-IN' @@ -1172,10 +1176,12 @@ Route filter can be applied using a route-map:    set policy route-map AS65535-OUT rule 10 match ip address prefix-list 'AS65535-OUT'    set policy route-map AS65535-OUT rule 10 match ipv6 address prefix-list 'AS65535-OUT'    set policy route-map AS65535-OUT rule 20 action 'permit' -  set protocols bgp 65534 neighbor 2001:db8::2 address-family ipv4-unicast route-map export 'AS65535-OUT' -  set protocols bgp 65534 neighbor 2001:db8::2 address-family ipv4-unicast route-map import 'AS65535-IN' -  set protocols bgp 65534 neighbor 2001:db8::2 address-family ipv6-unicast route-map export 'AS65535-OUT' -  set protocols bgp 65534 neighbor 2001:db8::2 address-family ipv6-unicast route-map import 'AS65535-IN' + +  set protocols bgp local-as 65534 +  set protocols bgp neighbor 2001:db8::2 address-family ipv4-unicast route-map export 'AS65535-OUT' +  set protocols bgp neighbor 2001:db8::2 address-family ipv4-unicast route-map import 'AS65535-IN' +  set protocols bgp neighbor 2001:db8::2 address-family ipv6-unicast route-map export 'AS65535-OUT' +  set protocols bgp neighbor 2001:db8::2 address-family ipv6-unicast route-map import 'AS65535-IN'  **Node2:** @@ -1189,6 +1195,7 @@ Route filter can be applied using a route-map:    set policy prefix-list6 AS65534-IN rule 10 prefix '2001:db8:1::/48'    set policy prefix-list6 AS65534-OUT rule 10 action 'deny'    set policy prefix-list6 AS65534-OUT rule 10 prefix '2001:db8:1::/48' +    set policy route-map AS65534-IN rule 10 action 'permit'    set policy route-map AS65534-IN rule 10 match ip address prefix-list 'AS65534-IN'    set policy route-map AS65534-IN rule 10 match ipv6 address prefix-list 'AS65534-IN' @@ -1197,10 +1204,12 @@ Route filter can be applied using a route-map:    set policy route-map AS65534-OUT rule 10 match ip address prefix-list 'AS65534-OUT'    set policy route-map AS65534-OUT rule 10 match ipv6 address prefix-list 'AS65534-OUT'    set policy route-map AS65534-OUT rule 20 action 'permit' -  set protocols bgp 65535 neighbor 2001:db8::1 address-family ipv4-unicast route-map export 'AS65534-OUT' -  set protocols bgp 65535 neighbor 2001:db8::1 address-family ipv4-unicast route-map import 'AS65534-IN' -  set protocols bgp 65535 neighbor 2001:db8::1 address-family ipv6-unicast route-map export 'AS65534-OUT' -  set protocols bgp 65535 neighbor 2001:db8::1 address-family ipv6-unicast route-map import 'AS65534-IN' + +  set protocols bgp local-as 65535 +  set protocols bgp neighbor 2001:db8::1 address-family ipv4-unicast route-map export 'AS65534-OUT' +  set protocols bgp neighbor 2001:db8::1 address-family ipv4-unicast route-map import 'AS65534-IN' +  set protocols bgp neighbor 2001:db8::1 address-family ipv6-unicast route-map export 'AS65534-OUT' +  set protocols bgp neighbor 2001:db8::1 address-family ipv6-unicast route-map import 'AS65534-IN'  We could expand on this and also deny link local and multicast in the rule 20  action deny. diff --git a/docs/configuration/protocols/rpki.rst b/docs/configuration/protocols/rpki.rst index d9884296..cae66044 100644 --- a/docs/configuration/protocols/rpki.rst +++ b/docs/configuration/protocols/rpki.rst @@ -30,9 +30,9 @@ in :rfc:`8210`.    If you are new to these routing security technologies then there is an    `excellent guide to RPKI`_ by NLnet Labs which will get you up to speed    very quickly. Their documentation explains everything from what RPKI is to -  deploying it in production (albeit with a focus on using NLnet Labs' -  tools). It also has some `help and operational guidance`_ including -  "What can I do about my route having an Invalid state?" +  deploying it in production. It also has some  +  `help and operational guidance`_ including "What can I do about my route  +  having an Invalid state?"  ***************  Getting started @@ -197,6 +197,6 @@ Test`_ experimental tool.  .. _RPKI analytics: https://www.nlnetlabs.nl/projects/rpki/rpki-analytics/  .. _RIPE Labs RPKI Test: https://sg-pub.ripe.net/jasper/rpki-web-test/  .. _excellent guide to RPKI: https://rpki.readthedocs.io/ -.. _help and operational guidance: https://rpki.readthedocs.io/en/latest/about/help.htm +.. _help and operational guidance: https://rpki.readthedocs.io/en/latest/about/help.html  .. start_vyoslinter diff --git a/docs/configuration/service/dhcp-server.rst b/docs/configuration/service/dhcp-server.rst index 28dddb2f..3f435605 100644 --- a/docs/configuration/service/dhcp-server.rst +++ b/docs/configuration/service/dhcp-server.rst @@ -374,6 +374,29 @@ Raw Parameters    set service dhcp-server shared-network-name dhcpexample subnet 192.0.2.0/24 static-mapping example static-mapping-parameters "option domain-name-servers 192.0.2.11, 192.0.2.12;"    set service dhcp-server shared-network-name dhcpexample subnet 192.0.2.0/24 static-mapping example static-mapping-parameters "option pxelinux.configfile "pxelinux.cfg/01-00-15-17-44-2d-aa";" +Option 43 for UniFI +------------------- + +* These parameters need to be part of the DHCP global options. They stay unchanged. + + +.. code-block:: none + + set service dhcp-server global-parameters 'option space ubnt;' + set service dhcp-server global-parameters 'option ubnt.unifi-address code 1 = ip-address;' + set service dhcp-server global-parameters 'class "ubnt" {' + set service dhcp-server global-parameters 'match if substring (option vendor-class-identifier, 0, 4) = "ubnt";' + set service dhcp-server global-parameters 'option vendor-class-identifier "ubnt";' + set service dhcp-server global-parameters 'vendor-option-space ubnt;' + set service dhcp-server global-parameters '}' + +* Now we add the option to the scope, adapt to your setup + + +.. code-block:: none + + set service dhcp-server shared-network-name example-scope subnet 10.1.1.0/24 subnet-parameters 'option ubnt.unifi-address 172.16.1.10;' +  Operation Mode  ==============  | 
