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/

Répondre à