Home server linux motherboard x79

La disponibilità di processori Xeon usati e di motheboard x79 cinesi a costo contenuto consente di realizzare home server linux e computer da gioco potenti a costi contenuti.

Nel post la realizzazione di una macchina Debian 9.3 che potrà essere adibita a Home Server Linux  per la virtualizzazione KVM.  Al centro del sistema c’è la motheboard cinese x79   3.5B mATX. Il formato ridotto consente anche di contenere gli ingombri .

motheboard x79 mATX 3.5B

Debian

Premesso da subito che l’installazione di Debian 9  non evidenzia nessun problema nel riconoscimento della mainboard passiamo alle caratteristiche  della stessa

La scheda madre x79 in oggetto, ha stampato sulla piastra E5 ver: 3.5B. Supporta processori con socket LGA 2011. Precisamente  Xeon E5 v1 (Sandy-Bridge) e Xeon E5 v2 (Ivi Bridge) e Core i7 (sandy Bridge-E) che possono essere facilmente trovati di seconda mano a basso costo. 

Caratteristica molto interessante la 3.5B supporta memorie DDR3 U-DIMM ( pc standard – memorie unbuffered ) che R-DIMM ( server – memoria registered ) con e senza controllo di parità (ECC) .  Praticamente sembra accettare qualsiasi tipo di DDR3 con il limite della frequenza 1066/1333/1600.   Viene dichiarata una capacità massima di 64 GB. 

I vari tipi di memoria sono descritti sinteticamente nel post:  Memorie DIMM SDRAM DDR: U-DIMM, U-DIMM ECC, R-DIMM, R-DIMM ECC.

I processori i7 possono usare solo DDR3 U-DIMM (regular / x desktop) . Gli Xeon sia U-DIMM che R-DIMM

La scheda viene fornita in una confezione molto economica. Il vero limite però  è un manuale veramente molto spartano e un po’ approssimativo. Si tratta di 2 fogli A4 piegati. 6 facciatine di testo dal titolo generico x79 User Manual. All’interno non è riportato il modello della scheda che invece è leggibile sulla piastra E5 VER: 3.5B. Lo schema riportato lascia a desiderare. E’ fornito un Cd-Rom con i driver per Windows,   ovviamente il backpanel per  il case e 2 cavi Sata. In compenso come già evidenziato nessun problema nell’installazione di Debian se non la necessità di installare i soliti driver non free per la scheda di rete  firmware-realtek_0.43_all.deb.  Ubuntu non dovrebbe richiedere neppure questo mettendo da subito a disposizione anche i driver non free.

Caratteristiche della scheda:

  • Chipset: x79  ( o compatibile ), intel 6series o 7series, DMI 2.0
  • Cpu:  Xeon E5 V1 e V2  , core i7 Sandy Bridge-E
  • BIOS: American Megatrend v 4.6.5  data 06/26/2017
  • Memory4*240pin DDR3 1066/1333/1600 – capacità massima dichiarata 64 GB
  • LAN:  RTL 8111el   Realteck 10/100/1000 LAN
  • PCI Express:
    • 1*PCI Express x 16 supporta schede grafiche PCI 3.0,
    • 2*PCI Express  x  1
  • Audio: Realteck ALC662 5.1 Channel
  • SATA: 1* SATA 3.03* SATA 2.0
  • USB: 4* USB 3.0,  10* USB 2.0
  • 1 x RS232
  • I/O connectors:
    • 1 Ps/ 2  Keyboard
    • 1 Ps/2 Mouse
    • 1 RJ45  Giga LAN Realteck
    • 2 x USB 3.0
    • 4 x USB 2.0
    • audio:  input/output/mic
    • 5.1 Channel Audio
    • Ovviamente mancano connettori per display
  • Dimensioni: 237mm x 250mm Micro ATX
  • Brand: Non indicato

Processori supportati

Processori: i7 Core

i7 3820,  i7 3930K,  i7 3960x,  i7 3970x, i7 4820K, i7 4930k, i7 4960x e altri

Processori: Intel Xeon

Xeon v1 ( Sandy Bridge ) e Xeon v2 ( Ivi Bridge )  E5-16xx, E5-26xx, E5-46xx

Elenco esemplificativo di processori Xeon supportati :

 Xeon V.1 Xeon V.2
 Xeon E5-1620 Xeon E5-1620 v2
 Xeon E5-1650 Xeon E5-1650 v2
 Xeon E5-1660 Xeon E5-1660 v2
Xeon E5-1680 Xeon E5-1680 v2
Xeon E5-2603 v2
 Xeon E5-2620 Xeon E5-2620 v2
Xeon E5-2628L v2 (basso consumo)
Xeon E5 2630 Xeon E5-2630 v2
Xeon E5-2630L ( basso consumo ) Xeon E5-2630L v2
Xeon E5-2637 v2
Xeon E5-2640 Xeon E5-2640 v2
Xeon E5-2643 Xeon E5-2643 v2
Xeon E5-2648L v2 (basso consumo)
Xeon E5 2650 Xeon E5-2650 v2
Xeon E5 2658 ( usato per il test )  Xeon E5-2658 v2
 Xeon E5-2660 Xeon E5-2660 v2
 Xeon E5-2667 Xeon E5-2667 v2
 Xeon E5-2670 Xeon E5-2670 v2
 Xeon E5-2680 Xeon E5-2680 v2
Xeon E5-2687W
Xeon E5-2690 v2
Xeon E5-2695 v2
Xeon E5-2697 v2
Xeon E5-4603
Xeon E5-4616
Xeon E5-4640
Xeon E5-4650
Xeon E5-4616

Il sistema è stato assemblato utilizzando hardware usato o già a disposizione. Nuovi la mortherboard e il dissipatore.

Home Server Linux – Configurazione di test:

  • Motherboard x79 3.5B LGA 2011 ( circa 100 Euro ebay: serverit_nl)
  • CPU: Intel Xeon E5-2658 V18 core CPU ( usato )
    Dissipatore : ARCTIC Alpine 20 CO
  • RAM: 16GB DDR3 1600 R-DIMM ECC SK Hynix ( usato )
  • Scheda Video PCI Express base AMD Radeon HD5400
  • HD Western Digital – WD20EARX-00P
  • Scheda di rete aggiuntiva Intel 82572EI Gigabit Ethernet Controller
  • Sistema Operativo: Debian 9.3
  • Alimentatore sovradimensionato da 460 Watt.

Per inxi il sistema ha le seguenti caratteristiche. Inxi evidenzia che il pc è acceso da 14 giorni.

$ inxi -Fxz
System:    Host: deb9p4B Kernel: 4.9.0-5-amd64 x86_64 (64 bit gcc: 6.3.0) Desktop: N/A Distro: GNU/Linux 9 (stretch)
Machine:   Device: desktop Mobo: INTEL model: X79 INTEL(INTEL Xeon E5/Core i7 DMI2 - C600/C200 Cipset v: V3.5B
           UEFI: American Megatrends v: 4.6.5 date: 06/26/2017
CPU:       Octa core Intel Xeon E5-2658 0 (-HT-MCP-) cache: 20480 KB 
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 33521 
           clock speeds: max: 2400 MHz 1: 2380 MHz 2: 2330 MHz 3: 2350 MHz 4: 2389 MHz 
           5: 2299 MHz 6: 2296 MHz  7: 2305 MHz 8: 2377 MHz 9: 2351 MHz 10: 2292 MHz 
           11: 2362 MHz 12: 2371 MHz 13: 2356 MHz 14: 2306 MHz  15: 2302 MHz 16: 2250 MHz
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series]
           bus-ID: 03:00.0  
           Display Server: X.org 1.19.2 drivers: ati,radeon (unloaded: modesetting,fbdev,vesa)
           tty size: 122x42 Advanced Data: N/A for root
Audio:     Card-1 Advanced Micro Devices [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series]
           driver: snd_hda_intel bus-ID: 03:00.1
           Card-2 Intel 7 Series/C216 Family High Definition Audio Controller
           driver: snd_hda_intel bus-ID: 00:1b.0
           Sound: Advanced Linux Sound Architecture v: k4.9.0-5-amd64
Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
           driver: r8169 v: 2.3LK-NAPI port: d000 bus-ID: 07:00.0
           IF: enp7s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
           Card-2: Intel 82572EI Gigabit Ethernet Controller (Copper)
           driver: e1000e v: 3.2.6-k port: c000 bus-ID: 08:00.0
           IF: enp8s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:    HDD Total Size: 2000.4GB (73.8% used)
           ID-1: /dev/sda model: WDC_WD20EARX size: 2000.4GB temp: 27C
Partition: ID-1: / size: 42G used: 17G (42%) fs: ext4 dev: /dev/sda3            
Sensors:   System Temperatures: cpu: 32.0C mobo: N/A gpu: 41.5
Info:      Processes: 294 Uptime: 14 days Memory: 10104.2/15984.1MB  Init: systemd 
           runlevel: 5 Gcc sys: 6.3.0 Client: Shell (bash) inxi: 2.1.28 

Xeon E5-2658

La cpu Xeon E5-2658 è una cpu a 8 core 16 thread di discreta potenza con consumi come riportato tutto sommato contenuti. I molti core nel caso della virtualizzazione consentono di meglio ripartire la potenza di calcolo tra le macchine virtuali.

Nel corso del test phoronic Smallpt 1.0  i consumi massimi del pc sono stati 141.5 W .  Consumi in idle circa75W.   Nmon evidenzia come tutte le unità di calcolo della cpu XEON siano al 100% nel corso del test.

test phoronic Smallpt 1.0

Molte sono le CPU Xeon E5-xxxx v1 e v2 rilasciate e che conseguentemente si possono acquistare usate in rete. Per un home server vale la pena considerare anche i consumi le versioni a basso consumo marcate L non sono molte. Il TDPdi  65W le rende  decisamente interessanti. Per confrontare le prestazioni in base ai Watt spesi il sito cpubenchmark ha un interessante tabella riepilogativa
https://www.cpubenchmark.net/CPU_mega_page.html

Nell’elenco le CPU sono ordinate per Power performance

 

Risorse:

Annunci

Installare Pgadmin 4 versione 2.0 in debian 9 – Python Wheel

pgAdmin è la più popolare e completa applicazione open source per l’amministrazione di postgresql il database SQL ad oggetti opensource più avanzato disponibile.

La versione 4.0 di Pgadmin è stata completamente riscritta usando Python,  Jquery e Bootstrap e il framework Flask. E’ disponibile in forma di applicazione desktop in  C++ con Qt e come applicazione web.
La precedente versione Pgadmin III non è al momento più supportata.
In ottobre 2017 è stata rilasciata la versione 2.0 di pgAdmin  4.0 .

Installare pgadmin 4 v 2.0 in debian 9.xx come web application modalità desktop

Per installare  pgadmin 4 in debian come applicazione web è necessario installare una serie di pacchetti per avere a disposizione Python e in particolare un Python Virtual Environment.

# su
# apt-get install build-essential libssl-dev libffi-dev libgmp3-dev virtualenv python-pip libpq-dev python-dev

Si può controllare la versione di python disponibile con

# python -V
  Python 2.7.13

Creare l’ambiente virtuale python 

Si può creare l’ambiente virtuale nella directory /opt utilizzando ad esempio  la directory py-env

# cd /opt
# mkdir py-env
# cd py-env

creiamo l’ambiente virtuale python

# virtualenv pgadmin4.2
# cd pgadmin4.2
# source bin/activate

Download e installazione pgadmin4 python wheel

Effettuare il download di pgadmin 4 v.2  python Wheel con

# wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl

e installare con

# pip install pgadmin4-2.0-py2.py3-none-any.whl

Creare il file di configurazione locale di pgadmin4

per utilizzare pgadmin4 in modalità single user

# touch lib/python2.7/site-packages/pgadmin4/config_local.py
# echo "SERVER_MODE = False" >> lib/python2.7/site-packages/pgadmin4/config_local.py

Avviare pgadmin4 v 2.x come web application

per avviare usare il comando python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

(pgadmin4.2) root@deb9:/opt/py-env/pgadmin4.2# python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
 Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.

Come indicato nel messaggio che appare a terminale puntare il browser all’indirizzo locale 127.0.0.1 porta 5050 è si avrà a disposizione la web application

per impostare user e password di login lanciare

lib/python2.7/site-packages/pgadmin4/setup.py

pgadmin4_login

Accedere a pgadmin4  da computer remoto 

Per accedere a pgadmin4 da computer remoto  si può ad esmepio editare il file di configurazione

/opt/py-env/pgadmin4.2/lib/python2.7/site-packages/pgadmin4/config.py

e cambiare il paramentro DEFAULT_SERVER indicando 0.0.0.0 oppure l’indirizzo ip spcifico

...
# ORI
# DEFAULT_SERVER = '127.0.0.1'
# NEW
DEFAULT_SERVER = '0.0.0.0'
...

Avvii successivi

Per gli avvi successivi di pgadmin4 phyton wheel

su 
cd /opt/py-env/pgadmin4.2
source bin/activate
python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

Per installare pgadmin in modalità server non creare il file config_local.py

 

Risorse posts/pagine utili :

Postgresql :

 

Come Configurare SQLWorkbench per PostgreSQL

SQLWorkbench è un SQL query tool free particolarmente efficace che supporta un ampio numero di DBMS. Scritto in Java è in grado di interfacciarsi con qualsiasi database per il quale sia disponibile un JDBC driver.  Essendo in java SQLWorkbench potrebbe essere eseguito in qualsiasi Sistema Operativo che disponga di JRE ( Java Runtime Environment).  L’ultima versione stabile è la Build 123 del settembre 2017.  Tra i database supportati e testati non poteva mancare PostgreSQL. Di seguito i passi per “installare” e configurare SQLWorkbench per PostgreSQL.

Per poter utilizzare SQLWorkbench è necessario java JRE. Possiamo controllare la versione java disponibile con java -version

# java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1~deb9u1-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

per installare Oracle JRE  manualmente su macchina linux si può fare riferimento  al post   Oracle Java Runtime 8 installazione manuale – versione 8.121 – Debian 8.xx 64 bit

Configurare e Installare SQLWorkbench per PostgreSQL

SQLWorkbench non necessita di una vera installazione è sufficiente scaricare il pacchetto generico per tutti i S.O e decomprimere lanciare lo script  sqlworkbench.sh.
Il pacchetto è disponibile alla pagina

http://www.sql-workbench.net/downloads.html

Per poter interagine con postgresql serve inoltre lo specifico driver JDBC scaricabile all’indirizzo che andra opportunamente configurato in SQL workbench.

https://jdbc.postgresql.org/download.html

Operando con il terminale

scegliamo la directory opt per l’applicazione quindi

su 
mkdir /opt/sqlworkbench
cd /opt/sqlworkbench

scarichiamo il pacchetto con l’ultima versione stable di SQLWorkBench 123 e l’ultima versione  del driver JDBC 42.2.1

wget http://www.sql-workbench.net/Workbench-Build123.zip

wget https://jdbc.postgresql.org/download/postgresql-42.2.1.jar

 

Decomprimiamo il pacchetto con

unzip Workbench-Build123.zip

Rendiamo eseguibile per tutti gli users lo script di avvio workbench.sh

chmod a+x workbench.sh 

exit

Volendo si può creare un link simbolico nel desktop con

ln -s /opt/sqlworkbench/sqlworkbench.sh sqlworkbench

avviamo

La finestra in primo piano che viene presentata e quella per creare un profilo di connessione.

Per connettersi a postgresql è necessario a questo punto configurare il driver.

  • Click sul pulsante Manage Drivers
  • In primo piano ci sarà  una nuova finestra Manage drivers

  • Selezionare postgreSQL dall’ elenco di destra con i DBMS supportati
  • Click sul pulsante cartella in alto a sinistra e selezionare il file driver JDBC per postgres scaricato che apparirà nella Library e premere OK.
  • a questo  punto è possibile completare la il profilo di connessione

Si dovrà inserire:

  • nome per la connessione
  • nell URL:  host porta e database
  • username e password

SQLworkbench in azione grazie alla funzione  WbGrepData
viene ricercata la presenza della stringa Zeus in qualsiasi campo (field) di tutte le tabelle del database. 7 le tabelle riscontrate.

Database Compatibili con SQLworkbench

 

 

Risorse:

 

Installare VirtualBox in Debian 9 “Stretch”

Il software di virtualizzazione multipiattaforma di Oracle Virtualbox 5.1.xx non è presente  nel repository ufficale di Debian 9.  Può essere installato però ricorrendo al repository  backports sezione contrib. Per abilitare backport :

su

echo "# backports" >> /etc/apt/sources.list
echo "deb http://ftp.debian.org/debian stretch-backports contrib" >> /etc/apt/sources.list

quindi procedere con l’update dei pacchetti con il solito

apt update

installare virtualbox con il seguente comando:

apt install -t stretch-backports virtualbox 

o anche più semplicemente

apt install virtualbox
VirtualBox 5.1

 

Per installare VirtualBox si può utilizzare anche il repository specifico di Oracle

Per aggiungere il repository:

echo "# Oracle Virtualbox repository " >> /etc/apt/sources.list
echo "deb http://download.virtualbox.org/virtualbox/debian stretch contrib" >> /etc/apt/sources.list

Aggiungere Oracle Virtualbox public key con

wget https://www.virtualbox.org/download/oracle_vbox_2016.asc
apt-key add oracle_vbox_2016.asc

per installare

apt-get update
apt-get install virtualbox-5.1

 

Risorse:

 

 

AverTV Volar Green HD in Debian 9.1

Per poter utilizzare il dongle DVB-T AverTV Volar Green HD in Debian 9.xx è sufficiente installare il firmware per la perifierica usb dvb-usb-af9035-02.fw.

Un elenco dei firmware per le AVerMedia è disponibile sul sito linuxtv.org  e precisamente alla pagina AVerMedia 

AverMedia Linuxtv.org

AverMedia Linuxtv.org firmware

Per controllare che la periferica sia stata riconosciuta in Debian 9.xx utilizziamo il comando  lsusb.

:~$ lsusb
...
Bus 006 Device 003: ID 07ca:a835 AVerMedia Technologies, Inc. 
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...

La periferica è riconosciuta.

Il dispositivo risulta pure impostato possiamo controllare con ls /dev/dvb e dmesg | grep dvb.

$ ls -l /dev/dvb/*
total 0
crw-rw----+ 1 root video 212, 4 18.04.2015 23:46 demux0
crw-rw----+ 1 root video 212, 5 18.04.2015 23:46 dvr0
crw-rw----+ 1 root video 212, 3 18.04.2015 23:46 frontend0
crw-rw----+ 1 root video 212, 7 18.04.2015 23:46 net0

Controlliamo cosa avviene più in dettaglio con dmesg | grep dvb

root@debian91ms:/lib/firmware# dmesg | grep dvb 
[ 7.999190] dvb_usb_af9035 6-3:1.0: prechip_version=00 chip_version=03 chip_type=3802
[ 8.000070] usb 6-3: dvb_usb_v2: found a 'AVerMedia AVerTV Volar HD/PRO (A835)' in cold state
[ 8.000110] usb 6-3: firmware: failed to load dvb-usb-af9035-02.fw (-2)
[ 8.000147] usb 6-3: Direct firmware load for dvb-usb-af9035-02.fw failed with error -2
[ 8.000151] usb 6-3: dvb_usb_v2: Did not find the firmware file 'dvb-usb-af9035-02.fw'. Please see linux/Documentation/dvb/ for more details on firmware-problems. Status -2
[ 8.000199] dvb_usb_af9035: probe of 6-3:1.0 failed with error -2
[ 8.000235] usbcore: registered new interface driver dvb_usb_af9035

Come si può notare manca il firmware specifico  non resta che installarlo

Installare il firmware  dvb-usb-af9035-02.fw

Posiziarsi nella cartella /lib/firmware e installare il firmware con

 cd /lib/firmware
 sudo wget http://xgazza.altervista.org/Linux/DVB/dvb-usb-af9035-02.fw

per utilizzare la periferica senza riavviare carichiamo il firmware con modprobe

rmmod dvb-usb-af9035
modprobe dvb-usb-af9035

in alternativa riavviare

Se ricontrolliamo cosa avviene in dettaglio con dmesg | grep dvb

root@debian91ms:/lib/firmware# dmesg | grep dvb 
[ 7.999190] dvb_usb_af9035 6-3:1.0: prechip_version=00 chip_version=03 chip_type=3802
[ 8.000070] usb 6-3: dvb_usb_v2: found a 'AVerMedia AVerTV Volar HD/PRO (A835)' in warm state
[ 8.000120] usb 6-3: will pass the complete MPEG2 transport stream to the software demuxer
[ 8.000141] usb 6-3: schedule remote query interval to 500 msecs
[ 8.000170] usb 6-3: 'AVerMedia AVerTV Volar HD/PRO (A835)' successfully initialized and connected
[ 8.000232] usbcore: registered new interface driver dvb_usb_af9035

 

 

downloads alternativi

    sudo wget https://drive.google.com/file/d/0B7HrOE_9xZobVEZTaFFRTmZ0aEU
     
    sudo wget http://palosaari.fi/linux/v4l-dvb/firmware/af9035/12.13.15.0_6.20.15.0/dvb-usb-af9035-02.fw

 

altri comandi utili

lsmod | grep af
lsmod | grep af
af9033 45056 1
dvb_usb_af9035 40960 7
dvb_usb_v2 40960 1 dvb_usb_af9035
rc_core 28672 3 dvb_usb_af9035,dvb_usb_v2
usbcore 249856 7 dvb_usb_af9035,usbhid,ehci_hcd,xhci_pci,dvb_usb_v2,xhci_hcd,ehci_pci

 

journalctl -b --no-pager

 

Altri post per l’utilizzo delle AverTv Media Volar Green in Ubuntu

Altri post relativi alla DVB_TV su ubuntu linux

Skype 8.xx in Debian 9 “Stretch”

Skype logo

Di seguito la procedura da terminale per installare Skype 8.x, il noto programma di VoIp e messaggistica istantanea parte della scuderia Microsoft, su Debian 9 “Stretch” 64 bits/amd64.

Installare gdebi il programma per l’installazione dei  pacchetti deb. Gdebi, contrariamente a dpgk, è in grado di gestire le dipendenze in modo automatico tramite APT.

su
apt install gdebi

scaricare l’ultima versione disponibile di skype dal sito del produttore

wget https://go.skype.com/skypeforlinux-64.deb

il file può essere scaricato anche con il browser utilizzando la pagina specifica.

https://www.skype.com/it/get-skype/  di skype    

Skype keeps the world talking, for free.
 Skype keeps you together. Call, message and share with others.
 * It's free to download and join.
 * Call, instant message and send photos and documents to anyone else on Skype.
 * Easily text message anywhere in the world.
 * Get your friends together on a group call.
 And that's just the start...
Do you want to install the software package? [y/N]:
Selecting previously unselected package skypeforlinux.
(Reading database ... 296085 files and directories currently installed.)
Preparing to unpack skypeforlinux-64.deb ...
Unpacking skypeforlinux (8.18.0.6) ...
Setting up skypeforlinux (8.18.0.6) ...
Processing triggers for hicolor-icon-theme (0.15-1) ...
Processing triggers for desktop-file-utils (0.23-1) ...
Processing triggers for mime-support (3.60) ...

Sign In Skype 8.xx

Configurare Skype

 

 

Risorse:

 

 

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: