[proxmox][openwrt] Installation et configuration

Je vous présente un tuto un peu atypique dans le sens où je me sers d’OpenWRT en tant que serveur dans une machine X86. En effet OpenWRT me semble une bonne alternative à LXC dans le sens où il consomme autant de ressource qu’un conteneur LXC à la différence près qu’il tourne avec KVM.

Est-ce que c’est plus sécurisé? Bonne question! J’aimerai bien avoir un retour entre LXC/Debian vs VM/OpenWRT.

Ici, L’installation, dans la limite du possible, se passe en ligne de commande.

Prérequis

  • Etre à l’aise avec OpenWRT
  • Avoir un accès à l’hyperviseur Proxmox et bien sûr avoir les droits de création de VM.

Proxmox

Créer sa machine en suivant les éléments suivants ou en ligne de commande :

qm create 10001 \
--name bind \
--virtio0 data:0.5 --bootdisk virtio0 \
--memory 128 --balloon 32 \
--onboot no \
--sockets 1 \
--net0 virtio,bridge=vmbr2,firewall=1,macaddr=00:18:25:11:FF:F1,tag=241 \
--scsihw virtio-scsi-single

Côté IHM, cela équivaut à :

Pas de media
0.5 GB suffit amplement, 0.25 fait planter l’installation, le fichier fait 0.28 :)
32/128MB suffit amplement

Dans la console Proxmox, télécharger l’image OpenWRT, copier sur le disque et lancer la VM depuis la console.

curl https://downloads.openwrt.org/releases/19.07.7/targets/x86/64/openwrt-19.07.7-x86-64-combined-ext4.img.gz -O
gzip -d openwrt-19.07.7-x86-64-combined-ext4.img.gz
dd if=openwrt-19.07.7-x86-64-combined-ext4.img of=/dev/disk/by-id/dm-name-pve-vm--10001--disk--0
qm start 10001

OpenWRT

Se connecter avec la console disponible sur la page d’administration web de Proxmox (https://pve:8006).

D’abord supprimer dnsmasq afin de voir si le file systeme est correct et ajouter l’adresse IP et la route par default afin de se connecter en ssh:

opkg remove dnsmasq

ip add add 192.168.0.1/24 dev br-lan
ip r add default via 192.168.0.254
# Pour vérifier l'IP
ip a
# Pour vérifier les routes
ip r

Enfin se connecter en ssh et configurer avec uci.

uci set network.lan.ipaddr='192.168.0.1'
uci set network.lan.netmask='255.255.255.0'
uci set network.lan.gateway='192.168.0.254'
uci set network.lan.dns='8.8.8.8'
uci set network.lan.delegate='0'
uci set system.@system[0].hostname='ntp'
uci commit
/etc/init.d/network reload
/etc/init.d/system reload
/etc/init.d/uhttpd disable
/etc/init.d/uhttpd stop

Par exemple, pour installer un serveur ntp, vu qu’il me semble que ce n’est pas possible d’en avoir un dans un conteneur LXC.

opkg update
opkg install ntpd
uci set system.ntp.enable_server="1"
uci commit system
/etc/init.d/sysntpd restart

uci -q delete system.ntp.server
uci add_list system.ntp.server="0.fr.pool.ntp.org"
uci add_list system.ntp.server="1.fr.pool.ntp.org"
uci add_list system.ntp.server="2.fr.pool.ntp.org"
uci add_list system.ntp.server="3.fr.pool.ntp.org"
uci commit system
/etc/init.d/sysntpd restart

Les ressources consommées sont vraiment minimes.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *