Networking creare un bridge su debian 9 per KVM

La creazione di un bridge di rete serve per soddisfare più esigenze. Dal punto di vista terminologico un bridge di rete è un elemento hardware o software che connette due o più reti in modo che possano comunicare tra di loro.

  • E’ possibile ad esempio create un bridge tra due schede di rete  e filtrare il traffico con un firewall.
  • Poichè un bridge è in grado di gestire più connessioni viene usata nella virtualizzione KVM per consentire alle macchine virtuali di comunicare con altri computer. La configurazione di default infatti consente la navigazione internet ma non permette la comunicazione con altri computer.

Bridge su singola scheda

Per creare il il bridge è necessaria la presenza del pacchetto bridge-utils

apt install bridge-utils

Il file di configurazione è il solito

/etc/network/interfaces

Di seguito il file di configurazione di un doppio bridge su un pc con due schede di rete standard: Realtek e Intel .

Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
           IF: enp7s0 state: up speed: 1000 Mbps duplex: full mac: 00:e0:e4:69:01:43
           Card-2: Intel 82572EI Gigabit Ethernet Controller (Copper) driver: e1000e
           IF: enp8s0 state: up speed: 1000 Mbps duplex: full mac: 00:11:11:b1:16:b6

Il nome delle schede di rete enp7s0 è basato sul Predictable Network Interface Names utilizzato a partire dalla v197 di systemd.

dmesg | grep enp
[ 1.180950] r8169 0000:07:00.0 enp7s0: renamed from eth0
[ 1.326320] e1000e 0000:08:00.0 enp8s0: renamed from eth0

abilitare l’autoconfigurazione della schede e dei bridge con auto :
auto enp7s0
auto br0

manual per assicurarsi che ottengano indirizzi sul dispositivo se non quelli manuali indicati

iface enp7s0 inet manual

Le impostazioni riportate di seguito riguardano la configurazione di due bridge statici sulle due schede presenti.
I settaggi tengono conto anche di di ipv6

:~$ cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Network interfaces
allow-hotplug enp7s0
allow-hotplug enp8s0

# abitilità la configurazione automatica  
auto enp7s0 

iface enp7s0 inet manual
iface enp7s0 inet6 manual

# set up bridge0 and give it a static ip
auto br0
iface br0 inet static
 address 192.168.1.121
 netmask 255.255.255.0
 network 192.168.1.0
 broadcast 192.168.1.255
 gateway 192.168.1.1
 bridge_ports enp7s0 #eth0
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0
 dns-nameservers 8.8.8.8

#allow autoconf for ipv6
iface br0 inet6 auto
       accept_ra 1

...
...

in caso di modifiche per riavviare il bridge

systemctl  start mode-bridge

File di configurazione in debian con il settaggio del bridge di tipo static su enp8s0

cat /etc/network/interfaces

:~$ cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

....
....
auto enp8s0
...
iface enp8s0 inet manual
iface enp8s0 inet6 manual
...
# enp8s0 network interface 
# set up bridge and give it a static ip
auto br1
iface br1 inet static
 address 192.168.2.141
 netmask 255.255.255.0
 network 192.168.2.0
 broadcast 192.168.2.255
 gateway 192.168.2.1
 bridge_ports enp8s0 #eth1
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0
 dns-nameservers 8.8.8.8

#allow autoconf for ipv6
iface br1 inet6 auto
        accept_ra 1

 

Riavvio Bridge

per riavviare un bridge in genere si ricorre a mode-bridge
il comando varia a seconda che sia attivo il gestore di sistema e di servizi systemd o SysV

Debian/Centos/linux
- systemd
systemctl stop mode-bridge  
e
systemctl start mode-bridge 
- System V init (initscript) 
/etc/init.d/mode-bridge stop     
e 
/etc/init.d/mode-bridge start

 

Configurazione Bridge  su Pc desktop

La gestione della connessioni di rete in un pc desktop debian attualmente è demandata a NetworkManager.

In generale network-manager gestisce solamente le interfacce di rete che non risultano dichiarate in /etc/network/interfaces

Tuttavia qualora si installi KVM su pc desktop con attivo Network-Manager potrebbe inzialmente risultare comoda o necessaria anche la disabiltazione manuale della scheda di rete da usare per il bridge.

 

Risorse:

Annunci

Networking

[Aggiornato 2014 ]

mostra le interfacce di rete disponibili

ifconfig -a

Verifica il collegamento con un’altra macchina:

ping 207.46.130.108

Riavvia servizi di networking

sudo /etc/init.d/networking restart
sudo service networking restart

Per monitorare il traffico di rete è possibile utilizzare

bmon

sudo apt-get install

per controllare la rete è  disponibile l’applet nm-applet che può avviata da temrinale digitando proprio nm-applet

configurazione della rete in Ubuntu utilizzando l’interfaccia grafica

nm-connection-editor

Impostare una connessione di rete statica con nm-connection-editor:

– selezionare wired ->  selezionare la scheda di rete
– flaggare connect automatically  -> selezionare IPv4 Settings
– quindi Method Manual
– clikkare  + Add  e inserire Address Netmask e Gateway
– inserire DNS server

Per controllare che la connessione consenta di uscire sulla rete esterna  oppure solo a livello locale
utilizzare il pulsante [Routes … ]

per bloccare navigazione esterna cambiare address e flaggare “Use this connection only for resource on this network.

Se si cambiano le impostazioni di rete necessario riavviare i servizi di rete con

sudo /etc/init.d/network-manager restart 

using nm-connection-editor
using nm-connection-editor

Le impostazioni  di rete in questo caso sono visibili e modificabili eventualmente manualmente nelle subdirectory in /etc/NetworkManager:

In particolare nei files in etc/NetworkManager/system-connections sono contenute le informazioni inserite utilizzando le maschere sopra visualizzate:

nm-system-coinnections

Wired Connection 1

nm-system-coinnections-wired_1

Con l’avvento network-manager version 0.8.1-4, le interfacce wired/wireless esistenti in /etc/network/interfaces sono disabilitate con #NetworkManager# prefix durante le fasi installazione, e riabilitate solo con la rimozione del pacchetto network-manager.

Il pacchetto networkmanager dalla versione  0.8.1 contiene  nmcli

con nm-tool è possibile visualizzare status e device di Networkmanager

attiva disattiva scheda di rete

sudo ifdown eth0 
ifdown eth1
ifup eth1
Assegna un indirizzo IP ad un'interfaccia
ifconfig eth0 207.46.130.108   

Definisci un gateway di default per i pacchetti destinati a macchine esterne alla rete locale:

route add default gw 192.168.0.1

Cancella la regola di instradamento di default:

route del default

 

 

 

 

configurazione in ubuntu server e debian

In ubuntu server anche versione 12.10 e in debian la configurazione delle schede di rete avviene modificando come tradizione il file /etc/network/interfaces.

Organizzazione tipica del file interfaces con due schede di rete una con dhcp e l’altra con indirizzo static

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
  address 192.168.1.67
  netmask 255.255.255.0
  broadcast 192.168.1.255
  network 192.168.1.0
  gateway 192.168.1.1
  # Google Public DNS IP addresses:
  dns-nameservers 8.8.8.8 8.8.4.4
dns nameservers

Alcuni dns-nameservers usati da google, alice, fastweb :

   dns-nameservers 8.8.8.8 8.8.4.4  # google 
   dns-nameservers 85.37.17.14 85.38.28.78 # alice
   dns-namservers  61.101.93.101 83.103.25.250 # fastweb

resolv.conf
/etc/resolv.conf
contiene le informazioni per connettersi al network risolvendo i nomi in dirizzi

# Generated by NetworkManager
nameserver 192.168.1.1
nameserver 8.8.8.8

Multipli IP in un interfaccia
# the loopback interface
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.12
netmask 255.255.255.0
gateway 192.168.1.1

auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address 192.168.1.164
netmask 255.255.255.0

auto eth0:1
allow-hotplug eth0:1
iface eth0:1 inet static
address 192.168.1.174
netmask 255.255.255.0

Approccio ip utility

auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.12 netmask 255.255.255.0 gateway 192.168.1.1 up ip addr add 192.168.1.164/24 dev eth0 label eth0:0 down ip addr del 192.168.1.164/24 dev eth0 label eth0:0 up ip addr add 192.168.1.174/24 dev eth0 label eth0:1 down ip addr del 192.168.1.174/24 dev eth0 label eth0:1

Static route

Aggiungere netwoRk e host con il comando route alla routing table.

 
route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.1.1 eth1
route add -host 10.1.0.15 netmask 255.255.0.0 gw 10.2.0.1 eth1

# route verso tutti gli indirizzi 
route add -net 0.0.0.0 netmask 255.255.255.0 gw 192.168.1.1 eth0   
cancellare 
route del -net 0.0.0.0 netmask 255.255.255.0 gw 192.168.1.1 eth0

per verificare i cambimentie nella routing table digitare

route -n

Cancellare comandi dalla routing table.

route del -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.1.1 eth1
route del -host 10.1.0.15 netmask 255.255.0.0 gw 10.2.0.1 eth1

Risorse: