Aviso :
Este manual foi substituído por uma versão mais nova e não é mais mantido.
|
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
3. Rede modular
Conteúdo:
3.a. Módulos de rede
Nós agora suportamos scripts de rede modulares, o que significa que nós podemos
facilmente adicionar suporte para novos tipos de interface e módulos de
configuração, mantendo compatibilidade com os existentes.
Os módulos carregam por padrão se o pacote de que eles precisam está instalado.
Se você especificar um módulo aqui que não tem seu pacote instalado, você obtém
um erro dizendo que pacote você precisa instalar. Idealmente, você só usa o
ajuste de módulos quando você tem dois ou mais pacotes instalados que fornecem o
mesmo serviço e você precisa escolher um no lugar do outro.
Listagem de código 1.1: Preferência de módulo |
modules=( "iproute2" )
modules_eth0=( "udhcpc" )
modules=( "!iwconfig" )
|
3.b. Gerenciadores de interface
Nós atualmente oferecemos dois gerenciadores de interface: ifconfig e
iproute2. Você precisa de um deles para qualquer tipo de configuração de
rede.
ifconfig é o padrão do Gentoo e é incluído no profile (perfil) de
sistema. iproute2 é um pacote mais poderoso e flexível, mas não é
incluído por padrão.
Listagem de código 2.1: Para instalar iproute2 |
# emerge sys-apps/iproute2
modules=( "iproute2" )
|
Já que ambos ifconfig e iproute2 fazem coisas parecidas, nós
precisamos que sua configuração básica funcione com os dois. Por exemplo, os
dois trechos de código abaixo funcionam com qualquer módulo que você estiver
usando.
Listagem de código 2.2: exemplos de ifconfig e iproute2 |
config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )
config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )
|
3.c. DHCP
DHCP é um meio de obter informação de rede (endereço de IP, servidores de DNS,
roteador, etc) de um servidor de DHCP. Isto significa que se há um servidor de
DHCP rodando na rede, você só tem que dizer a cada cliente para usar DHCP e ele
irá configurar a rede sozinho. Claro, você terá que configurar outras coisas
como wireless, PPP ou outras coisas se forem necessárias antes de poder usar
DHCP.
DHCP pode ser fornecido por dhclient, dhcpcd, pump ou
udhcpc. Cada módulo de DHCP tem seus prós e contras - aqui está uma
rápida lista.
| Módulo de DHCP |
Pacote |
Prós |
Contras |
| dhclient |
net-misc/dhcp |
Feito pela ISC, as mesmas pessoas por trás do software BIND DNS. Muito
configurável
|
Configuração demasiadamente complexa, software é bem inflado, não pode obter
servidores de NTP do DHCP, não envia nome de host por padrão
|
| dhcpcd |
net-misc/dhcpcd |
Padrão do Gentoo por muito tempo, não precisa de ferramentas exteriores
|
Não é mais mantido pelos desenvolvedores, pode ser lento às vezes, não vira
daemon quando o lease é infinito
|
| pump |
net-misc/pump |
Peso leve, não precisa de ferramentas exteriores
|
Não é mais mantido pelos desenvolvedores, não confiável, em especial com
modems, não pode obter servidores de NIS do DHCP
|
| udhcpc |
net-misc/udhcp |
Peso leve - menor cliente de DHCP existente, feito para sistemas embedded
|
Não testado - nenhuma distribuição usa por padrão, não pode definir um
timeout maior que 3 segundos
|
Se você tiver mais de um cliente de DHCP instalado, você precisa especificar
qual usar - caso contrário o padrão é dhcpcd se disponível.
Para enviar opções específicas para o módulo de DHCP, use
module_eth0="..." (troque module pelo módulo de DHCP que você está
usando - por exemplo dhcpcd_eth0)
Nós tentamos e tornamos o DHCP relativamente agnóstico - assim nós suportamos os
seguintes comandos usando a variável dhcp_eth0. O padrão é não usar
nenhum deles.
-
release - solta o endereço de IP para novo uso
-
nodns - não sobre-escrever /etc/resolv.conf
-
nontp - não sobre-escrever /etc/ntp.conf
-
nonis - não sobre-escrever /etc/yp.conf
Listagem de código 3.1: Exemplo de configuração de DHCP em /etc/conf.d/net |
modules=( "dhcpcd" )
config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10"
dhcp_eth0="release nodns nontp nonis"
|
Nota:
dhcpcd, udhcpc e pump enviam o nome de host atual para o
servidor de DHCP por padrão, então você não precisa mais especificá-lo.
|
3.d. Modem ADSL
Primeiro nós precisamos instalar o software ADSL.
Listagem de código 4.1: Install the rp-pppoe package |
# emerge net-dialup/rp-pppoe
|
Aviso:
baselayout-1.11.x só suporta PPPoE
Espera-se que versões futuras suportem PPPoA
|
Agora nós precisamos instruir configure eth0 para ser uma interface de
ADSL e digitar nosso nome de usuário.
Listagem de código 4.2: Configure eth0 para ADSL |
config_eth0=( "adsl" )
adsl_user_eth0="nomedeusuario"
|
Finalmente você precisa definir seu nome de usuário e senha em
/etc/ppp/pap-secrets.
Listagem de código 4.3: exemplo de /etc/ppp/pap-secrets |
"usuario" * "senha"
|
3.e. APIPA (Automatic Private IP Addressing)
APIPA tenta encontrar um endereço livre no alcance 169.254.0.0-169.254.255.255
enviando arps de endereços aleatórios no alcance da interface. Se nenhuma
resposta é ouvida, nós designamos o endereço à interface.
Isto só é útil para LANs onde não há servidor de DHCP e você não conecta-se
diretamente à Internet e todos outros computadores usam APIPA.
Para suporte a APIPA, faça emerge net-misc/iputils ou
net-analyzer/arping.
Listagem de código 5.1: Configuração de APIPA em /etc/conf.d/net |
config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )
config_eth0=( "apipa" )
|
3.f. Bonding (junção)
Para bonding/trunking de links, faça emerge net-misc/ifenslave
Bonding é usado para aumentar a banda da rede. Se você tem duas placas de rede
usando a mesma rede, você pode fazer bond delas para que suas aplicações vejam
só uma interface, mas na verdade usem as duas.
Listagem de código 6.1: configuração de bonding em /etc/conf.d/net |
slaves_bond0="eth0 eth1 eth2"
config_bond0=( "null" )
depend_bond0() {
need net.eth0 net.eth1 net.eth2
}
|
3.g. Bridging (ponte) (suporte a 802.1d)
Para suporte a bridging, faça emerge net-misc/bridge-utils
Bridging é usado para unir duas redes. Por exemplo, você pode ter um servidor
que conecta-se à Internet via um modem ADSL e uma placa de acesso wireless para
permitir que outros computadores conectem-se à rede via o modem ADSL. Você pode
criar uma ponte para unir as duas interfaces.
Listagem de código 7.1: Configuração de ponte em /etc/conf.d/net |
brctl_br0=( "setfd 0" "sethello 0" "stp off" )
bridge_br0="eth0 eth1"
config_eth0=( "null" )
config_eth1=( "null" )
config_br0=( "192.168.0.1/24" )
depend_br0() {
need net.eth0 net.eth1
}
|
Importante:
Para usar algumas configurações de ponte, você pode consultar a documentação de
nome de variável.
|
3.h. Endereço de MAC
Você não precisa instalar nada para mudar o endereço MAC de sua interface se
você tiver sys-apps/baselayout-1.11.14 ou mais novo e quiser mudar para
um endereço de MAC específico. No entanto, se você precisa mudar para um
endereço de MAC aleatório ou tem um baselayout mais antigo que a versão
mencionada acima, você precisa fazer emerge de net-analyzer/macchanger
para poder fazer uso desta funcionalidade.
Listagem de código 8.1: Exemplo de mudança de endereço de MAC |
mac_eth0="00:11:22:33:44:55"
mac_eth0="random-ending"
mac_eth0="random-samekind"
mac_eth0="random-anykind"
mac_eth0="random-full"
|
3.i. Tunnelling (túneis)
Você não precisa instalar nada para fazer túneis já que o gerenciador de
interfaces pode fazê-lo para você.
Listagem de código 9.1: Configuração de túneis em /etc/conf.d/net |
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"
config_vpn0=( "192.168.0.2 peer 192.168.1.1" )
|
3.j. VLAN (suporte a 802.1q)
Para suporte a VLAN, faça emerge net-misc/vconfig.
Virtual LAN é um grupo de dispositivos de rede que agem como se estivessem
conectados a um único segmento de rede - embora possam não estar. Membros de
VLAN só podem ser membros da mesma VLAN, mesmo que estejam dentro da mesma rede
física.
Listagem de código 10.1: configuração de VLAN em /etc/conf.d/net |
vlans_eth0="1 2"
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )
|
Importante:
Para usar algumas configurações de VLAN, você pode precisar consultar a
documentação de nomes de
variáveis.
|
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
O conteúdo deste documento está licenciado pela licença Creative Commons -
Attribution / Share Alike.
|