diff options
-rw-r--r-- | docs/_static/images/dhcp-relay-through-gre-bridge.png | bin | 0 -> 31261 bytes | |||
-rw-r--r-- | docs/appendix/examples/dhcp-relay-through-gre-bridge.rst | 77 | ||||
-rw-r--r-- | docs/appendix/examples/index.rst | 1 | ||||
-rw-r--r-- | docs/contributing/build-vyos.rst | 24 | ||||
-rw-r--r-- | docs/image-mgmt.rst | 64 | ||||
-rw-r--r-- | docs/services/dhcp.rst | 16 |
6 files changed, 156 insertions, 26 deletions
diff --git a/docs/_static/images/dhcp-relay-through-gre-bridge.png b/docs/_static/images/dhcp-relay-through-gre-bridge.png Binary files differnew file mode 100644 index 00000000..1f3e7744 --- /dev/null +++ b/docs/_static/images/dhcp-relay-through-gre-bridge.png diff --git a/docs/appendix/examples/dhcp-relay-through-gre-bridge.rst b/docs/appendix/examples/dhcp-relay-through-gre-bridge.rst new file mode 100644 index 00000000..f94eb67f --- /dev/null +++ b/docs/appendix/examples/dhcp-relay-through-gre-bridge.rst @@ -0,0 +1,77 @@ +.. _examples-dhcp-relay-through-gre-bridge: + + +DHCP Relay through GRE-Bridge +----------------------------- + +Diagram +^^^^^^^ + +.. image:: /_static/images/dhcp-relay-through-gre-bridge.png + :width: 80% + :align: center + :alt: Network Topology Diagram + +Configuration +^^^^^^^^^^^^^ + +DHCP Server +""""""""""" + +.. code-block:: none + + set interfaces ethernet eth0 address '10.0.2.1/24' + set interfaces loopback lo address '3.3.3.3/24' + set interfaces tunnel tun100 address '172.16.0.2/30' + set interfaces tunnel tun100 encapsulation 'gre-bridge' + set interfaces tunnel tun100 local-ip '10.0.2.1' + set interfaces tunnel tun100 remote-ip '192.168.0.1' + set protocols ospf area 0 network '3.3.3.0/24' + set protocols ospf area 0 network '10.0.2.0/24' + set protocols ospf parameters router-id '3.3.3.3' + set protocols static interface-route 10.0.1.2/32 next-hop-interface tun100 + set service dhcp-server shared-network-name asdf authoritative + set service dhcp-server shared-network-name asdf subnet 3.3.3.0/24 range 0 start '3.3.3.30' + set service dhcp-server shared-network-name asdf subnet 3.3.3.0/24 range 0 stop '3.3.3.40' + set service dhcp-server shared-network-name asdf subnet 10.0.1.0/24 default-router '10.0.1.2' + set service dhcp-server shared-network-name asdf subnet 10.0.1.0/24 range 0 start '10.0.1.200' + set service dhcp-server shared-network-name asdf subnet 10.0.1.0/24 range 0 stop '10.0.1.210' + set service dhcp-server shared-network-name asdf subnet 10.2.1.0/24 range 0 start '10.2.1.222' + set service dhcp-server shared-network-name asdf subnet 10.2.1.0/24 range 0 stop '10.2.1.233' + set service dhcp-server shared-network-name asdf subnet 172.16.0.0/30 range 0 start '172.16.0.1' + set service dhcp-server shared-network-name asdf subnet 172.16.0.0/30 range 0 stop '172.16.0.2' + + +In-Between Router +""""""""""""""""" + +.. code-block:: none + + set interfaces ethernet eth0 address '192.168.0.2/24' + set interfaces ethernet eth1 address '10.0.2.2/24' + set protocols ospf area 0 network '192.168.0.0/24' + set protocols ospf area 0 network '10.0.2.0/24' + set protocols ospf parameters router-id '192.168.0.2' + + +DHCP Relay +"""""""""" + +.. code-block:: none + + set interfaces ethernet eth0 address '10.0.1.2/24' + set interfaces ethernet eth1 address '192.168.0.1/24' + set interfaces loopback lo address '1.1.1.1' + set interfaces tunnel tun100 address '172.16.0.1/30' + set interfaces tunnel tun100 encapsulation 'gre-bridge' + set interfaces tunnel tun100 local-ip '192.168.0.1' + set interfaces tunnel tun100 remote-ip '10.0.2.1' + set protocols ospf area 0 network '10.0.1.0/24' + set protocols ospf area 0 network '192.168.0.0/24' + set protocols ospf area 0 network '1.1.1.0/24' + set protocols ospf parameters router-id '1.1.1.1' + set protocols static interface-route 3.3.3.3/32 next-hop-interface tun100 + set service dhcp-relay interface 'eth0' + set service dhcp-relay interface 'tun100' + set service dhcp-relay server '3.3.3.3' + diff --git a/docs/appendix/examples/index.rst b/docs/appendix/examples/index.rst index b9d2abeb..427606de 100644 --- a/docs/appendix/examples/index.rst +++ b/docs/appendix/examples/index.rst @@ -10,6 +10,7 @@ This chapter contains various configuration Examples :maxdepth: 2 dmvpn + dhcp-relay-through-gre-bridge zone-policy bgp-ipv6-unnumbered ospf-unnumbered diff --git a/docs/contributing/build-vyos.rst b/docs/contributing/build-vyos.rst index 5c7f5205..302f828c 100644 --- a/docs/contributing/build-vyos.rst +++ b/docs/contributing/build-vyos.rst @@ -48,7 +48,14 @@ will ensure that the container is always up-to-date. A rebuild is triggered once the container changes (please note this will take 2-3 hours after pushing to the vyos-build repository). -The container can always be built directly from source: +To download the container from DockerHub run: + +.. code-block:: none + + $ docker pull vyos/vyos-build:crux # for the LTS version + $ docker pull vyos/vyos-build:current # for the current version + +The container can also be built directly from source: .. code-block:: none @@ -69,16 +76,29 @@ Build ISO --------- After the container is generated either manually or fetched from DockerHub, -a fresh build of the VyOS ISO can begin. +a fresh build of the VyOS ISO can begin. + +If you pulled the image from DockerHub, you need to clone the repository to +your local machine: + +.. code-block:: none + + $ git clone -b current --single-branch https://github.com/vyos/vyos-build + +After cloning, change directory to the ``vyos-build`` directory and run: .. code-block:: none + $ cd vyos-build $ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build bash vyos_bld@d4220bb519a0:/vyos# ./configure --architecture amd64 \ --build-by "your@email.tld" \ --build-type release --version 1.2.0 vyos_bld@d4220bb519a0:/vyos# sudo make iso +When the build is successful, the resulting iso can be found inside the ``build`` +directory. + .. note:: Attempting to use the docker build image on MacOS or Windows will fail as docker does not expose all the filesystem feature required to the container. Building within a VirtualBox server on Mac or Windows is however possible. diff --git a/docs/image-mgmt.rst b/docs/image-mgmt.rst index 9b2da077..2c92f7b4 100644 --- a/docs/image-mgmt.rst +++ b/docs/image-mgmt.rst @@ -101,25 +101,46 @@ configured to be the default (:opcmd:`set system image default-boot`). Update VyOS =========== -Finally, new system images can be added using the :opcmd:`add system image` -command. The add image command will extract the image from the release ISO -(either on the local filesystem or remotely if a URL is provided). The image -install process will prompt you to use the current system configuration and SSH -security keys, allowing for the new image to boot using the current -configuration. +New system images can be added using the :opcmd:`add system image` +command. The command will extract the chosen image and will prompt you +to use the current system configuration and SSH security keys, allowing +for the new image to boot using the current configuration. + +.. note:: Only LTS releases are PGP-signed. .. opcmd:: add system image <url | path> - New system images can be either installed from an URL (http://, https://) or - any location pointed to by a file path, e.g. /tmp/vyos-1.2.3-amd64.iso. - If there is not enough free diskspace available installation will be - canceled. To delete images use the :opcmd:`delete system image` command. + Use this command to install a new system image. You can reach the + image from the web (http://, https://) or from your local system, + e.g. /tmp/vyos-1.2.3-amd64.iso. - .. hint:: | The most up-do-date Rolling Release for AMD64 can be accessed using the following URL: - | https://downloads.vyos.io/rolling/current/amd64/vyos-rolling-latest.iso +If there is not enough **free disk space available**, the installation +will be canceled. To delete images use the :opcmd:`delete system image` +command. +VyOS configuration is associated to each image, and **each image has a +unique copy of its configuration**. This is different than a traditional +network router where the configuration is shared across all images. + +.. note:: If you have any personal file, like some scripts you created, + and you don't want them to be deleted during the upgrade, make sure + those files are into the ``/configure`` directory. + +You can access files from a previous installation and copy them to your +current image if they were located in the ``/config`` directory. This +can be done using the :opcmd:`copy` command. So, for instance, in order +to copy ``/config/config.boot`` from VyOS 1.2.1 image, you would use the +following command: + +.. code:: + + copy file 1.2.1://config/config.boot to /tmp/config.boot.1.2.1 - .. code-block:: none + +Example +""""""" + +.. code-block:: none vyos@vyos:~$ add system image https://downloads.vyos.io/rolling/current/amd64/vyos-rolling-latest.iso Trying to fetch ISO file from https://downloads.vyos.io/rolling/current/amd64/vyos-rolling-latest.iso @@ -142,18 +163,13 @@ configuration. OK. This image will be named: vyos-1.3-rolling-201912201452 - .. note:: Rolling releases are not GPG signed, only the real release build - will have a proper GPG signature. - .. note:: VyOS configuration is associated to each image, and each image has - a unique copy of its configuration. This is different than a traditional - network router where the configuration is shared across all images. +.. hint:: | The most up-do-date Rolling Release for AMD64 can be accessed using the following URL: + | https://downloads.vyos.io/rolling/current/amd64/vyos-rolling-latest.iso + +After reboot you might want to verify the version you are running with +the :opcmd:`show version` command. + - After reboot you might want to verify the version you are running with the - :opcmd:`show version` command. -.. hint:: You can always access files from a previous installation and copy - them to your current image. This can be done using the :opcmd:`copy` - command. To copy ``/config/config.boot`` from VyOS 1.2.1 image use ``copy - file 1.2.1://config/config.boot to /tmp/config.boot.1.2.1``. diff --git a/docs/services/dhcp.rst b/docs/services/dhcp.rst index 2e8bb4b0..8655d177 100644 --- a/docs/services/dhcp.rst +++ b/docs/services/dhcp.rst @@ -489,6 +489,22 @@ Configuration Options A SNTP server address can be specified for DHCPv6 clients. +Prefix Delegation +^^^^^^^^^^^^^^^^^ + +To hand out individual prefixes to your clients the following configuration is +used: + + +.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <prefix> prefix-delegation start <address> prefix-length <length> + + Hand out prefixes of size `<length>` to clients in subnet `<prefix>` when + they request for prefix delegation. + +.. cfgcmd:: set service dhcpv6-server shared-network-name <name> subnet <prefix> prefix-delegation start <address> stop <address> + + Delegate prefixes from the range indicated by the start and stop qualifier. + Address pools ------------- |