how-to-install-and-manage Help

Vyos

VyOS est un système d'exploitation open-source basé sur Débian, spécialement conçu pour fonctionner comme un routeur réseau et une plateforme de gestion des réseaux. Il est utilisé pour déployer des fonctions réseau avancées telles que le routage, la commutation, les VPN, la gestion des pare-feu, la translation d'adresses réseau (NAT), et bien plus encore. VyOS offre une alternative open-source aux routeurs propriétaires commerciaux comme ceux de Cisco ou Juniper, tout en fournissant une flexibilité et une personnalisation élevées. Principales fonctionnalités de VyOS :

  • Routage statique et dynamique: Prend en charge des protocoles de routage dynamique comme OSPF, BGP, RIP, et le routage statique.

  • Pare-feu: Intègre un pare-feu stateful pour surveiller et contrôler les connexions réseau. Supporte la translation d'adresses réseau (NAT) et les VPN (IPsec, OpenVPN, WireGuard).

  • Qualité de service (QoS) et Traffic Shaping: Permet de définir des priorités de trafic (QoS) et de gérer la bande passante via le traffic shaping.

  • VLAN (Virtual Local Area Network): Support complet des VLANs pour segmenter les réseaux et améliorer la gestion du trafic.

  • VPN: Prise en charge de IPsec, OpenVPN, WireGuard, et L2TP pour établir des connexions VPN sécurisées.

  • Proxy: Support du proxy Squid pour la gestion du trafic web et la mise en cache.

  • DHCP (Dynamic Host Configuration Protocol): Serveur DHCP pour l'attribution automatique d'adresses IP aux dispositifs réseau.

  • DNS (Domain Name System): Serveur DNS intégré pour la gestion des noms de domaine et la résolution d'adresses IP.

  • Monitoring et gestion: Prend en charge des outils de monitoring comme syslog et Loki pour la surveillance du réseau et l’analyse du trafic.

ISO

Concernant l’installation, il est possible de :

  • Télécharger l’image ISO de VyOS sur le Github officiel.

  • Créer une image personnalisée à partir du code source disponible sur GitHub.

Installation

Chaque installation de Vyos débute par un démarrage en mode live. Pour faire une installation permanente, il faut exécuter la commande install image dans le terminal et suivre les instructions suivantes :

vyos@vyos:~$ install image Welcome to the VyOS install program. This script will walk you through the process of installing the VyOS image to a local hard drive. Would you like to continue? (Yes/No) [Yes]: Yes Probing drives: OK Looking for pre-existing RAID groups...none found. The VyOS image will require a minimum 2000MB root. Would you like me to try to partition a drive automatically or would you rather partition it manually with parted? If you have already setup your partitions, you may skip this step Partition (Auto/Parted/Skip) [Auto]: I found the following drives on your system: sda 4294MB Install the image on? [sda]: This will destroy all data on /dev/sda. Continue? (Yes/No) [No]: Yes How big of a root partition should I create? (2000MB - 4294MB) [4294]MB: Creating filesystem on /dev/sda1: OK Done! Mounting /dev/sda1... What would you like to name this image? [1.2.0-rolling+201809210337]: OK. This image will be named: 1.2.0-rolling+201809210337 Copying squashfs image... Copying kernel and initrd images... Done! I found the following configuration files: /opt/vyatta/etc/config.boot.default Which one should I copy to sda? [/opt/vyatta/etc/config.boot.default]: Copying /opt/vyatta/etc/config.boot.default to sda. Enter password for administrator account Enter password for user 'vyos': Retype password for user 'vyos': I need to install the GRUB boot loader. I found the following drives on your system: sda 4294MB Which drive should GRUB modify the boot partition on? [sda]: Setting up grub: OK Done! vyos@vyos:~$ reboot Proceed with reboot? (Yes/No) [No] Yes

Après le redémarrage, nous pouvons changer le mot de passe par défaut :

vyos@vyos:~$ conf vyos@vyos:~$ set system login user vyos authentication plaintext-password 'mdp' New password: Retype new password: vyos@vyos:~$ commit vyos@vyos:~$ save Saving configuration to '/config/config.boot'... Done vyos@vyos:~$ exit

Par défaut le clavier est en Qwerty. Pour le mettre en français voici la commande :

sudo loadkey fr

Configuration

VyOS permet de configurer le système via un script. C'est ce que nous allons faire pour permettre la reproductibilité et la modification simple de la configuration.

Pour obtenir la Default Gateway, il suffit de faire un ipconfig sur un pc qui est connecté sur le même réseau :

ip_box.png

Afin de ne pas avoir de soucis concernant l'ip que la box a attribué par DHCP au vyos, nous allons accéder à notre box et ajouter un bail DHCP static :

bail_dhcp_static.png

Pour créer une configuration persistante, nous allons créer un fichier et l'éditer grâce à la commande suivante :

vi config-ipv4-vyos-iron.sh
#!/bin/vbash source /opt/vyatta/etc/functions/script-template configure # URL de mise a jour set system update-check url https://raw.githubusercontent.com/vyos/vyos-nightly-build /refs/heads/current/version.json # Configuration du système set system host-name 'iron' set system name-server 1.1.1.1 set service ssh port 22 set system option keyboard-layout fr # Configuration d'une adresse IPv4 statique pour l'interface WAN set interfaces ethernet eth0 address dhcp set interfaces ethernet eth0 description 'WAN' # Configuration de la passerelle par défaut set protocols static route 0.0.0.0/0 next-hop 192.168.1.254 # Configuration de l'interface VLAN set interfaces ethernet eth1 vif 60 address 10.125.0.254/24 set interfaces ethernet eth1 vif 60 description 'VLAN 60 - PA' # Configuration du NAT set nat source rule 10 outbound-interface name eth0 set nat source rule 10 translation address 192.168.1.48 # Configuration du DHCP # DHCP pour VLAN 60 - PA set service dhcp-server shared-network-name VLAN60 subnet 10.125.0.0/24 range 0 start 10.125.0.100 set service dhcp-server shared-network-name VLAN60 subnet 10.125.0.0/24 range 0 stop 10.125.0.200 set service dhcp-server shared-network-name VLAN60 subnet 10.125.0.0/24 option default-router 10.125.0.254 set service dhcp-server shared-network-name VLAN60 subnet 10.125.0.0/24 option name-server 1.1.1.1 set service dhcp-server shared-network-name VLAN60 subnet 10.125.0.0/24 lease '86400' set service dhcp-server shared-network-name VLAN60 subnet 10.125.0.0/24 subnet-id '60' # Configuration du DNS Forwarding pour utiliser 1.1.1.1 set service dns forwarding listen-address 10.125.0.254 set service dns forwarding name-server 1.1.1.1 set service dns forwarding allow-from 10.125.0.0/24 # Firewall ## Global action set firewall global-options state-policy established action 'accept' set firewall global-options state-policy invalid action 'drop' set firewall global-options state-policy related action 'accept' # Commit and Save configuration commit save

Une fois la configuration terminée, nous allons pouvoir l'appliquer :

sg vyattacfg -c ./config-ipv4-vyos-iron.sh

Liaison avec Netbird

Pour intégrer notre routeur vyos à Netbird, nous allons devoir générer une clé sur Netbird via l'onglet Setup Keys:

netbird_key.png

Pour rentre persistante la liaison avec Netbird, nous allons suivre cette documentation utilisant la conteneurisation :

  1. Ajout de l'image netbird :

add container image netbirdio/netbird:latest
  1. Verification de l'upload de l'image :

run show container image
  1. Nous allons créer un dossier où va se situer le conteneur :

sudo mkdir -p /config/containers/netbirdManganese
  1. Maintenant, nous allons de nouveau éditer notre fichier de configuration pour créer notre conteneur :

# Liaison avec Netbird set container name netbirdPA allow-host-networks set container name netbirdPA capability 'net-admin' set container name netbirdPA capability 'net-raw' set container name netbirdPA image 'netbirdio/netbird:latest' set container name netbirdPA volume NB_PATH destination '/etc/netbird' set container name netbirdPA volume NB_PATH source '/config/containers/netbirdPA' set container name netbirdPA environment NB_MANAGEMENT_URL value "https://netbird.daniel-thomas.fr/" set container name netbirdManganese environment NB_SETUP_KEY value 'VALUE'

Éxecution de la configuration :

sg vyattacfg -c ./config-ipv4-vyos-iron.sh
  1. Si la liaison s'est bien effectué, le routeur va apparaitre dans les Peers Netbird

Mise à jour

Dans notre configuration, nous avons ajouté l'URL permettant de mettre à jour la version de vyos :

# URL de mise a jour set system update-check url https://raw.githubusercontent.com/vyos/vyos-nightly -build/refs/heads/current/version.json

Pour mettre à jour notre système, nous allons donc utiliser cette commande :

add system image latest

Vyos prend en charge le rollback de version si jamais nous souhaitons revenir sur une version antérieure.

Last modified: 13 July 2025