====== Configuration réseau d'un VPS ====== Notre installation est un peu spéciale : nous utilisons des adresses locales au lien pour éviter le gaspillage et permettre la redondance (deux hyperviseurs) + routage en /32. Pour plus d'infos, voir la page [[benevoles:technique:adressage#topologie_arn|adressage]]. En conséquence, la configuration réseau à l'intérieur du VPS est un peu spéciale. Avec une Debian GNU/Linux ou dérivée, le fichier /etc/network/interfaces ressemble à ça : auto lo iface lo inet loopback auto eth0 iface eth0 inet static pre-up /sbin/ip link set $IFACE up pre-up /sbin/ip route add 169.254.42.1 dev $IFACE address /32 gateway 169.254.42.1 iface eth0 inet6 static address gateway fe80::42:1 accept_ra 0 autoconf 0 dad-attempts 0 Attention : depuis Debian Stretch, le nom de l'interface n'est plus eth0 mais dépend du pilote utilisé par la carte réseau (exemple : « ens5 »)… ===== Durant l'installation de Debian ===== ==== Simple ==== La solution la plus simple est de ne pas configurer le réseau durant l'installation, d'installer uniquement les « utilitaires usuels du système » (notamment s'il s'agit d'une netinstall), de te connecter à ton VPS après l'installation et de réaliser la conf' ci-dessus puis utiliser la commande « ifup » puis installer un serveur SSH avec la commande « apt-get update && apt-get install openssh-server ». ==== Compliqué ==== La solution la moins simple consiste à effectuer la configuration réseau en ligne de commande durant l'installation. * Si t'es dans une installation graphique, la seule possibilité d'accéder à un shell est de cliquer sur le bouton « revenir en arrière » au bon moment puis de choisir « Exécuter un shell ». * Si t'es dans une installation non graphique, tu peux appuyer sur la touche « échap » au bon moment puis choisir « Exécuter un shell ». Autre possibilité : changer de console avec ctrl+alt+f2 (ou alt+fléches droite ou gauche). Déroulé : * Arriver jusqu'à « configurer le réseau ». Laisser passer (ou annuler) la configuration automatique IPv6 puis DHCP ; * Choisir « configurer vous-même le réseau ». Saisir une presque-vraie configuration réseau : IPv4 = /24 puis gateway = 89.234.141.131 puis dns = 89.234.141.66 ; * Laisser faire la détection de la connexion ; * Saisir le nom de la machine et le domaine (si besoin) ; * Quand t'arrives au choix du mot de passe du super-utilisateur, va dans un shell (voir ci-dessus) et taper puis exécute les commandes suivantes (aucune ne doit afficher une erreur !) : * Identifier ton interface réseau avec la commande avec la commande « ip link show ». Ici, nous supposerons qu'il s'agit de « ens5 » ; * ip addr del /24 dev ens5 * ip addr add /32 dev ens5 * ip route add 169.254.42.1/32 dev ens5 * ip route add default via 169.254.42.1 dev ens5 * echo "nameserver 89.234.141.66" > /etc/resolv.conf * Sortir du shell en tapant la commande « exit » ou en cliquant sur le bouton « revenir en arrière » ; * Reprendre l'installation à « Créer les utilisateurs et choisir les mots de passe » * Au redémarrage du système, il faudra à nouveau se connecter en VNC et écrire le fichier /etc/network/interfaces tel qu'il est communiqué ci-dessus puis utiliser la commande « ifup ens5 ». Attention : l'installeur Debian peut détruire la configuration réseau avant que t'arrives à l'étape de sélection d'une source de téléchargement… Si c'est le cas, il faut revenir en shell et exécuter à nouveau les commandes des points 2 à 5 ci-dessus. ===== Configuration réseau pour OpenBSD ===== Le principe est le même que pour Linux : ajouter une route par défaut vers une IP passerelle directement sur une interface (vio0 sous OpenBSD). La configuration se fait dans le fichier habituel : /etc/hostname.vio0 inet alias 255.255.255.255 !route -n add -host 169.254.42.1 -llinfo -link -static -iface vio0 inet6 56 Ensuite il faut configurer les passerelles (IPv4 et IPv6), comme d'habitude dans /etc/mygate (n'oubliez pas le %vio0) : 169.254.42.1 fe80::42:1%vio0 ===== Configuration réseau pour FreeBSD ===== Dans /etc/rc.conf : ifconfig_vtnet0="inet netmask 255.255.255.255" static_routes="gate" route_gate="-host 169.254.42.1 -link -static -iface vtnet0" defaultrouter="169.254.42.1" ifconfig_vtnet0_ipv6="inet6 prefixlen 56" ipv6_defaultrouter="fe80::42:1%vtnet0" ===== Configuration réseau pour Netifrc (Gentoo) ===== Comment configurer le réseau de son VPS sous [[https://gentoo.org|Gentoo]], ou toute autre distribution utilisation [[https://wiki.gentoo.org/wiki/Netifrc|netifrc]]. Créer un fichier **/etc/conf.d/net** avec le contenu suivant //(remplacer **** par le nom de votre interface vers l'extérieur, et **** ou **** par les IP fournies par ARN)// : config_="/32 /56" routes_="default via 169.254.42.1" dns_servers_="89.234.141.66" preup() { [ ${IFACE} == "" ] && ip route add 169.254.42.1 dev return 0 } Dans ce fichier, vous pourrez configurer n'importe quelle autre interface indépendamment, et grâce au système d'init basé sur des liens symboliques et scripts bash, pourrez "reconfigurer" une interface ou l'autre, sans avoir à redémarrer toutes les interfaces. **Si vous n'utilisez pas OpenRC comme système d'init, la suite de ces instructions ne vous concerne pas.** Pour activer la carte, créer un lien symbolique de **/etc/init.d/net.lo** en changeant "lo" par le nom de votre interface, pour se faire : ln -s /etc/init.d/net.lo /etc/init.d/net. Et l'activer dans le runlevel qui vous sied, comme d'habitude avec OpenRC : rc-update add net. default Pour tester, rien de plus simple : rc-service start net. Si vous pouvez pinger [[atrier:perdu.com]], c'est que vous avez n'êtes plus dans le flou intersidéral des déboires du réseau! ===== Configuration avancée ===== Par défaut, les IPs (v4 et v6) sont routées directement sur la VM, sans next-hop. Cela signifie que nos hyperviseurs envoient directement des demandes ARP/NDP sur la tap et que la VM doit y répondre avant de recevoir du trafic. **Ce fonctionnement simpliste ne permet pas (sans bidouille type ARP/NDP proxy) le subnetting IPv6 ou l'utilisation de la VM comme un endpoint VPN**, par exemple, car alors, la VM ne sera pas en mesure de répondre aux demandes ARP/NDP de nos hyperviseurs. Pour que ces usages soient possibles, vous devez en faire la demande auprès des admins ARN et changer le contenu de votre fichier /etc/network/interfaces pour celui-ci : auto lo iface lo inet loopback auto eth0 iface eth0 inet static pre-up /sbin/ip link set $IFACE up pre-up /sbin/ip route add 169.254.42.1 dev $IFACE address /32 post-up /sbin/ip addr add 169.254.42.2/24 dev $IFACE scope link gateway 169.254.42.1 iface eth0 inet6 static address post-up /sbin/ip -6 addr add fe80::42:2 dev $IFACE gateway fe80::42:1 accept_ra 0 autoconf 0 dad-attempts 0 ===== Redimensionner une partition ===== Un exemple type pour un passage de 5Go à 6Go: root@vps:~# parted /dev/vda GNU Parted 3.2 Using /dev/vda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) print << affiche la table de partition avec diverses informations Model: Virtio Block Device (virtblk) Disk /dev/vda: 6442MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 5369MB 5368MB primary ext4 boot (parted) resizepart Partition number? 1 << le numéro de la partition qu'on souhaite redimensionner Warning: Partition /dev/vda1 is being used. Are you sure you want to continue? Yes/No? Yes End? [5369MB]? 100% << 100% signifie qu'on souhaite utiliser la totalité de l'espace disque (parted) print << on vérifie que le changement a bien été pris en compte Model: Virtio Block Device (virtblk) Disk /dev/vda: 6442MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 6442MB 6441MB primary ext4 boot (parted) q Information: You may need to update /etc/fstab. root@vps:~# resize2fs /dev/vda1 << on agrandit le système de fichier à la taille de la partition. resize2fs 1.43.4 (31-Jan-2017) Filesystem at /dev/vda1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/vda1 is now 1572608 (4k) blocks long.