mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
Merge branch 'vyos:master' into master
This commit is contained in:
commit
a8f2f59e33
@ -1 +1 @@
|
|||||||
Subproject commit 0de84e53c36604af2bac3b5d8eb00480f9623aa0
|
Subproject commit 09efa0550dd169e30a851513781b611dd84e9c79
|
||||||
@ -1,29 +1,31 @@
|
|||||||
.. _cloud-init:
|
:lastproofread: 2021-06-27
|
||||||
|
|
||||||
|
. _cloud-init:
|
||||||
|
|
||||||
###############
|
###############
|
||||||
VyOS cloud-init
|
VyOS cloud-init
|
||||||
###############
|
###############
|
||||||
|
|
||||||
Cloud instances of VyOS are initialized using the industry-standard cloud-init.
|
Cloud instances of VyOS are initialized using the industry-standard
|
||||||
Via cloud-init, the system performs tasks such as injecting SSH keys and
|
cloud-init. Via cloud-init, the system performs tasks such as injecting
|
||||||
configuring the network. In addition, the user can supply a custom
|
SSH keys and configuring the network. In addition, the user can supply a custom
|
||||||
configuration at the time of instance launch.
|
configuration at the time of instance launch.
|
||||||
|
|
||||||
**************
|
**************
|
||||||
Config Sources
|
Config Sources
|
||||||
**************
|
**************
|
||||||
|
|
||||||
VyOS support three type of config sources.
|
VyOS support three types of config sources.
|
||||||
|
|
||||||
.. stop_vyoslinter
|
* Metadata - Metadata is sourced by the cloud platform or hypervisor.
|
||||||
|
In some clouds, there is implemented as an HTTP endpoint at
|
||||||
|
http://169.254.169.254.
|
||||||
|
|
||||||
* Metadata - Metadata is sourced by the cloud platform or hypervisor. In some clouds, there is implemented as an HTTP endpoint at http://169.254.169.254.
|
* Network configuration - This config source informs the system about the
|
||||||
|
network.
|
||||||
|
|
||||||
* Network configuration - Ths config source informs the system about the network.
|
* User-data - User-data is specified by the user. This config source offers the
|
||||||
|
most flexibility and will be the focus of this documentation.
|
||||||
* User-data - User-data is specified by the user. This config source offers the most flexibility and will be the focus of this documentation.
|
|
||||||
|
|
||||||
.. start_vyoslinter
|
|
||||||
|
|
||||||
|
|
||||||
*********
|
*********
|
||||||
@ -86,7 +88,7 @@ These are the VyOS defaults and fallbacks.
|
|||||||
* DHCP on first Ethernet interface if no network configuration is provided
|
* DHCP on first Ethernet interface if no network configuration is provided
|
||||||
|
|
||||||
|
|
||||||
All of these can be overridden using configuration in user-data.
|
All of these can be overridden using the configuration in user-data.
|
||||||
|
|
||||||
|
|
||||||
***************
|
***************
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-27
|
||||||
|
|
||||||
.. _command-scripting:
|
.. _command-scripting:
|
||||||
|
|
||||||
Command Scripting
|
Command Scripting
|
||||||
@ -34,7 +36,7 @@ example, if you want to disable a BGP peer on VRRP transition to backup:
|
|||||||
Run operational commands
|
Run operational commands
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
Unlike a normal configuration sessions, all operational commands must be
|
Unlike a normal configuration session, all operational commands must be
|
||||||
prepended with ``run``, even if you haven't created a session with configure.
|
prepended with ``run``, even if you haven't created a session with configure.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -44,8 +46,8 @@ prepended with ``run``, even if you haven't created a session with configure.
|
|||||||
run show interfaces
|
run show interfaces
|
||||||
exit
|
exit
|
||||||
|
|
||||||
Other script language
|
Other script languages
|
||||||
---------------------
|
----------------------
|
||||||
|
|
||||||
If you want to script the configs in a language other than bash you can have
|
If you want to script the configs in a language other than bash you can have
|
||||||
your script output commands and then source them in a bash script.
|
your script output commands and then source them in a bash script.
|
||||||
@ -108,7 +110,7 @@ group, the script can be safeguarded like this:
|
|||||||
Executing pre-hooks/post-hooks Scripts
|
Executing pre-hooks/post-hooks Scripts
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
Vyos has the ability to run custom scripts before and after each commit
|
VyOS has the ability to run custom scripts before and after each commit
|
||||||
|
|
||||||
The default directories where your custom Scripts should be located are:
|
The default directories where your custom Scripts should be located are:
|
||||||
|
|
||||||
@ -124,7 +126,8 @@ Scripts are run in alphabetical order. Their names must consist entirely of
|
|||||||
ASCII upper- and lower-case letters,ASCII digits, ASCII underscores, and
|
ASCII upper- and lower-case letters,ASCII digits, ASCII underscores, and
|
||||||
ASCII minus-hyphens.No other characters are allowed.
|
ASCII minus-hyphens.No other characters are allowed.
|
||||||
|
|
||||||
.. note:: Custom scripts are not executed with root privileges (Use sudo inside if this is necessary).
|
.. note:: Custom scripts are not executed with root privileges
|
||||||
|
(Use sudo inside if this is necessary).
|
||||||
|
|
||||||
A simple example is shown below, where the ops command executed in
|
A simple example is shown below, where the ops command executed in
|
||||||
the post-hook script is "show interfaces".
|
the post-hook script is "show interfaces".
|
||||||
@ -148,8 +151,8 @@ Preconfig on boot
|
|||||||
The ``/config/scripts/vyos-preconfig-bootup.script`` script is called on boot
|
The ``/config/scripts/vyos-preconfig-bootup.script`` script is called on boot
|
||||||
before the VyOS configuration during boot process.
|
before the VyOS configuration during boot process.
|
||||||
|
|
||||||
Any modifications done to work around unfixed bugs and implement enhancements
|
Any modifications were done to work around unfixed bugs and implement
|
||||||
which are not complete in the VyOS system can be placed here.
|
enhancements that are not complete in the VyOS system can be placed here.
|
||||||
|
|
||||||
The default file looks like this:
|
The default file looks like this:
|
||||||
|
|
||||||
@ -167,8 +170,8 @@ Postconfig on boot
|
|||||||
The ``/config/scripts/vyos-postconfig-bootup.script`` script is called on boot
|
The ``/config/scripts/vyos-postconfig-bootup.script`` script is called on boot
|
||||||
after the VyOS configuration is fully applied.
|
after the VyOS configuration is fully applied.
|
||||||
|
|
||||||
Any modifications done to work around unfixed bugs and implement enhancements
|
Any modifications were done to work around unfixed bugs and implement
|
||||||
which are not complete in the VyOS system can be placed here.
|
enhancements that are not complete in the VyOS system can be placed here.
|
||||||
|
|
||||||
The default file looks like this:
|
The default file looks like this:
|
||||||
|
|
||||||
@ -179,6 +182,6 @@ The default file looks like this:
|
|||||||
# applied. Any modifications required to work around unfixed bugs or use
|
# applied. Any modifications required to work around unfixed bugs or use
|
||||||
# services not available through the VyOS CLI system can be placed here.
|
# services not available through the VyOS CLI system can be placed here.
|
||||||
|
|
||||||
.. hint:: For configuration/upgrade management issues, modification of these
|
.. hint:: For configuration/upgrade management issues, modification of this
|
||||||
script should be the last option. Always try to find solutions based on CLI
|
script should be the last option. Always try to find solutions based on CLI
|
||||||
commands first.
|
commands first.
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-28
|
||||||
|
|
||||||
.. _vyos-ansible:
|
.. _vyos-ansible:
|
||||||
|
|
||||||
Ansible
|
Ansible
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-28
|
||||||
|
|
||||||
.. _vyosapi:
|
.. _vyosapi:
|
||||||
|
|
||||||
########
|
########
|
||||||
@ -10,11 +12,11 @@ for configuration and enabling the API see :ref:`http-api`
|
|||||||
Authentication
|
Authentication
|
||||||
**************
|
**************
|
||||||
|
|
||||||
All Endpoint only listen on HTTP POST requests and the API KEY must set as
|
All endpoints only listen on HTTP POST requests and the API KEY must set as
|
||||||
``key`` in the formdata.
|
``key`` in the formdata.
|
||||||
|
|
||||||
Below see one example or curl and one for python.
|
Below see one example for curl and one for python.
|
||||||
In the following, the documentation is reduced to curl.
|
The rest of the documentation is reduced to curl.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -74,8 +76,7 @@ To get the whole configuration, pass an empty list to the ``path`` field
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
only get a part of the configuration,
|
To only get a part of the configuration, for example ``system syslog``.
|
||||||
for example ``system syslog``.
|
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -105,7 +106,7 @@ for example ``system syslog``.
|
|||||||
if you just want the Value of a multi-valued node, use the ``returnValues``
|
if you just want the Value of a multi-valued node, use the ``returnValues``
|
||||||
operation.
|
operation.
|
||||||
|
|
||||||
for example get the addresses of a ``dum0`` interface
|
For example, get the addresses of a ``dum0`` interface.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -165,9 +166,9 @@ delete an image, for example ``1.3-rolling-202006070117``
|
|||||||
/show
|
/show
|
||||||
=====
|
=====
|
||||||
|
|
||||||
The ``/show`` endpoint is to show everthing in operational mode
|
The ``/show`` endpoint is to show everything in the operational mode.
|
||||||
|
|
||||||
for example which images are installed
|
For example, show which images are installed.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -189,7 +190,7 @@ for example which images are installed
|
|||||||
/generate
|
/generate
|
||||||
=========
|
=========
|
||||||
|
|
||||||
to run a ``generate`` command use the
|
THe ``generate`` endpoint run a ``generate`` command.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -242,10 +243,10 @@ You can pass a ``set``, ``delete`` or ``comment`` command to the
|
|||||||
"error": null
|
"error": null
|
||||||
}
|
}
|
||||||
|
|
||||||
The API push every request to a session and commit it.
|
The API pushes every request to a session and commit it.
|
||||||
But some of VyOS components like DHCP and PPPoE Servers, IPSec, VXLAN, and
|
But some of VyOS components like DHCP and PPPoE Servers, IPSec, VXLAN, and
|
||||||
other tunnels require full configuration for commit.
|
other tunnels require full configuration for commit.
|
||||||
The Endpoint will process multiple commands when you pass them as a list to
|
The endpoint will process multiple commands when you pass them as a list to
|
||||||
the ``data`` field.
|
the ``data`` field.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|||||||
@ -8,6 +8,32 @@
|
|||||||
_ext/releasenotes.py
|
_ext/releasenotes.py
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-27
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T3653` (default): Cloudinit subnet error if a cidr (/24) is used instead of a subnet mask (255.255.255.0)
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-25
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T3650` (bug): OpenVPN: Upgrade package to 2.5.1 before releasing VyOS 1.3.0
|
||||||
|
* :vytask:`T3649` (feature): Add bonding additional hash-policy
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-24
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T2722` (bug): get_config_dict() and key_mangling=('-', '_') will alter CLI data for tagNodes
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-22
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T3629` (bug): IPoE server shifting address in the range
|
||||||
|
* :vytask:`T3582` (default): 'delete log file' does not work
|
||||||
|
|
||||||
|
|
||||||
2021-06-19
|
2021-06-19
|
||||||
==========
|
==========
|
||||||
|
|
||||||
@ -555,7 +581,7 @@
|
|||||||
2021-02-16
|
2021-02-16
|
||||||
==========
|
==========
|
||||||
|
|
||||||
* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.127 / 5.10.45
|
* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.128 / 5.10.46
|
||||||
|
|
||||||
|
|
||||||
2021-02-14
|
2021-02-14
|
||||||
|
|||||||
@ -8,6 +8,35 @@
|
|||||||
_ext/releasenotes.py
|
_ext/releasenotes.py
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-27
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T3653` (default): Cloudinit subnet error if a cidr (/24) is used instead of a subnet mask (255.255.255.0)
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-25
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T3641` (feature): Upgrade base system from Debian Buster -> Debian Bullseye
|
||||||
|
* :vytask:`T3649` (feature): Add bonding additional hash-policy
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-23
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T3647` (feature): Bullseye: gcc defaults to passing --as-needed to linker
|
||||||
|
* :vytask:`T3644` (default): Replace GCC with a simpler preprocessor for including nested XML snippets in XML documents
|
||||||
|
* :vytask:`T3356` (feature): Script for remote file transfers
|
||||||
|
|
||||||
|
|
||||||
|
2021-06-22
|
||||||
|
==========
|
||||||
|
|
||||||
|
* :vytask:`T3629` (bug): IPoE server shifting address in the range
|
||||||
|
* :vytask:`T3645` (feature): Bullseye: ethtool changed output for ring-buffer information
|
||||||
|
* :vytask:`T3582` (default): 'delete log file' does not work
|
||||||
|
|
||||||
|
|
||||||
2021-06-21
|
2021-06-21
|
||||||
==========
|
==========
|
||||||
|
|
||||||
@ -662,7 +691,7 @@
|
|||||||
==========
|
==========
|
||||||
|
|
||||||
* :vytask:`T3313` (bug): ospfv3 interface missing options
|
* :vytask:`T3313` (bug): ospfv3 interface missing options
|
||||||
* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.127 / 5.10.45
|
* :vytask:`T3318` (feature): Update Linux Kernel to v5.4.128 / 5.10.46
|
||||||
|
|
||||||
|
|
||||||
2021-02-15
|
2021-02-15
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-28
|
||||||
|
|
||||||
.. _examples-azure-vpn-bgp:
|
.. _examples-azure-vpn-bgp:
|
||||||
|
|
||||||
Route-Based Site-to-Site VPN to Azure (BGP over IKEv2/IPsec)
|
Route-Based Site-to-Site VPN to Azure (BGP over IKEv2/IPsec)
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-28
|
||||||
|
|
||||||
.. _examples-azure-vpn-dual-bgp:
|
.. _examples-azure-vpn-dual-bgp:
|
||||||
|
|
||||||
Route-Based Redundant Site-to-Site VPN to Azure (BGP over IKEv2/IPsec)
|
Route-Based Redundant Site-to-Site VPN to Azure (BGP over IKEv2/IPsec)
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-28
|
||||||
|
|
||||||
.. _examples-bgp-ipv6-unnumbered:
|
.. _examples-bgp-ipv6-unnumbered:
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
|
|||||||
@ -1,7 +1,4 @@
|
|||||||
|
:lastproofread: 2021-06-28
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. _examples-dhcp-relay-through-gre-bridge:
|
.. _examples-dhcp-relay-through-gre-bridge:
|
||||||
|
|
||||||
|
|||||||
@ -1,24 +1,26 @@
|
|||||||
|
:lastproofread: 2021-06-28
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
High Availability Walkthrough
|
High Availability Walkthrough
|
||||||
#############################
|
#############################
|
||||||
|
|
||||||
This document walks you through a complete HA setup of two VyOS machines. This
|
This document walks you through a complete HA setup of two VyOS machines. This
|
||||||
design is based on a VM as the primary router, and a physical machine as a
|
design is based on a VM as the primary router and a physical machine as a
|
||||||
backup, using VRRP, BGP, OSPF and conntrack sharing.
|
backup, using VRRP, BGP, OSPF, and conntrack sharing.
|
||||||
|
|
||||||
The aim of this document is to walk you through setting everything up, so
|
This document aims to walk you through setting everything up, so
|
||||||
at a point where you can reboot any machine and not lose more than a few
|
at a point where you can reboot any machine and not lose more than a few
|
||||||
seconds worth of connectivity.
|
seconds worth of connectivity.
|
||||||
|
|
||||||
Design
|
Design
|
||||||
======
|
======
|
||||||
|
|
||||||
This is based on a real life, in production design. One of the complex issues
|
This is based on a real-life production design. One of the complex issues
|
||||||
is ensuring you have redundant data INTO your network. We do this with a pair
|
is ensuring you have redundant data INTO your network. We do this with a pair
|
||||||
of Cisco Nexus switches, and using Virtual PortChannels that are spanned across
|
of Cisco Nexus switches and using Virtual PortChannels that are spanned across
|
||||||
them. This as an added bonus, also allows for complete switch failure without
|
them. As a bonus, this also allows for complete switch failure without
|
||||||
an outage. How you achieve this yourself is left as an exercise to the reader
|
an outage. How you achieve this yourself is left as an exercise to the reader.
|
||||||
but our setup is documented here.
|
But our setup is documented here.
|
||||||
|
|
||||||
Walkthrough suggestion
|
Walkthrough suggestion
|
||||||
----------------------
|
----------------------
|
||||||
@ -31,7 +33,7 @@ If you are following through this document, it is strongly suggested you
|
|||||||
complete the entire document, ONLY doing the virtual router1 steps, and then
|
complete the entire document, ONLY doing the virtual router1 steps, and then
|
||||||
come back and walk through it AGAIN on the backup hardware router.
|
come back and walk through it AGAIN on the backup hardware router.
|
||||||
|
|
||||||
This ensures you don't go to fast, or miss a step. However, it will make your
|
This ensures you don't go too fast or miss a step. However, it will make your
|
||||||
life easier to configure the fixed IP address and default route now on the
|
life easier to configure the fixed IP address and default route now on the
|
||||||
hardware router.
|
hardware router.
|
||||||
|
|
||||||
@ -43,7 +45,7 @@ provider, which we are publishing on VLAN100.
|
|||||||
|
|
||||||
They want us to establish a BGP session to their routers on 192.0.2.11 and
|
They want us to establish a BGP session to their routers on 192.0.2.11 and
|
||||||
192.0.2.12 from our routers 192.0.2.21 and 192.0.2.22. They are AS 65550 and
|
192.0.2.12 from our routers 192.0.2.21 and 192.0.2.22. They are AS 65550 and
|
||||||
we are AS65551.
|
we are AS 65551.
|
||||||
|
|
||||||
Our routers are going to have a floating IP address of 203.0.113.1, and use
|
Our routers are going to have a floating IP address of 203.0.113.1, and use
|
||||||
.2 and .3 as their fixed IPs.
|
.2 and .3 as their fixed IPs.
|
||||||
@ -54,13 +56,13 @@ When traffic is originated from the 10.200.201.0/24 network, it will be
|
|||||||
masqueraded to 203.0.113.1
|
masqueraded to 203.0.113.1
|
||||||
|
|
||||||
For connection between sites, we are running a WireGuard link to two REMOTE
|
For connection between sites, we are running a WireGuard link to two REMOTE
|
||||||
routers, and using OSPF over those links to distribute routes. That remote
|
routers and using OSPF over those links to distribute routes. That remote
|
||||||
site is expected to send traffic from anything in 10.201.0.0/16
|
site is expected to send traffic from anything in 10.201.0.0/16
|
||||||
|
|
||||||
VLANs
|
VLANs
|
||||||
-----
|
-----
|
||||||
|
|
||||||
These are the vlans we wll be using:
|
These are the vlans we will be using:
|
||||||
|
|
||||||
* 50: Upstream, using the 192.0.2.0/24 network allocated by them.
|
* 50: Upstream, using the 192.0.2.0/24 network allocated by them.
|
||||||
* 100: 'Public' network, using our 203.0.113.0/24 network.
|
* 100: 'Public' network, using our 203.0.113.0/24 network.
|
||||||
@ -95,7 +97,7 @@ of scope of this.
|
|||||||
|
|
||||||
.. note:: Our implementation uses VMware's Distributed Port Groups, which allows
|
.. note:: Our implementation uses VMware's Distributed Port Groups, which allows
|
||||||
VMware to use LACP. This is a part of the ENTERPRISE licence, and is not
|
VMware to use LACP. This is a part of the ENTERPRISE licence, and is not
|
||||||
available on a Free licence. If you are implementing this and do not have
|
available on a free licence. If you are implementing this and do not have
|
||||||
access to DPGs, you should not use VMware, and use some other virtualization
|
access to DPGs, you should not use VMware, and use some other virtualization
|
||||||
platform instead.
|
platform instead.
|
||||||
|
|
||||||
@ -103,7 +105,7 @@ of scope of this.
|
|||||||
Basic Setup (via console)
|
Basic Setup (via console)
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
Create your router1 VM so it is able to withstand a VM Host failing, or a
|
Create your router1 VM. So it can withstand a VM Host failing or a
|
||||||
network link failing. Using VMware, this is achieved by enabling vSphere DRS,
|
network link failing. Using VMware, this is achieved by enabling vSphere DRS,
|
||||||
vSphere Availability, and creating a Distributed Port Group that uses LACP.
|
vSphere Availability, and creating a Distributed Port Group that uses LACP.
|
||||||
|
|
||||||
@ -177,7 +179,7 @@ Enable SSH so you can now SSH into the routers, rather than using the console.
|
|||||||
commit
|
commit
|
||||||
save
|
save
|
||||||
|
|
||||||
At this point you should be able to SSH into both of them, and will no longer
|
At this point, you should be able to SSH into both of them, and will no longer
|
||||||
need access to the console (unless you break something!)
|
need access to the console (unless you break something!)
|
||||||
|
|
||||||
|
|
||||||
@ -417,9 +419,9 @@ Make sure you can ping 10.254.60.1 and .2 from both routers.
|
|||||||
Create Export Filter
|
Create Export Filter
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
We only want to export the networks we know we should be exporting. Always
|
We only want to export the networks we know. Always do a whitelist on your route
|
||||||
whitelist your route filters, both importing and exporting. A good rule of
|
filters, both importing and exporting. A good rule of thumb is
|
||||||
thumb is **'If you are not the default router for a network, don't advertise
|
**'If you are not the default router for a network, don't advertise
|
||||||
it'**. This means we explicitly do not want to advertise the 192.0.2.0/24
|
it'**. This means we explicitly do not want to advertise the 192.0.2.0/24
|
||||||
network (but do want to advertise 10.200.201.0 and 203.0.113.0, which we ARE
|
network (but do want to advertise 10.200.201.0 and 203.0.113.0, which we ARE
|
||||||
the default route for). This filter is applied to ``redistribute connected``.
|
the default route for). This filter is applied to ``redistribute connected``.
|
||||||
@ -448,7 +450,7 @@ default again. This is called 'flapping'.
|
|||||||
Create Import Filter
|
Create Import Filter
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
We only want to import networks we know about. Our OSPF peer should only be
|
We only want to import networks we know. Our OSPF peer should only be
|
||||||
advertising networks in the 10.201.0.0/16 range. Note that this is an INVERSE
|
advertising networks in the 10.201.0.0/16 range. Note that this is an INVERSE
|
||||||
MATCH. You deny in access-list 100 to accept the route.
|
MATCH. You deny in access-list 100 to accept the route.
|
||||||
|
|
||||||
@ -491,7 +493,7 @@ Test OSPF
|
|||||||
|
|
||||||
When you have enabled OSPF on both routers, you should be able to see each
|
When you have enabled OSPF on both routers, you should be able to see each
|
||||||
other with the command ``show ip ospf neighbour``. The state must be 'Full'
|
other with the command ``show ip ospf neighbour``. The state must be 'Full'
|
||||||
or '2-Way', if it is not then there is a network connectivity issue between the
|
or '2-Way'. If it is not, then there is a network connectivity issue between the
|
||||||
hosts. This is often caused by NAT or MTU issues. You should not see any new
|
hosts. This is often caused by NAT or MTU issues. You should not see any new
|
||||||
routes (unless this is the second pass) in the output of ``show ip route``
|
routes (unless this is the second pass) in the output of ``show ip route``
|
||||||
|
|
||||||
@ -514,8 +516,8 @@ You should now be able to see the advertised network on the other host.
|
|||||||
Duplicate configuration
|
Duplicate configuration
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
At this pont you now need to create the X link between all four routers. Use a
|
At this point, you now need to create the X link between all four routers.
|
||||||
different /30 for each link.
|
Use amdifferent /30 for each link.
|
||||||
|
|
||||||
Priorities
|
Priorities
|
||||||
----------
|
----------
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-29
|
||||||
|
|
||||||
.. _examples-ospf-unnumbered:
|
.. _examples-ospf-unnumbered:
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-29
|
||||||
|
|
||||||
.. _examples-pppoe-ipv6-basic:
|
.. _examples-pppoe-ipv6-basic:
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
@ -5,9 +7,9 @@ PPPoE IPv6 Basic Setup for Home Network
|
|||||||
#######################################
|
#######################################
|
||||||
|
|
||||||
This document is to describe a basic setup using PPPoE with DHCPv6-PD +
|
This document is to describe a basic setup using PPPoE with DHCPv6-PD +
|
||||||
SLAAC to construct a typical home network. The user can follow steps described
|
SLAAC to construct a typical home network. The user can follow the steps
|
||||||
here to quickly setup a working network and use this as a starting point to
|
described here to quickly setup a working network and use this as a starting
|
||||||
further configure or fine tune other settings.
|
point to further configure or fine-tune other settings.
|
||||||
|
|
||||||
To achieve this, your ISP is required to support DHCPv6-PD. If you're not sure,
|
To achieve this, your ISP is required to support DHCPv6-PD. If you're not sure,
|
||||||
please contact your ISP for more information.
|
please contact your ISP for more information.
|
||||||
@ -40,8 +42,8 @@ DHCPv6-PD Setup
|
|||||||
---------------
|
---------------
|
||||||
|
|
||||||
During address configuration, in addition to assigning an address to the WAN
|
During address configuration, in addition to assigning an address to the WAN
|
||||||
interface, ISP also provides a prefix to allow router to configure addresses of
|
interface, ISP also provides a prefix to allow the router to configure addresses
|
||||||
LAN interface and other nodes connecting to LAN, which is called prefix
|
of LAN interface and other nodes connecting to LAN, which is called prefix
|
||||||
delegation (PD).
|
delegation (PD).
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -49,8 +51,8 @@ delegation (PD).
|
|||||||
set interfaces pppoe pppoe0 ipv6 address autoconf
|
set interfaces pppoe pppoe0 ipv6 address autoconf
|
||||||
set interfaces pppoe pppoe0 dhcpv6-options pd 0 interface eth1 address '100'
|
set interfaces pppoe pppoe0 dhcpv6-options pd 0 interface eth1 address '100'
|
||||||
|
|
||||||
* Here we use prefix to configure the address of eth1 (LAN) to form ``<prefix>::64``,
|
* Here we use the prefix to configure the address of eth1 (LAN) to form
|
||||||
where ``64`` is hexadecimal of address 100.
|
``<prefix>::64``, where ``64`` is hexadecimal of address 100.
|
||||||
* For home network users, most of time ISP only provides /64 prefix, hence
|
* For home network users, most of time ISP only provides /64 prefix, hence
|
||||||
there is no need to set SLA ID and prefix length. See :ref:`pppoe-interface`
|
there is no need to set SLA ID and prefix length. See :ref:`pppoe-interface`
|
||||||
for more information.
|
for more information.
|
||||||
@ -59,7 +61,7 @@ Router Advertisement
|
|||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
We need to enable router advertisement for LAN network so that PC can receive
|
We need to enable router advertisement for LAN network so that PC can receive
|
||||||
the prefix and use SLAAC to configure address automatically.
|
the prefix and use SLAAC to configure the address automatically.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -68,8 +70,8 @@ the prefix and use SLAAC to configure address automatically.
|
|||||||
set service router-advert interface eth1 prefix ::/64 valid-lifetime '172800'
|
set service router-advert interface eth1 prefix ::/64 valid-lifetime '172800'
|
||||||
|
|
||||||
* Set MTU in advertisement to 1492 because of PPPoE header overhead.
|
* Set MTU in advertisement to 1492 because of PPPoE header overhead.
|
||||||
* Set DNS server address in advertisement so that clients can obtain it by using
|
* Set DNS server address in the advertisement so that clients can obtain it by
|
||||||
RDNSS option. Most operating systems (Windows, Linux, Mac) should
|
using RDNSS option. Most operating systems (Windows, Linux, Mac) should
|
||||||
already support it.
|
already support it.
|
||||||
* Here we set the prefix to ``::/64`` to indicate advertising any /64 prefix
|
* Here we set the prefix to ``::/64`` to indicate advertising any /64 prefix
|
||||||
the LAN interface is assigned.
|
the LAN interface is assigned.
|
||||||
@ -106,5 +108,5 @@ To have basic protection while keeping IPv6 network functional, we need to:
|
|||||||
set interfaces pppoe pppoe0 firewall in ipv6-name 'WAN_IN'
|
set interfaces pppoe pppoe0 firewall in ipv6-name 'WAN_IN'
|
||||||
set interfaces pppoe pppoe0 firewall local ipv6-name 'WAN_LOCAL'
|
set interfaces pppoe pppoe0 firewall local ipv6-name 'WAN_LOCAL'
|
||||||
|
|
||||||
Note to allow router to receive DHCPv6 response from ISP, we need to allow
|
Note to allow the router to receive DHCPv6 response from ISP. We need to allow
|
||||||
packets with source port 547 (server) and destination port 546 (client).
|
packets with source port 547 (server) and destination port 546 (client).
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-29
|
||||||
|
|
||||||
.. _examples-tunnelbroker-ipv6:
|
.. _examples-tunnelbroker-ipv6:
|
||||||
|
|
||||||
.. stop_vyoslinter
|
.. stop_vyoslinter
|
||||||
@ -6,7 +8,7 @@
|
|||||||
Tunnelbroker.net (IPv6)
|
Tunnelbroker.net (IPv6)
|
||||||
#######################
|
#######################
|
||||||
|
|
||||||
This guides walks through the setup of https://www.tunnelbroker.net/ for an
|
This guide walks through the setup of https://www.tunnelbroker.net/ for an
|
||||||
IPv6 Tunnel.
|
IPv6 Tunnel.
|
||||||
|
|
||||||
Prerequisites
|
Prerequisites
|
||||||
@ -78,12 +80,12 @@ You should now be able to ping something by IPv6 DNS name:
|
|||||||
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
|
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
|
||||||
rtt min/avg/max/mdev = 16.880/17.153/17.426/0.273 ms
|
rtt min/avg/max/mdev = 16.880/17.153/17.426/0.273 ms
|
||||||
|
|
||||||
Assuming everything works, you can proceed to client configuration
|
Assuming everything works, you can proceed to the client configuration
|
||||||
|
|
||||||
LAN Configuration
|
LAN Configuration
|
||||||
=================
|
=================
|
||||||
|
|
||||||
At this point your VyOS install should have full IPv6, but now your LAN devices
|
At this point, your VyOS install should have full IPv6, but now your LAN devices
|
||||||
need access.
|
need access.
|
||||||
|
|
||||||
With Tunnelbroker.net, you have two options:
|
With Tunnelbroker.net, you have two options:
|
||||||
@ -140,7 +142,7 @@ The format of these addresses:
|
|||||||
In the above examples, 1,2,ffff are all chosen by you. You can use 1-ffff
|
In the above examples, 1,2,ffff are all chosen by you. You can use 1-ffff
|
||||||
(1-65535).
|
(1-65535).
|
||||||
|
|
||||||
So, when your LAN is eth1, your DMZ is eth2, your cameras live on eth3, etc:
|
So, when your LAN is eth1, your DMZ is eth2, your cameras are on eth3, etc:
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-29
|
||||||
|
|
||||||
.. _wan-load-balancing:
|
.. _wan-load-balancing:
|
||||||
|
|
||||||
.. stop_vyoslinter # pictures and text have to change
|
.. stop_vyoslinter # pictures and text have to change
|
||||||
@ -65,21 +67,20 @@ Configure the WAN load balancer with the parameters described above:
|
|||||||
Example 2: Failover based on interface weights
|
Example 2: Failover based on interface weights
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
This examples uses the failover mode.
|
This example uses the failover mode.
|
||||||
|
|
||||||
|
|
||||||
.. _wan:example2_overwiew:
|
.. _wan:example2_overwiew:
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
In this example eth0 is the primary interface and eth1 is the secondary
|
In this example, eth0 is the primary interface and eth1 is the secondary
|
||||||
interface to provide simple failover functionality. If eth0 fails, eth1
|
interface. To provide simple failover functionality. If eth0 fails, eth1
|
||||||
takes over.
|
takes over.
|
||||||
|
|
||||||
Create interface weight based configuration
|
Create interface weight based configuration
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
The configuration steps are the same as in the previous example, except
|
The configuration steps are the same as in the previous example, except
|
||||||
rule 10 so we keep the configuration, remove rule 10 and add a new rule
|
rule 10. So we keep the configuration, remove rule 10 and add a new rule
|
||||||
for the failover mode:
|
for the failover mode:
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -93,8 +94,8 @@ for the failover mode:
|
|||||||
Example 3: Failover based on rule order
|
Example 3: Failover based on rule order
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
The previous example used the failover command to send traffic thorugh
|
The previous example used the failover command to send traffic through
|
||||||
eth1 if eth0 fails. In this example failover functionality is provided
|
eth1 if eth0 fails. In this example, failover functionality is provided
|
||||||
by rule order.
|
by rule order.
|
||||||
|
|
||||||
.. _wan:example3_overwiew:
|
.. _wan:example3_overwiew:
|
||||||
@ -108,7 +109,7 @@ directing traffic to eth1.
|
|||||||
|
|
||||||
Create rule order based configuration
|
Create rule order based configuration
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
We keep the configurtation from the previous example, delete rule 10
|
We keep the configuration from the previous example, delete rule 10
|
||||||
and create the two new rules as described:
|
and create the two new rules as described:
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -122,20 +123,20 @@ and create the two new rules as described:
|
|||||||
Example 4: Failover based on rule order - priority traffic
|
Example 4: Failover based on rule order - priority traffic
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
|
|
||||||
A rule order for prioritising traffic is useful in scenarios where the
|
A rule order for prioritizing traffic is useful in scenarios where the
|
||||||
secondary link has a lower speed and should only carry high priority
|
secondary link has a lower speed and should only carry high priority
|
||||||
traffic. It is assumed for this example that eth1 is connected to a
|
traffic. It is assumed for this example that eth1 is connected to a
|
||||||
slower connection than eth0 and should prioritise VoIP traffic.
|
slower connection than eth0 and should prioritize VoIP traffic.
|
||||||
|
|
||||||
|
|
||||||
.. _wan:example4_overwiew:
|
.. _wan:example4_overwiew:
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
A rule order for prioritising traffic is useful in scenarios where the
|
A rule order for prioritizing traffic is useful in scenarios where the
|
||||||
secondary link has a lower speed and should only carry high priority
|
secondary link has a lower speed and should only carry high priority
|
||||||
traffic. It is assumed for this example that eth1 is connected to a
|
traffic. It is assumed for this example that eth1 is connected to a
|
||||||
slower connection than eth0 and should prioritise VoIP traffic.
|
slower connection than eth0 and should prioritize VoIP traffic.
|
||||||
|
|
||||||
Create rule order based configuration with low speed secondary link
|
Create rule order based configuration with low speed secondary link
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-29
|
||||||
|
|
||||||
.. _examples-zone-policy:
|
.. _examples-zone-policy:
|
||||||
|
|
||||||
Zone-Policy example
|
Zone-Policy example
|
||||||
@ -132,7 +134,7 @@ To add logging to the default rule, do:
|
|||||||
set firewall name <ruleSet> enable-default-log
|
set firewall name <ruleSet> enable-default-log
|
||||||
|
|
||||||
|
|
||||||
By default, iptables does not allow traffic for established session to
|
By default, iptables does not allow traffic for established sessions to
|
||||||
return, so you must explicitly allow this. I do this by adding two rules
|
return, so you must explicitly allow this. I do this by adding two rules
|
||||||
to every ruleset. 1 allows established and related state packets through
|
to every ruleset. 1 allows established and related state packets through
|
||||||
and rule 2 drops and logs invalid state packets. We place the
|
and rule 2 drops and logs invalid state packets. We place the
|
||||||
@ -367,7 +369,7 @@ IPv6 Tunnel
|
|||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
If you are using a IPv6 tunnel from HE.net or someone else, the basis is
|
If you are using a IPv6 tunnel from HE.net or someone else, the basis is
|
||||||
the same except you have two WAN interface. One for v4 and one for v6.
|
the same except you have two WAN interfaces. One for v4 and one for v6.
|
||||||
|
|
||||||
You would have 5 zones instead of just 4 and you would configure your v6
|
You would have 5 zones instead of just 4 and you would configure your v6
|
||||||
ruleset between your tunnel interface and your LAN/DMZ zones instead of
|
ruleset between your tunnel interface and your LAN/DMZ zones instead of
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
:lastproofread: 2021-06-29
|
||||||
|
|
||||||
.. _firewall:
|
.. _firewall:
|
||||||
|
|
||||||
########
|
########
|
||||||
@ -29,7 +31,7 @@ or zone based firewall policy.
|
|||||||
Global settings
|
Global settings
|
||||||
***************
|
***************
|
||||||
|
|
||||||
Some firewall settings are global and have a affect on the whole system.
|
Some firewall settings are global and have an affect on the whole system.
|
||||||
|
|
||||||
.. cfgcmd:: set firewall all-ping [enable | disable]
|
.. cfgcmd:: set firewall all-ping [enable | disable]
|
||||||
|
|
||||||
@ -89,7 +91,7 @@ Some firewall settings are global and have a affect on the whole system.
|
|||||||
|
|
||||||
.. cfgcmd:: set firewall send-redirects [enable | disable]
|
.. cfgcmd:: set firewall send-redirects [enable | disable]
|
||||||
|
|
||||||
enable or disable of ICMPv4 redirect messages send by VyOS
|
enable or disable ICMPv4 redirect messages send by VyOS
|
||||||
The following system parameter will be altered:
|
The following system parameter will be altered:
|
||||||
|
|
||||||
* ``net.ipv4.conf.all.send_redirects``
|
* ``net.ipv4.conf.all.send_redirects``
|
||||||
@ -127,7 +129,7 @@ Some firewall settings are global and have a affect on the whole system.
|
|||||||
|
|
||||||
.. cfgcmd:: set firewall state-policy established log enable
|
.. cfgcmd:: set firewall state-policy established log enable
|
||||||
|
|
||||||
Set the global setting for a established connections.
|
Set the global setting for an established connection.
|
||||||
|
|
||||||
.. cfgcmd:: set firewall state-policy invalid action [accept | drop | reject]
|
.. cfgcmd:: set firewall state-policy invalid action [accept | drop | reject]
|
||||||
|
|
||||||
@ -163,8 +165,8 @@ names.
|
|||||||
Address Groups
|
Address Groups
|
||||||
==============
|
==============
|
||||||
|
|
||||||
In a **address group** a single IP adresses or IP address ranges are
|
In an **address group** a single IP address or IP address ranges are
|
||||||
definded.
|
defined.
|
||||||
|
|
||||||
.. cfgcmd:: set firewall group address-group <name> address [address |
|
.. cfgcmd:: set firewall group address-group <name> address [address |
|
||||||
address range]
|
address range]
|
||||||
@ -221,7 +223,7 @@ filtering unnecessary ports. Ranges of ports can be specified by using
|
|||||||
.. cfgcmd:: set firewall group port-group <name> port
|
.. cfgcmd:: set firewall group port-group <name> port
|
||||||
[portname | portnumber | startport-endport]
|
[portname | portnumber | startport-endport]
|
||||||
|
|
||||||
Define a port group. A port name are any name defined in
|
Define a port group. A port name can be any name defined in
|
||||||
/etc/services. e.g.: http
|
/etc/services. e.g.: http
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -240,10 +242,10 @@ Rule-Sets
|
|||||||
*********
|
*********
|
||||||
|
|
||||||
A rule-set is a named collection of firewall rules that can be applied
|
A rule-set is a named collection of firewall rules that can be applied
|
||||||
to an interface or zone. Each rule is numbered, has an action to apply
|
to an interface or a zone. Each rule is numbered, has an action to apply
|
||||||
if the rule is matched, and the ability to specify the criteria to
|
if the rule is matched, and the ability to specify the criteria to
|
||||||
match. Data packets go through the rules from 1 - 9999, at the first match
|
match. Data packets go through the rules from 1 - 9999, at the first match
|
||||||
the action of the rule will executed.
|
the action of the rule will be executed.
|
||||||
|
|
||||||
.. cfgcmd:: set firewall name <name> description <text>
|
.. cfgcmd:: set firewall name <name> description <text>
|
||||||
.. cfgcmd:: set firewall ipv6-name <name> description <text>
|
.. cfgcmd:: set firewall ipv6-name <name> description <text>
|
||||||
@ -267,7 +269,7 @@ the action of the rule will executed.
|
|||||||
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> action [drop | reject |
|
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> action [drop | reject |
|
||||||
accept]
|
accept]
|
||||||
|
|
||||||
This required setting define the action of the current rule.
|
This required setting defines the action of the current rule.
|
||||||
|
|
||||||
.. cfgcmd:: set firewall name <name> rule <1-9999> description <text>
|
.. cfgcmd:: set firewall name <name> rule <1-9999> description <text>
|
||||||
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> description <text>
|
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> description <text>
|
||||||
@ -287,7 +289,7 @@ the action of the rule will executed.
|
|||||||
Matching criteria
|
Matching criteria
|
||||||
=================
|
=================
|
||||||
|
|
||||||
There are a lot of matching criteria gainst which the package can be tested.
|
There are a lot of matching criteria against which the package can be tested.
|
||||||
|
|
||||||
|
|
||||||
.. cfgcmd:: set firewall name <name> rule <1-9999> source address
|
.. cfgcmd:: set firewall name <name> rule <1-9999> source address
|
||||||
@ -299,7 +301,7 @@ There are a lot of matching criteria gainst which the package can be tested.
|
|||||||
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> destination address
|
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> destination address
|
||||||
[address | addressrange | CIDR]
|
[address | addressrange | CIDR]
|
||||||
|
|
||||||
This is similiar to the network groups part, but here you are able to negate
|
This is similar to the network groups part, but here you are able to negate
|
||||||
the matching addresses.
|
the matching addresses.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -315,7 +317,7 @@ There are a lot of matching criteria gainst which the package can be tested.
|
|||||||
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> source mac-address
|
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> source mac-address
|
||||||
<mac-address>
|
<mac-address>
|
||||||
|
|
||||||
Only in the source criteria you can specify a mac-address
|
Only in the source criteria, you can specify a mac-address.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -331,7 +333,7 @@ There are a lot of matching criteria gainst which the package can be tested.
|
|||||||
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> destination port
|
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> destination port
|
||||||
[1-65535 | portname | start-end]
|
[1-65535 | portname | start-end]
|
||||||
|
|
||||||
A port can be set with a portnumber or a name which is here
|
A port can be set with a port number or a name which is here
|
||||||
defined: ``/etc/services``.
|
defined: ``/etc/services``.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -410,9 +412,9 @@ There are a lot of matching criteria gainst which the package can be tested.
|
|||||||
set firewall name WAN-IN-v4 rule 13 tcp flags 'SYN,!ACK,!FIN,!RST'
|
set firewall name WAN-IN-v4 rule 13 tcp flags 'SYN,!ACK,!FIN,!RST'
|
||||||
|
|
||||||
.. cfgcmd:: set firewall name <name> rule <1-9999> state [established |
|
.. cfgcmd:: set firewall name <name> rule <1-9999> state [established |
|
||||||
invalid | new | related] [enable | disable ]
|
invalid | new | related] [enable | disable]
|
||||||
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> state [established |
|
.. cfgcmd:: set firewall ipv6-name <name> rule <1-9999> state [established |
|
||||||
invalid | new | related] [enable | disable ]
|
invalid | new | related] [enable | disable]
|
||||||
|
|
||||||
Match against the state of a packet.
|
Match against the state of a packet.
|
||||||
|
|
||||||
@ -423,8 +425,8 @@ Applying a Rule-Set to an Interface
|
|||||||
|
|
||||||
A Rule-Set can be applied to every interface:
|
A Rule-Set can be applied to every interface:
|
||||||
|
|
||||||
* ``in``: Ruleset for forwarded packets on inbound interface
|
* ``in``: Ruleset for forwarded packets on an inbound interface
|
||||||
* ``out``: Ruleset for forwarded packets on outbound interface
|
* ``out``: Ruleset for forwarded packets on an outbound interface
|
||||||
* ``local``: Ruleset for packets destined for this router
|
* ``local``: Ruleset for packets destined for this router
|
||||||
|
|
||||||
.. cfgcmd:: set interface ethernet <ethN> firewall [in | out | local]
|
.. cfgcmd:: set interface ethernet <ethN> firewall [in | out | local]
|
||||||
@ -451,7 +453,7 @@ Zone-based Firewall Policy
|
|||||||
As an alternative to applying policy to an interface directly, a
|
As an alternative to applying policy to an interface directly, a
|
||||||
zone-based firewall can be created to simplify configuration when
|
zone-based firewall can be created to simplify configuration when
|
||||||
multiple interfaces belong to the same security zone. Instead of
|
multiple interfaces belong to the same security zone. Instead of
|
||||||
applying rulesets to interfaces, they are applied to source
|
applying rule-sets to interfaces, they are applied to source
|
||||||
zone-destination zone pairs.
|
zone-destination zone pairs.
|
||||||
|
|
||||||
An basic introduction to zone-based firewalls can be found `here
|
An basic introduction to zone-based firewalls can be found `here
|
||||||
@ -465,12 +467,12 @@ To define a zone setup either one with interfaces or a local zone.
|
|||||||
|
|
||||||
.. cfgcmd:: set zone-policy zone <name> interface <interfacenames>
|
.. cfgcmd:: set zone-policy zone <name> interface <interfacenames>
|
||||||
|
|
||||||
Set a interfaces to a zone. A zone can have multiple interfaces.
|
Set interfaces to a zone. A zone can have multiple interfaces.
|
||||||
But a interface can only be member in one zone.
|
But an interface can only be a member in one zone.
|
||||||
|
|
||||||
.. cfgcmd:: set zone-policy zone <name> local-zone
|
.. cfgcmd:: set zone-policy zone <name> local-zone
|
||||||
|
|
||||||
Define the Zone as a local zone. A local zone have no interfaces and
|
Define the zone as a local zone. A local zone has no interfaces and
|
||||||
will be applied to the router itself.
|
will be applied to the router itself.
|
||||||
|
|
||||||
.. cfgcmd:: set zone-policy zone <name> default-action [drop | reject]
|
.. cfgcmd:: set zone-policy zone <name> default-action [drop | reject]
|
||||||
@ -486,14 +488,14 @@ Applying a Rule-Set to a Zone
|
|||||||
=============================
|
=============================
|
||||||
|
|
||||||
Before you are able to apply a rule-set to a zone you have to create the zones
|
Before you are able to apply a rule-set to a zone you have to create the zones
|
||||||
first.
|
first.
|
||||||
|
|
||||||
.. cfgcmd:: set zone-policy zone <name> from <name> firewall name
|
.. cfgcmd:: set zone-policy zone <name> from <name> firewall name
|
||||||
<rule-set>
|
<rule-set>
|
||||||
.. cfgcmd:: set zone-policy zone <name> from <name> firewall ipv6-name
|
.. cfgcmd:: set zone-policy zone <name> from <name> firewall ipv6-name
|
||||||
<rule-set>
|
<rule-set>
|
||||||
|
|
||||||
You apply a rule-set always to a zone from a other zone, it is recommended
|
You apply a rule-set always to a zone from an other zone, it is recommended
|
||||||
to create one rule-set for each zone pair.
|
to create one rule-set for each zone pair.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
@ -577,7 +579,7 @@ Rule-set overview
|
|||||||
|
|
||||||
.. opcmd:: show firewall summary
|
.. opcmd:: show firewall summary
|
||||||
|
|
||||||
This will show you a summary about rule-sets and groups
|
This will show you a summary of rule-sets and groups
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -630,7 +632,7 @@ Rule-set overview
|
|||||||
|
|
||||||
.. opcmd:: show firewall [name | ipv6name] <name> rule <1-9999>
|
.. opcmd:: show firewall [name | ipv6name] <name> rule <1-9999>
|
||||||
|
|
||||||
This command will give an overview about a rule in a single rule-set
|
This command will give an overview of a rule in a single rule-set
|
||||||
|
|
||||||
.. opcmd:: show firewall group <name>
|
.. opcmd:: show firewall group <name>
|
||||||
|
|
||||||
@ -658,7 +660,7 @@ Rule-set overview
|
|||||||
|
|
||||||
.. opcmd:: show firewall [name | ipv6name] <name>
|
.. opcmd:: show firewall [name | ipv6name] <name>
|
||||||
|
|
||||||
This command will give an overview about a single rule-set
|
This command will give an overview of a single rule-set.
|
||||||
|
|
||||||
.. opcmd:: show firewall [name | ipv6name] <name> statistics
|
.. opcmd:: show firewall [name | ipv6name] <name> statistics
|
||||||
|
|
||||||
@ -666,7 +668,7 @@ Rule-set overview
|
|||||||
|
|
||||||
.. opcmd:: show firewall [name | ipv6name] <name> rule <1-9999>
|
.. opcmd:: show firewall [name | ipv6name] <name> rule <1-9999>
|
||||||
|
|
||||||
This command will give an overview about a rule in a single rule-set
|
This command will give an overview of a rule in a single rule-set.
|
||||||
|
|
||||||
|
|
||||||
Zone-Policy Overview
|
Zone-Policy Overview
|
||||||
@ -674,7 +676,7 @@ Zone-Policy Overview
|
|||||||
|
|
||||||
.. opcmd:: show zone-policy zone <name>
|
.. opcmd:: show zone-policy zone <name>
|
||||||
|
|
||||||
Use this command to get an overview about a zone
|
Use this command to get an overview of a zone.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
@ -695,7 +697,7 @@ Show Firewall log
|
|||||||
|
|
||||||
.. opcmd:: show log firewall [name | ipv6name] <name>
|
.. opcmd:: show log firewall [name | ipv6name] <name>
|
||||||
|
|
||||||
Show the logs of a specific Rule-Set
|
Show the logs of a specific Rule-Set.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
At the moment it not possible to look at the whole firewall log with VyOS
|
At the moment it not possible to look at the whole firewall log with VyOS
|
||||||
|
|||||||
@ -35,7 +35,7 @@ Building from source
|
|||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Non-subscribers can always get the LTS release by building it from source.
|
Non-subscribers can always get the LTS release by building it from source.
|
||||||
Instruction can be found in the :ref:`build` section of this manual. VyOS
|
Instructions can be found in the :ref:`build` section of this manual. VyOS
|
||||||
source code repository is available for everyone at
|
source code repository is available for everyone at
|
||||||
https://github.com/vyos/vyos-build.
|
https://github.com/vyos/vyos-build.
|
||||||
|
|
||||||
@ -58,11 +58,11 @@ https://downloads.vyos.io/rolling/current/amd64/vyos-rolling-latest.iso
|
|||||||
Download Verification
|
Download Verification
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
LTS images are signed by VyOS lead package-maintainer private key. With
|
LTS images are signed by the VyOS lead package-maintainer private key. With
|
||||||
the official public key, the authenticity of the package can be
|
the official public key, the authenticity of the package can be
|
||||||
verified. :abbr:`GPG (GNU Privacy Guard)` is used for verification.
|
verified. :abbr:`GPG (GNU Privacy Guard)` is used for verification.
|
||||||
|
|
||||||
.. note:: This subsection only applies e applies to LTS images, for
|
.. note:: This subsection only applies to LTS images, for
|
||||||
Rolling images please jump to :ref:`live_installation`.
|
Rolling images please jump to :ref:`live_installation`.
|
||||||
|
|
||||||
Preparing for the verification
|
Preparing for the verification
|
||||||
@ -190,7 +190,7 @@ it in your hard drive. **With your downloaded VyOS .iso file you can
|
|||||||
create a bootable USB drive that will let you boot into a fully
|
create a bootable USB drive that will let you boot into a fully
|
||||||
functional VyOS system**. Once you have tested it, you can either decide
|
functional VyOS system**. Once you have tested it, you can either decide
|
||||||
to begin a :ref:`permanent_installation` in your hard drive or power
|
to begin a :ref:`permanent_installation` in your hard drive or power
|
||||||
your system off, remove the USB drive, and leave everythng as it was.
|
your system off, remove the USB drive, and leave everything as it was.
|
||||||
|
|
||||||
|
|
||||||
If you have a GNU+Linux system, you can create your VyOS bootable USB
|
If you have a GNU+Linux system, you can create your VyOS bootable USB
|
||||||
|
|||||||
@ -94,3 +94,60 @@ For additional details you can refer to https://phabricator.vyos.net/T2490.
|
|||||||
usb0b2.4p1.1 Quad_RS232-HS Future Technology Devices International, Ltd
|
usb0b2.4p1.1 Quad_RS232-HS Future Technology Devices International, Ltd
|
||||||
usb0b2.4p1.2 Quad_RS232-HS Future Technology Devices International, Ltd
|
usb0b2.4p1.2 Quad_RS232-HS Future Technology Devices International, Ltd
|
||||||
usb0b2.4p1.3 Quad_RS232-HS Future Technology Devices International, Ltd
|
usb0b2.4p1.3 Quad_RS232-HS Future Technology Devices International, Ltd
|
||||||
|
|
||||||
|
.. _information_version:
|
||||||
|
|
||||||
|
########
|
||||||
|
Version
|
||||||
|
########
|
||||||
|
|
||||||
|
.. opcmd:: show version
|
||||||
|
|
||||||
|
Return the current running VyOS version and build information. This includes
|
||||||
|
also the name of the release train which is ``crux`` on VyOS 1.2, ``equuleus``
|
||||||
|
on VyOS 1.3 and ``sagitta`` on VyOS 1.4.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
vyos@vyos:~$ show version
|
||||||
|
|
||||||
|
Version: VyOS 1.4-rolling-202106270801
|
||||||
|
Release Train: sagitta
|
||||||
|
|
||||||
|
Built by: autobuild@vyos.net
|
||||||
|
Built on: Sun 27 Jun 2021 09:50 UTC
|
||||||
|
Build UUID: ab43e735-edcb-405a-9f51-f16a1b104e52
|
||||||
|
Build Commit ID: f544d75eab758f
|
||||||
|
|
||||||
|
Architecture: x86_64
|
||||||
|
Boot via: installed image
|
||||||
|
System type: KVM guest
|
||||||
|
|
||||||
|
Hardware vendor: QEMU
|
||||||
|
Hardware model: Standard PC (i440FX + PIIX, 1996)
|
||||||
|
Hardware S/N:
|
||||||
|
Hardware UUID: Unknown
|
||||||
|
|
||||||
|
Copyright: VyOS maintainers and contributors
|
||||||
|
|
||||||
|
.. opcmd:: show version kernel
|
||||||
|
|
||||||
|
Return version number of the Linux Kernel used in this release.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
vyos@vyos:~$ show version kernel
|
||||||
|
5.10.46-amd64-vyos
|
||||||
|
|
||||||
|
.. opcmd:: show version frr
|
||||||
|
|
||||||
|
Return version number of FRR (Free Range Routing - https://frrouting.org/)
|
||||||
|
used in this release. This is the routing control plane and a successor to GNU
|
||||||
|
Zebra and Quagga.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
vyos@vyos:~$ show version frr
|
||||||
|
FRRouting 7.5.1-20210625-00-gf07d935a2 (vyos).
|
||||||
|
Copyright 1996-2005 Kunihiro Ishiguro, et al.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user