Le 26/01/2019 à 20:48, Raphael Mazelier a écrit :
On 26/01/2019 20:37, Alarig Le Lay wrote:
J’ai récemment découvert que l’on peut passer net.ifnames=0 et
biosdevname=0 au kernel pour désactiver ça :
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-disabling_consistent_network_device_naming
Intéressant...
y'a moyen de virer networkd dans debian9 et de retrouver le réseau
'normal' ?
Vu l'heure et le jour, en cas de repas de famille, je propose une palika
pour la digestion (enfin pour ceux qui sont pas de permanence ou
d'astreinte :)
PS
Le détail de l'histoire et ça peut aussi donner des idées (dans les deux
sens)...
Me suis fait un setup des fagots sous debian 8 pour utiliser toutes les
IP d'un bloc (sans en perdre 3 à chaque fois) avec n domU Xen+xl (donc
tout le setup réseau à la mano + des n intranets de communication inter
domus).
Le network/interfaces fait quelques lignes et c'est idem pour le script
iptables, j'en ai un peu ch... à débugguer la partie réseau, n'étant pas
un pro (plus 2/3 rescues :).
Par contre le résultat est là, j'évite une vm pour un routeur : maniper
trois fichiers interfaces, iptables et sysctl.conf dans l'hyperviseur,
et ça roule. Chaque VM a son propre firewall sur ses interfaces. Les
débits extranet et intranet sont furieux. C'est fiable et projetable.
Dernièrement (n'ayant rien contre la nouveauté) j'ai réussi à comprendre
comment faire avec debian9/networkd avec n domU Xen+xl (donc encore tout
le setup réseau à la mano) mais là c'était une seule IP en frontal (pour
l'hyperviseur et toutes les vm, ce qui n'est pas mon cas général).
J'appréhende (par manque de temps) la galère pour passer au niveau
suivant avec networkd (soit toutes les IP d'un bloc utilisables sans en
perdre 3 à chaque fois) pour autant de domu.
Cette manip est un peu verbeuse dans interfaces (on pourrait la scripter
pour de plus gros blocs) mais je ne retrouve pas toutes les fonctions
d'interface dans networkd...
En particulier, comme ça, je vois pas comment implémenter avec networkd
un paramètre zarbi (et indispensable dans ce cas) comme "pointopoint".
Donc...
...s'il y avait moyen de virer proprement networkd sans péter systemd en
restant fiable pour de la prod, ça serait très intéressant (en attendant
d'avoir un peu plus de temps... surtout que dans pas longtemps, on va
aussi se retrouver avec un autre remue-méninges pour ne pas vieillir :
le remplaçant d'iptables :)
ou (bonus extraballe, pardon... extrabouteille)
...une bonne âme pour me donner la soluce avec networkd (auquel cas, un
soudoyage aggravé à base de wodka à la pomme de terre de l'île de ré ou
de gin à base d'algues d'oléron -selon dispo et goût- est furieusement
prévu, et ce sont des produits très goûtus :)
Copie ci-dessous du netword/interfaces et du bout correspondant dans
iptables.
Une IP pour l'hyperviseur : *.*.140.63
UN /28 pour les VMs *.*.150.160 -> *.*.150.175
#----------------------------------------------------------------------------
# Interfaces - Configuration réseau pour ******** v2
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# Interface locale
#----------------------------------------------------------------------------
auto lo
iface lo inet loopback
#----------------------------------------------------------------------------
# Interface physique du serveur et de l'hyperviseur dom0
#----------------------------------------------------------------------------
auto eth0
iface eth0 inet static
address *.*.140.63
netmask 255.255.255.0
network *.*.140.0
broadcast *.*.140.255
gateway *.*.140.254
pointopoint *.*.140.254
#----------------------------------------------------------------------------
# Interfaces ponts pour les eth0 des domUs - bloc de /28
#----------------------------------------------------------------------------
auto br001
iface br001 inet static
address 192.168.175.1 <- fake ip
netmask 255.255.255.0
pre-up brctl addbr $IFACE
post-up route add -host *.*.150.175 $IFACE
post-down brctl delbr $IFACE
...
======////====== 14 définitions de ponts coupées
....
auto br240
iface br240 inet static
address 192.168.167.1
netmask 255.255.255.0
pre-up brctl addbr $IFACE
post-up route add -host *.*.150.167 $IFACE
post-down brctl delbr $IFACE
#----------------------------------------------------------------------------
# Interfaces virtuelles pour les eth1, eth2, ethX des domUs
#----------------------------------------------------------------------------
auto dummy0
iface dummy0 inet manual
auto veth1
iface veth1 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
bridge_ports dummy0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
post-up ifconfig veth1 hw ether 00:16:3E:01:02:54
auto dummy1
iface dummy1 inet manual
auto veth2
iface veth2 inet static
address 192.168.2.254
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
bridge_ports dummy1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
post-up ifconfig veth2 hw ether 00:16:3E:02:02:54
...
======////====== intranets suivants coupés
...
#----------------------------------------------------------------------------
# EOF
#----------------------------------------------------------------------------
...
======////====== extrait iptables
...
#============================================================================
#=== FIREWALL EXTIF
#============================================================================
echo "$DESC : IPTABLES : Autorisation des connexions sur $EXTIF."
# Autorisation des connexions sortantes sur EXTIF
$IPTABLES -A OUTPUT -o $EXTIF -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
# Autorisation des connexions entrantes existantes sur EXTIF
$IPTABLES -A INPUT -i $EXTIF -m state --state
ESTABLISHED,RELATED -j ACCEPT
echo "$DESC : IPTABLES : Règles $EXTIF de routage."
#--- Redirection du bloc d'IP : *.*.150.160/28
echo "$DESC : IPTABLES : Redirection de bloc IP vers les DomU."
$IPTABLES -A FORWARD -i $EXTIF -o br+ -d *.*.150.160/28 -j
ACCEPT # Internet > VM
$IPTABLES -A FORWARD -i br+ -o $EXTIF -s *.*.150.160/28 -j
ACCEPT # domUs > Internet
echo "$DESC : IPTABLES : Regles NET de routage vers le Dom0."
#--- SSH
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,ESTABLISHED
-p tcp --dport ***** -j ACCEPT
$IPTABLES -A OUTPUT -o $EXTIF -m state --state ESTABLISHED -p
tcp --sport ***** -j ACCEPT
#--- IPERF
#$IPTABLES -A INPUT -i $EXTIF -m state --state NEW,ESTABLISHED
-p tcp --dport ****** -j ACCEPT
#$IPTABLES -A OUTPUT -o $EXTIF -m state --state ESTABLISHED -p
tcp --sport ******* -j ACCEPT
#============================================================================
#=== FIREWALL VIRTF1 (supervision & messages de service)
#============================================================================
echo "$DESC : IPTABLES : Autorisation des connexions sur $VIRTIF1."
# Autorisation des connexions sortantes sur VIRTIF1
$IPTABLES -A OUTPUT -o $VIRTIF1 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
# Autorisation des connexions entrantes existantes sur VIRTIF1
$IPTABLES -A INPUT -i $VIRTIF1 -m state --state
ESTABLISHED,RELATED -j ACCEPT
echo "$DESC : IPTABLES : Règles $VIRTIF1 de routage."
#--- SSH
# néant : Hyperviseur Dom0 isolé des DomUs
#============================================================================
#=== FIREWALL VIRTIF2 (intranet pour groupe de domUs Web)
#============================================================================
echo "$DESC : IPTABLES : Autorisation des connexions sur $VIRTIF2."
# Autorisation des connexions sortantes sur VIRTIF2
$IPTABLES -A OUTPUT -o $VIRTIF2 -m state --state
NEW,ESTABLISHED,RELATED -j ACCEPT
# Autorisation des connexions entrantes existantes sur VIRTIF2
$IPTABLES -A INPUT -i $VIRTIF2 -m state --state
ESTABLISHED,RELATED -j ACCEPT
echo "$DESC : IPTABLES : Règles $VIRTIF2 de routage."
#--- SSH
# néant : Hyperviseur Dom0 isolé des DomUs
#============================================================================
#=== FIREWALL VIRTIF3 (intranet pour groupes de domUs Sow)
#============================================================================
...
======////====== extrait iptables
...
--
Stéphane Rivière
Ile d'Oléron - France
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/