[Tutoriel] OpenBSD en tant que switch virtuel (VLANs)
#1

Bonjour Smile

Je vais décrire sans trop de détails l'un de mes projets récents. Si cela peut vous intéresser, tant mieux !

Objectifs :
(1) Créer un bouton poussoir virtuel (amélioré et logiciel) afin qu'un poste de travail puisse avoir accès ou non au réseau des réseaux Internet. Pour ma part, dans ce rôle de bouton poussoir virtuel... ce sera OpenBSD (on pourrait envisager d'utiliser tout autre système spécialisé pour du routage comme PfSense par exemple) ! Je choisis OpenBSD pour des raisons évidentes que je ne détaillerai pas ici mais je peux déjà donner quelques pistes : pf, wireguard, unbound, gestion native des... VLANs ! ;-)

Pour information, mon ThinkPad possède un tel bouton poussoir physique pour actionner ou non le wifi. Je voulais reproduire cela logiciellement pour la carte réseau ethernet de ma machine.

(2) Utiliser Debian GNU/Linux en tant que système sur un poste de travail en l'incluant dans un réseau virtuel (VLAN 1) gérer par un système OpenBSD virtualisé en son sein. L'hyperviseur Debian GNU/Linux hypervise uniquement, ce qui signifie que celui-ci ne fera pas de "routage". La partie "routage" sera laissée au système virtuel OpenBSD qui fera office de passerelle filtrante pour l'hyperviseur mais aussi pour les divers VLANs.

Le poste de travail (vieux ThinkPad doté de 6 Gio de mémoire vive) pourra donc se transformer en laboratoire virtuel pour pas cher.

Pour ce faire, un switch virtuel sera créé. Ce switch virtuel pourra gérer les réseaux virtuels en son sein, au nombre de trois :

- VLAN 1 : le réseau du FAI (192.168.0.0/24) ;
- VLAN 2 : le réseau de l'hyperviseur (192.168.20.0/24) ;
- VLAN 3 : le réseau qui fera office de DMZ (192.168.21/24) !

L'ensemble de ces réseaux virtuels vont transiter sur une unique carte réseau ethernet physique, celle de l'hôte Debian (l'hyperviseur KVM). Par conséquent, juste une carte physique est nécessaire dans ce projet ! On supposera qu'il s'agit de l'interface de nom "enp0s23".

Étape n°0 : Avoir installé une base stable sur son poste de travail, un système GNU/Linux stable, un système Debian GNU/Linux stable sera naturellement mon choix. (Néanmoins, CentOS aurait pu aussi être utilisé  mais je préfère le côté "Desktop" de Debian, utilisant uniquement le dépôt natif "main" du projet éponyme.)

Étape n°1 : Installer le paquet qui va créer le switch virtuel gérant nativement le protocole IEEE 802.1q.

Code :
# apt install -y openvswitch-switch

Création du switch virtuel nommé "oswicth" :

Code :
# ovs-vsctl add-br oswitch

Création du port virtuel de type TRUNK (point d'entrée/sortie entre les 3 VLANS) et faisant partie du VLAN 1 (voir la présence de "tag=1") :

Code :
# ovs-vsctl add-port oswitch enp0s23 -- set port oswitch enp0s23 trunks=1,2,3 tag=1

Remarque : Cette action "absorbe" l'interface physique "enp0s23" dans le switch virtuel "oswicth".

Création d'un port virtuel pour l'hyperviseur, port virtuel créé de toute pièce par Open Vswitch (voir la présence de "internal") pour le switch virtuel nommé oswitch, port qui fera transiter uniquement du trafic du VLAN 2 (voir la présence de "tag=2") :

Code :
# ovs-vsctl add-port oswitch vport21 tag=2 -- set interface vport21 type=internal

Voilà c'est tout pour le switch virtuel !

Remarque : "vport21" pour "port virtuel n°1 du VLAN n°2". Le choix du nom importe peu. "vport34" signifiera donc "port virtuel n°4 du VLAN n°3".

On vérifie :


Code :
# ovs-vsctl show
92a06e98-28c8-6127-4e3a-f0731218f169
    Bridge oswitch
        Port "enp0s23"
            tag: 1
            trunks: [1, 2, 3]
            Interface "enp0s23"
        Port oswitch
            Interface oswitch
                type: internal
        Port "vport21"
            tag: 2
            Interface "vport21"
                type: internal
    ovs_version: "2.10.1"


Étape n°2 : La virtualisation via KVM (hyperviseur de type 1)

On installe les paquets utiles dans notre contexte (mais on pourrait faire plus light pour installer le strict minimum, ce qui n'a pas été mon choix).

Code :
# apt install -y virt-manager

Création du switch virtuel pour la virtualisation KVM/libvirt associé au switch virtuel "oswitch" d'Open Vswitch:

(a) Création du fichier kswitch.xml :


Code :
<network>
  <name>kswitch</name>
  <forward mode='bridge'/>
  <bridge name='oswitch'/>
  <virtualport type='openvswitch'/>
  <portgroup name='vlan1' default='yes'>
    <vlan>
      <tag id='1'/>
    </vlan>
  </portgroup>
  <portgroup name='vlan2'>
    <vlan>
      <tag id='2'/>
    </vlan>
  </portgroup>
  <portgroup name='vlan3'>
    <vlan>
      <tag id='3'/>
    </vlan>
  </portgroup>
  <portgroup name='vlanall'>
    <vlan trunk='yes'>
      <tag id='1'/>
      <tag id='2'/>
      <tag id='3'/>
    </vlan>
  </portgroup>
</network>

(b) Insertion dans le matériel virtuel du nouveau switch nommé "kswitch" que devra gérer KVM/libvirt :

Code :
# virsh net-undefine default
# virsh net-define kswitch.xml
# virsh net-start kswitch
# virsh net-autostart kswitch 
# rm -f kswitch.xml

Remarque :  Si besoin :
Code :
# virsh net-destroy default
après la commande
Code :
# virsh net-undefine default

Étape n°3 : si non déjà fait, nettoyage du système Debian au niveau des services lancés dès son installation ou autrement dit... "Bye bye Network Manager"... OpenBSD te succède ! Wink

Code :
# systemctl disable avahi-daemon.service && systemctl stop avahi-daemon.service
# systemctl disable wpa_supplicant.service && systemctl stop wpa_supplicant.service
# systemctl disable ModemManager.service && systemctl stop ModemManager.service
# systemctl disable NetworkManager.service && systemctl stop NetworkManager.service
# systemctl disable bluetooth.target && systemctl disable bluetooth.target
# systemctl disable bluetooth.service && systemctl stop bluetooth.service
# systemctl disable systemd-timesyncd.service && systemctl stop systemd-timesyncd.service

Remarque : Méfiance pour la gestion DNS de l'hôte/hyperviseur avec systemd (voir ici ou ). En effet, cette gestion relèvera de la vm OpenBSD (-> unbound) sur le VLAN n°2 et le VLAN n°3.

Pour ma part , je n'ai pas rencontré de soucis sur ce point.

Étape n°4 : Gestion du réseau sur l'hyperviseur

Dans /etc/network/interfaces, on colle :

Code :
auto lo
iface lo inet loopback

allow-ovs oswitch
iface oswitch inet manual

auto enp0s23
iface enp0s23 inet manual

auto vport21
iface vport21 inet static
  address 192.168.20.1/24
  gateway 192.168.20.254
  dns-nameservers 192.168.20.254

Pour enfin redémarrer le système Debian.

Remarques : J'ai eu des bogues obscurs avec l'utilisation de fichiers dans /etc/network/interfaces.d/. J'ai laissé tomber.

Étape n°5 : Après redémarrage, l'hyperviseur n'a plus accès au réseau du FAI et donc à l'internet, juste au réseau VLAN 2, autrement dit à lui-même actuellement ! 

Ceci est tout à fait normal en réalité. Il nous manque notre bouton poussoir virtuel : OpenBSD ! Wink

Dans sa session utilisateur, on lance le logiciel Virtual Machine Manager installé à l'étape n°2 ci-dessus (ou kvm en ligne de commande pour les plus minimalistes d'entre vous). Nous allons créer la machine virtuelle OpenBSD.

Je ne décrirai pas l'installation d'OpenBSD en tant que système jouant le rôle de passerelle filtrante. Je vais juste donner les détails concernant sa configuration spécifique des réseau du type Virtual LAN (VLAN).

(a) Dans Virtual Machine Manager :

- Mémoire vive virtuelle : 512 Mio suffiront.
- Capacité du disque virtuel : 20 Gio suffiront aussi (pour tenir compte des mises à jour ultérieures soit sur la -stable actuelle soit, et surtout, pour la mise à jour vers la future -release).
- On vire tous les périphériques inutiles du style la carte son...
- On opte pour une carte réseau ethernet virtuelle de type "virtio".

On choisit dans "source du réseau" : Réseau virtuel 'kswitch' : Réseau Bridge (OpenVSwitch)

et dans "-Groupe du port" : vlanall (défini dans notre fichier "kswitch.xml" de l'étape n°2)

(b) Voici les éléments spécifiques d'une gestion des VLANs par OpenBSD :

- La carte réseau virtuelle est nommée vio0 dans OpenBSD. D'où :

/etc/hostname.vio0 :

Code :
up

- Puis /etc/hostname.vlan0 (côté FAI -> VLAN 1) :


Code :
-inet
vlan 1 vlandev vio0 description "VLAN 1"
dhcp
up

- Et /etc/hostname.vlan1 (côté hyperviseur -> VLAN 2) :

Code :
-inet
vlan 2 vlandev vio0 description "VLAN 2"
inet 192.168.20.254/24
up

- Enfin /etc/hostname.vlan2 (côté DMZ virtuelle -> VLAN 3) :

Code :
-inet
vlan 3 vlandev vio0 description "VLAN 3"
inet 192.168.21.254/24
up

Prise en compte des changements :

Code :
# sh /etc/netstart && ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
index 3 priority 0 llprio 3
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
vio0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 52:54:00:be:be:be
index 1 priority 0 llprio 3
media: Ethernet autoselect
status: active
enc0: flags=0<>
index 2 priority 0 llprio 3
groups: enc
status: active
vlan0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr 52:54:00:be:be:be
description: VLAN 1
index 4 priority 0 llprio 3
encap: vnetid 1 parent vio0 txprio packet rxprio outer
groups: vlan egress
media: Ethernet autoselect
status: active
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 52:54:00:be:be:be
description: VLAN 2
index 5 priority 0 llprio 3
encap: vnetid 2 parent vio0 txprio packet rxprio outer
groups: vlan
media: Ethernet autoselect
status: active
inet 192.168.20.254 netmask 0xffffff00 broadcast 192.168.20.255
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
index 6 priority 0 llprio 3
groups: pflog
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 52:54:00:be:be:be
description: VLAN 3
index 7 priority 0 llprio 3
encap: vnetid 3 parent vio0 txprio packet rxprio outer
groups: vlan
media: Ethernet autoselect
status: active
inet 192.168.21.254 netmask 0xffffff00 broadcast 192.168.21.255

Couches TCP/IP :

Code :
# arp -a
Host                                  Ethernet Address    Netif   Expire       Flags
192.168.0.1                       52:54:00:be:be:be  vlan0 permanent l
192.168.0.254                     xx:xx:xx:xx:xx:xx     vlan0 19m47s   
192.168.20.254                      52:54:00:be:be:be  vlan1 permanent l
192.168.21.254                      52:54:00:be:be:be  vlan2 permanent l

Sur l'hyperviseur, une interface vnet0 (sans tag apparent mais bel et bien "trunkée" comme l'interface physique enp0s23) a été créée de manière automatique pour la vm OpenBSD, interface liée à l'interface réseau virtuelle nommée "vio0" dans OpenBSD :

Code :
# ovs-vsctl show
92a06e98-28c8-6127-4e3a-f0731218f169
    Bridge oswitch
        Port "enp0s23"
            tag: 1
            trunks: [1, 2, 3]
            Interface "enp0s23"
        Port oswitch
            Interface oswitch
                type: internal
        Port "vnet0"
            trunks: [1, 2, 3]
            Interface "vnet0"
        Port "vport21"
            tag: 2
            Interface "vport21"
                type: internal
    ovs_version: "2.10.1"

Voilà. Y'a plus qu'à apprendre à utiliser nos systèmes préférés comme bon nous semble, sans risques a priori (rappel : base stable -> Debian Big Grin ).

Bon j'y vais... mon système virtuel CentOS 8.2 m'attend ! Wink

Remarques :
(1) Pour ma part, la vm OpenBSD ne se lance pas de manière automatique dès le démarrage de l'hyperviseur.
(2) L'installation d'OpenBSD n'est pas chiffrée car celle de Debian GNU/Linux l'est. Pour les plus paranos d'entre vous, vous pouvez bien évidemment aussi chiffrer le processus d'installation de la vm OpenBSD ! 
(3) À noter que ce qui est expliqué ci-dessous ne semble pas fonctionner avec une interface réseau wifi !
(4) A priori, je pense que les manipulations décrites ci-dessus peuvent être globalement transposables sur un système GNU/Linux n'utilisant pas systemd.

Un OS pour les gouverner tous (FreeBSD), un jail pour les trouver (Unbound)
Un filesystem pour les amener tous et dans les ténèbres les lier (ZFS) ;)
Répondre
#2

Salut,

Très intéressant ! Merci pour le partage Smile 

Je ne sais pas ce qu'en pensent les responsables du site, mais je pense que ceci aurait tout à fait sa place dans le wiki... Tu pourrais leur demander d'avoir les droits d'écriture pour y mettre ce tuto.
Répondre
#3

@kuniyoshi : merci ; très intéressant. :p

@jibe : il les a déjà Wink

GPG:Fingerprint ed25519 : 072A 4DA2 8AFD 868D 74CF  9EA2 B85E 9ADA C377 5E8E
GPG:Fingerprint rsa4096 : 4E0D 4AF7 77F5 0FAE A35D  5B62 D0FF 7361 59BF 1733
Répondre
#4

@tous les deux : Pas de quoi ! Wink 

(1) Pour le wiki, je verrai et je ne promets rien (oui j'ai déjà un compte sur le wiki  Big Grin ).
(2) Sinon voici un script BASH qui me permet d'automatiser une partie de ce que j'ai expliqué sur un système Debian GNU/Linux fraîchement installé :

Prérequis :
(1) Avoir installé Debian donc !
(2) (a) Au préalable, avoir d'une part créé une machine virtuelle OpenBSD (ailleurs) et avoir d'autre part compressé le fichier qcow2 associé.
(b) Placer le script ci-dessous et le fichier compressé qcow2 dans /root puis lancer le script après avoir modifié/adapté ce que vous souhaitez.

Code :
#!/bin/bash

USER='user' &&

INT_WAN='enp0s23' && # interface ethernet WAN à changer selon le materiel !
INT_LAN="${INT_WAN}" && # la meme que le WAN -> VLAN oblige ! :-)
VM='obsd67.qcow2_template-20200405.gz' &&

mkdir old &&
chown -R root:root old/ &&
chmod 700 old/ &&

# Sauvegarde du profil de depart pour une remise a zero ulterieure eventuelle

echo "Generation de user.orig.tar.gz..." > old/report.txt &&
cd /home &&
tar cvfzp ${USER}.orig.tar.gz ${USER}/ &&
chown root:root ${USER}.orig.tar.gz &&
chmod 400 ${USER}.orig.tar.gz &&
echo "Done ! ;-)" >> /root/old/report.txt &&

echo "Copie de user.orig.tar.gz..." >> /root/old/report.txt &&
mkdir /home/.save/ &&
chown -R root:root /home/.save/ &&
chmod 700 /home/.save/ &&
mv ${USER}.orig.tar.gz /home/.save/ &&
echo "Done ! ;-)" >> /root/old/report.txt &&

cd &&

echo "Installation des paquets..." >> old/report.txt &&
apt update -y && apt upgrade -y && apt clean -y && apt autoremove -y &&
apt install -y task-mate-desktop mate-tweak geogebra vim sound-juicer \
libreoffice-l10n-fr libreoffice-dmaths firefox-esr-l10n-fr wipe net-tools \
dnsutils htop mpv vlc gnome-disk-utility build-essential &&
apt install -y virt-manager openvswitch-switch &&
echo "Done ! ;-)" >> old/report.txt &&

# Arret des services inutiles sur l'hote

echo "Arret/desactivation des services inutiles sur l'hote..." >> old/report.txt &&
echo "Arret/desactivation avahi-daemon...">> old/report.txt && &&
systemctl disable avahi-daemon.service && systemctl stop avahi-daemon.service &&
echo "Done ! ;-)" &&
echo "Arret/desactivation wpa_supplicant...">> old/report.txt && &&
systemctl disable wpa_supplicant.service && systemctl stop wpa_supplicant.service &&
echo "Done ! ;-)" &&
echo "Arret/desactivation ModemManager...">> old/report.txt && &&
systemctl disable ModemManager.service && systemctl stop ModemManager.service &&
echo "Done ! ;-)" &&
echo "Arret/desactivation NetworkManager...">> old/report.txt && &&
systemctl disable NetworkManager.service && systemctl stop NetworkManager.service &&
echo "Done ! ;-)" &&
echo "Arret/desactivation bluetooth...">> old/report.txt && &&
systemctl disable bluetooth.target && systemctl disable bluetooth.target &&
systemctl disable bluetooth.service && systemctl stop bluetooth.service &&
echo "Done ! ;-)" >> old/report.txt &&
echo "Arret/desactivation systemd-timesyncd...">> old/report.txt && &&
systemctl disable systemd-timesyncd.service && systemctl stop systemd-timesyncd.service &&
echo "Done ! ;-)" >> old/report.txt &&

echo "Desinstallation de Network-Manager et de son applet...">> old/report.txt && >> old/report.txt &&
apt remove -y --purge network-manager network-manager-gnome &&
echo "Done ! ;-)" >> old/report.txt &&

echo "${USER} mis dans le groupe libvirt..." >> old/report.txt &&
adduser ${USER} libvirt &&
adduser ${USER} libvirt-qemu &&
echo "Done ! ;-)" >> old/report.txt &&

# Creation du switch virtuel gerant des vlans dans Open vSwitch

echo "Creation du switch virtuel ..." >> old/report.txt &&
ovs-vsctl add-br oswitch &&
ovs-vsctl add-port oswitch ${INT_WAN} -- set port ${INT_WAN} trunks=1,2,3 tag=1 &&
echo "Done ! ;-)" >> old/report.txt &&

# Creation des ports virtuels/internes du switch virtuel

# Pour le VLAN1 (1 port) -> reseau WAN FAI/hote
# port interne a Open vSwitch pour l'hote (VLAN2)

echo "Creation du port virtuel de l'hote dans le VLAN2..." >> old/report.txt &&

ovs-vsctl add-port oswitch vport21 tag=2 \
-- set interface vport21 type=internal &&

# Creation du switch virtuel gerant des vlans dans KVM

echo "<network>" > kswitch.xml &&

echo " <name>kswitch</name>" >> kswitch.xml &&
echo " <forward mode='bridge'/>" >> kswitch.xml &&
echo " <bridge name='oswitch'/>" >> kswitch.xml &&
echo " <virtualport type='openvswitch'/>" >> kswitch.xml &&

# creation du VLAN1 (defaut -> reseau FAI)

echo " <portgroup name='vlan1' default='yes'>" >> kswitch.xml &&
echo " <vlan>" >> kswitch.xml &&
echo " <tag id='1'/>" >> kswitch.xml &&
echo " </vlan>" >> kswitch.xml &&
echo " </portgroup>" >> kswitch.xml &&

# creation du VLAN2 (-> reseau hote)

echo "  <portgroup name='vlan2'>" >> kswitch.xml &&
echo " <vlan>" >> kswitch.xml &&
echo " <tag id='2'/>" >> kswitch.xml &&
echo " </vlan>" >> kswitch.xml &&
echo " </portgroup>" >> kswitch.xml &&

# creation du VLAN3 (-> reseau DMZ1)

echo "  <portgroup name='vlan3'>" >> kswitch.xml &&
echo " <vlan>" >> kswitch.xml &&
echo " <tag id='3'/>" >> kswitch.xml &&
echo " </vlan>" >> kswitch.xml &&
echo " </portgroup>" >> kswitch.xml &&

# port TRUNK

echo "<portgroup name='vlanall'>" >> kswitch.xml &&
echo " <vlan trunk='yes'>" >> kswitch.xml &&
echo " <tag id='1'/>" >> kswitch.xml &&
echo " <tag id='2'/>" >> kswitch.xml &&
echo " <tag id='3'/>" >> kswitch.xml &&
echo " </vlan>" >> kswitch.xml &&
echo " </portgroup>" >> kswitch.xml &&

echo "</network>" >> kswitch.xml &&

echo "Creation du switch virtuel dans KVM/Libvirt..." >> old/report.txt &&
virsh net-undefine default &&
#virsh net-destroy default &&
virsh net-define kswitch.xml &&
virsh net-start kswitch &&
virsh net-autostart kswitch &&
rm -f kswitch.xml &&
echo "Done ! ;-)" >> old/report.txt &&

echo "Creation des repertoires /home/data, /home/images + lien..." >> old/report.txt &&
mkdir /home/{data,images} &&
chown ${USER}:${USER} /home/data/ &&
chmod 700 /home/data/ &&
chown root:root /home/images/ &&
chmod 711 /home/images/ &&
mv /var/lib/libvirt/images/ /var/lib/libvirt/images.old &&
ln -s /home/images/ /var/lib/libvirt/images &&
echo "Done ! ;-)" >> old/report.txt &&

# Desactivation d'IPv6 sur l'hote

cp /etc/sysctl.conf old/ &&

echo "Couche reseau IPv6 desactivee sur l'hote..." >> old/report.txt &&
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf &&
echo "net.ipv6.conf.all.autoconf = 0" >> /etc/sysctl.conf &&
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf &&
echo "net.ipv6.conf.default.autoconf = 0" >> /etc/sysctl.conf &&
echo "net.ipv6.conf.default.accept_ra = 0" >> /etc/sysctl.conf &&
echo "net.ipv6.conf.default.forwarding = 0" >> /etc/sysctl.conf &&
sysctl -p &&
echo "Done ! ;-)" >> old/report.txt &&

# Configuration des cartes reseaux sur l'hote

cp /etc/network/interfaces old/ &&

echo "Configuration reseau de l'hote..." >> old/report.txt &&

echo "auto lo" > /etc/network/interfaces &&
printf "iface lo inet loopback\n\n" >> /etc/network/interfaces &&

# Mise en place de la carte reseau virtuelle interne du switch virtuel

echo "allow-ovs oswitch" >> /etc/network/interfaces &&
printf "iface oswitch inet manual\n\n" >> /etc/network/interfaces &&

# La carte reseau ethernet physique est "absorbee" par le switch virtuel

echo "auto ${INT_WAN}" >> /etc/network/interfaces &&
printf "iface ${INT_WAN} inet manual\n\n" >> /etc/network/interfaces &&

# Mise en place du port virtuel dans le VLAN 2 de l'hote

echo "auto vport${VLAN2}1" >> /etc/network/interfaces &&
echo "iface vport${VLAN2}1 inet static" >> /etc/network/interfaces &&
echo "  address 192.168.${VLAN2}0.1/24" >> /etc/network/interfaces &&
echo "  gateway 192.168.${VLAN2}0.254" >> /etc/network/interfaces &&
echo "  dns-nameservers 192.168.${VLAN2}0.254" >> /etc/network/interfaces &&

chmod 644 /etc/network/interfaces &&
chown root:root /etc/network/interfaces &&

echo "Done ! ;-)" >> old/report.txt &&

# IPv4 du resolveur DNS de l'hote qui sera dans le VLAN2

echo "Configuration DNS de l'hote..." >> old/report.txt &&
echo "nameserver 192.168.${VLAN2}0.254" > /etc/resolv.conf &&
chmod 644 /etc/sysctl.d/me.conf &&
chown root:root /etc/sysctl.d/me.conf &&
echo "Done ! ;-)" >> old/report.txt &&

echo "Configuration swapping de l'hote (en tant que \"poste de travail\")..." >> old/report.txt &&
echo "vm.swappiness = 10" > /etc/sysctl.d/me.conf &&
chmod 644 /etc/sysctl.d/me.conf &&
chown root:root /etc/sysctl.d/me.conf &&
echo "Done ! ;-)" >> old/report.txt &&

echo "Nettoyage du cache apt..." >> old/report.txt &&
apt clean -y && apt autoremove -y &&
echo "Done ! ;-)" >> old/report.txt &&

echo "Copie de la VM OpenBSD qui fera office de passerelle filtrante. Wait please..." >> old/report.txt &&
echo "Copie de la VM OpenBSD qui fera office de passerelle filtrante. Wait please..." &&
cp ${VM} /home/images/ &&
cd /home/images &&
chown root:root ${VM} &&
chmod 600 ${VM} &&
gunzip ${VM} &&
mv o* obsd.qcow2 &&
echo "Done ! ;-)" >> /root/old/report.txt &&

reboot

Un OS pour les gouverner tous (FreeBSD), un jail pour les trouver (Unbound)
Un filesystem pour les amener tous et dans les ténèbres les lier (ZFS) ;)
Répondre


Sujets apparemment similaires…
Sujet / Auteur Réponses Affichages Dernier message

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)