22.6. Aggiunta di un dispositivo di rete
Il processo per l'aggiunta di un dispositivo di rete è stato modificato con la migrazione del kernel 2.4 al kernel 2.6:
- Il file system
proc
non è più utilizzato per controllare o per ottenere lo stato dei dispositivi di rete. - Il nuovo file system
sys
fornisce ora dei servizi in grado di controllare i dispositivi. /sys/class/net/interface_name/device
fornisce ora lo stato dei dispositivi attivi.interface_name
rappresenta un nome comeeth0
oeth2
, conferito dal driver del dispositivo ad una interfaccia di rete, quando il dispositivo risulta essere configurato./etc/chandev.conf
non è più esistente.Il file systemsys
contiene ora le informazioni precedentemente contenute in/etc/chandev.conf
./etc/modules.conf
non è più esistente.Le specificazioni alias dell'interfaccia della rete sono contenute in/etc/modprobe.conf
.
Sezione 22.6.1, «Aggiunta di un dispositivo
qeth
» describes in detail how to add a qeth device to an existing instance of Red Hat Enterprise Linux. Sezione 22.6.2, «Breve riferimento all'aggiunta dei dispositivi di rete» is a quick reference for installing other IBM System z network interfaces.
22.6.1. Aggiunta di un dispositivo qeth
Come prima cosa determinare se i moduli del driver del dispositivo
qeth
sono stati caricati.
# lsmod | grep qeth qeth 135240 0 qdio 45360 2 qeth ipv6 303984 13 qeth ccwgroup 15104 1 qeth
Se l'output del comando
lsmod
mostra che i moduli non sono stati caricati, è necessario emettere il comando modprobe
per poterli caricare:
# modprobe qeth
Successivamente create un dispositivo del gruppo di
qeth
.
# echo read_device_bus_id,write_device_bus_id, data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
Due to the length of this command, it has been broken into two lines.
Nell'esempio seguente read_device_bus_id risulta essere 0.0.0600, write_device_bus_id è 0.0.0601, e data_device_bus_id è 0.0.0602. Il dispositivo è un NIC virtuale di z/VM, e l'indirizzo IP che desideriamo assegnare è 192.168.70.69.
# echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group
Successivamente verificate che il dispositivo del gruppo
qeth
è stato creato correttamente:
# ls /sys/bus/ccwgroup/drivers/qeth 0.0.0600 0.0.09a0 group notifier_register
Facoltativamente potreste aggiungere un portname. Come prima cosa controllatre se è necessario un portname:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname no portname required
Se ricevete la suddetta risposta, ciò stà ad indicare che non è necessario specificare alcun portname.
Per aggiungere un portname, controllate che i dispositivi siano offline per poi eseguire il seguente comando:
Nota
Quando aggiungete un portname, il dispositivo deve essere offline.
# echo portname > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
Successivamente riportate il dispositivo online:
# echo 1 /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
Verificatene il suo stato:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online1
A return value of "1" indicates that the device is online, while a return value '0' indicates that the device is offline.
Controllate il nome dell'interfaccia assegnata al dispositivo:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name eth1
Per modificare il valore
if_name
, utilizzate il seguente comando:
# echo new_if_name > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name
Facoltativamente potreste impostare un set aggiuntivo di parametri e di caratteristiche, a seconda del modo in cui impostate il vostro sistema e delle caratteristiche stesse a voi necessarie.
add_hhlen
broadcast_mode
buffer_count
canonical_macaddr
card_type
checksumming
chpid
detach_state
fake_broadcast
fake_ll
ipa_takeover
portno
priority_queueing
recover
route4
rxip
state
ungroup
vipa
Per maggiori informazioni consultate http://www-128.ibm.com/developerworks/linux/linux390/october2005_documentation.html#3 (Driver del dispositivo, caratteristiche e comandi - SC33-8289-02).
Ora è necessario creare il file di configurazione per la vostra nuova interfaccia. I file di configurazione dell'interfaccia di rete, si trovano in
/etc/sysconfig/network-scripts
.
I file di configurazione della rete utilizzano la convenzione dei nomi ifcfg-device, dove il dispositivo rappresenta il valore presente nel file
if_name
del dispositivo del gruppo qeth precedentemente creato. In questo esempio risulta essere eth1
.
Se un file di configurazione risulta essere già presente per un altro dispositivo dello stesso tipo, la cosa migliore da fare è quella di copiarlo sul nuovo nome.
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1
Se non avete alcun dispositivo simile già definito, allora è necessario crearlo. Utilizzate questo esempio di
ifcfg-eth0
come riferimento.
/etc/sysconfig/network-scripts/ifcfg-eth0 # IBM QETH DEVICE=eth0 BOOTPROTO=static HWADDR=00:06:29:FB:5F:F1 IPADDR=9.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2 TYPE=Ethernet
Modificate il nuovo file
ifcfg-eth1
.
Rimuovete per adesso la riga HWADDR.
Modificate l'istruzione DEVICE in modo da riflettere i contenuti del file
if_name
dal vostro gruppo ccw.
Modificate l'istruzione IPADDR in modo da riflettere l'indirizzo IP della vostra nuova interfaccia.
Modificate l'istruzione di NETMASK come necessario.
Se desiderate attivare la vostra nuova interfaccia al momento dell'avvio, assicuratevi che ONBOOT sia impostato su
yes
.
Assicuratevi che l'istruzione SUBCHANNELS corrisponda agli indirizzi hardware per il vostro dispositivo
qeth
.
/etc/sysconfig/network-scripts/ifcfg-eth1 # IBM QETH DEVICE=eth1 BOOTPROTO=static IPADDR=192.168.70.87 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602 TYPE=Ethernet
Un dispositivo
qeth
necessita di una definizione alias in /etc/modprobe.conf
. Modificate questo file e aggiungete un alias per la vostra interfaccia.
/etc/modprobe.conf alias eth0 qeth alias eth1 qeth options dasd_mod dasd=0.0.0100,0.0.4b19
Adesso potete avviare la vostra nuova interfaccia:
# ifup eth1
Controllate lo stato dell'interfaccia:
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 02:00:00:00:00:01 inet addr:192.168.70.87 Bcast:192.168.70.255 Mask:255.255.255.0 inet6 addr: fe80::ff:fe00:1/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:644 (644.0 b) TX bytes:264 (264.0 b)
Notate il campo
HWaddr
sulla prima riga dell'output del comando ifconfig
. Il valore seguente deve essere aggiunto al file ifcfg-eth1
. Aggiungete una riga simile al file sopra indicato:
HWADDR=02:00:00:00:00:01
Ora
ifcfg-eth1
sarà simile a:
# IBM QETH DEVICE=eth1 HWADDR=02:00:00:00:00:01 BOOTPROTO=static IPADDR=192.168.70.69 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602 TYPE=Ethernet
Controllate il routing per la nuova interfaccia:
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.70.0 * 255.255.255.0 U 0 0 0 eth1 9.12.20.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 default pdlrouter-if5.p 0.0.0.0 UG 0 0 0 eth0
Verificate le vostre modifiche utilizzando il comando
ping
, per eseguire un ping del gateway:
# ping -c 1 192.168.70.8 PING 192.168.70.8 (192.168.70.8) 56(84) bytes of data. 64 bytes from 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 ms
Se le informazioni sul route di default sono cambiate, è necessario aggiornare
/etc/sysconfig/network
conseguentemente.