22.6. Adicionando um Dispositivo de Rede
O processo de adição de dispositivos de rede foi alterado desde a migração do kernel 2.4 para o kernel 2.6:
- O sistema de arquivos
proc
não é mais usado para controlar ou obter o status dos dispositivos de rede. - O novo sistema de arquivos
sys
agora oferece utilitários para controlar dispositivos. - O
/sys/class/net/nome_da_interface/device
agora fornece o estado de dispositivos ativos.Onome_da_interface
é um nome comoeth0
oueth2
que é dado à uma interface de rede pelo driver do dispositivo quando o mesmo é configurado. /etc/chandev.conf
não existe mais.O sistema de arquivossys
agora contém as informações que estavam em/etc/chandev.conf
./etc/modules.conf
não existe mais.As especificações de codenomes das interfaces de rede agora estão em/etc/modprobe.conf
.
Seção 22.6.1, “Adicionando um Dispositivo
qeth
” describes in detail how to add a qeth device to an existing instance of Red Hat Enterprise Linux. Seção 22.6.2, “Referências Rápidas para Adicionar Dispositivos de Rede” is a quick reference for installing other IBM System z network interfaces.
22.6.1. Adicionando um Dispositivo qeth
Primeiro, determine se os módulos do driver do dispositivo
qeth
foram carregados.
# lsmod | grep qeth qeth 135240 0 qdio 45360 2 qeth ipv6 303984 13 qeth ccwgroup 15104 1 qeth
Se o output do comando
lsmod
mostra que os módulos não foram carregados, você deve executar o comando modprobe
para carregá-los:
# modprobe qeth
Em seguida, crie um dispositivo de grupo
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.
No exemplo a seguir, id_do_bus_do_dispositivo_de_leitura é 0.0.0600, id_do_bus_do_dispositivo_de_escrita é 0.0.0601 e id_do_bus_do_dispositivo_de_dados é 0.0.0602. O dispositivo é um NIC virtual da z/VM e o endereço IP que queremos atribuir à esta interface é 192.168.70.69.
# echo 0.0.0600,0.0.0601,0.0.0602 > /sys/bus/ccwgroup/drivers/qeth/group
Em seguida, verifique se o dispositivo de grupo
qeth
foi criado apropriadamente:
# ls /sys/bus/ccwgroup/drivers/qeth 0.0.0600 0.0.09a0 group notifier_register
Opcionalmente, você pode adicionar um nome de porta. Primeiro, verifique se é necessário:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname no portname required
A resposta indica que você não precisa indicar um nome de porta.
Para adicionar um nome de porta, verifique se os dispositivos estão offline e então use o seguinte comando:
Nota
O(s) dispositivo(s) deve(m) estar offline quando você adicionar um nome de porta.
# echo portname > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/portname
Em seguida, traga o dispositivo de volta online:
# echo 1 /sys/bus/ccwgroup/drivers/qeth/0.0.0600/online
Então verifique o estado do dispositivo:
# 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.
Verifique qual o nome atribuído ao dispositivo:
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name eth1
Para alterar o valor de
if_name
, use o seguinte comando:
# echo new_if_name > /sys/bus/ccwgroup/drivers/qeth/0.0.0600/if_name
Você também pode configurar parâmetros e funcionalidades adicionais, dependendo da maneira como configurar seu sistema e das funcionalidades que precisar.
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
Para informações mais detalhadas sobre estas funcionalidades, consulte http://www-128.ibm.com/developerworks/linux/linux390/october2005_documentation.html#3 (Device Drivers, Features, and Commands - SC33-8289-02).
Agora você precisa criar o arquivo de configuração para a sua nova interface. Os arquivos de configuração das interfaces de rede estão localizados em
/etc/sysconfig/network-scripts/
.
Os arquivos de configuração de rede usam o esquema de nomes ifcfg-dispositivo, onde dispositivo é o valor encontrado no arquivo
if_name
no dispositivo de grupo qeth que foi criado anteriormente. Neste exemplo, é eth1
.
Se já houver um arquivo de configuração definido para outro dispositivo do mesmo tipo, é mais fácil copiá-lo com o novo nome.
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1
Se você não tem um dispositivo similar definido, deve criar um. Use este exemplo de
ifcfg-eth0
como base.
/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
Edite o novo arquivo
ifcfg-eth1
.
Remova a linha HWADDR por enquanto.
Modifique as instruções de DEVICE para refletirem o conteúdo do arquivo
if_name
de seu grupo ccw.
Modifique as instruções de IPADDR para refletirem o endereço IP da sua nova interface.
Modifique as instruções de NETMASK conforme necessário.
Se você deseja que sua nova interface seja ativada durante a inicialização, certifique-se de que ONBOOT esteja definido como
yes
.
Certifique-se de que as instruções de SUBCHANNELS coincidam com os endereços do hardware de seu 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
Um dispositivo
qeth
requer a definição de um codenome em /etc/modprobe.conf
. Edite este arquivo e adicione um codenome para sua interface.
/etc/modprobe.conf alias eth0 qeth alias eth1 qeth options dasd_mod dasd=0.0.0100,0.0.4b19
Agora você pode iniciar a nova interface:
# ifup eth1
Verifique o status da interface:
# 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)
Note o campo
HWaddr
na primeira linha do output do comando ifconfig
. O valor seguinte a este precisa ser adicionado ao arquivo ifcfg-eth1
. Adicione uma linha como esta ao arquivo:
HWADDR=02:00:00:00:00:01
Agora,
ifcfg-eth1
se parece com o seguinte:
# 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
Verifique o roteamento para a nova interface:
# 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
Verifique suas alterações usando o comando
ping
na porta de comunicação (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 as informações de roteamento padrão foram alteradas, você também deve atualizar o
/etc/sysconfig/network
de acordo.