a Tradução(s): inglês – Espanhol – Francês – Italiano – 简体中文
Leitor pré-Requisitos: Para obter o máximo deste artigo, compreende os seguintes conceitos antes de ler: o basic, unix ferramentas de linha de comandos, editores de texto, DNS, TCP/IP, DHCP, máscara de rede, gateway
Índice
A maioria de configuração de rede pode ser feita através de interfaces arquivo de configuração em /etc/network/interfaces., Aqui, você pode dar ao seu cartão de rede um endereço IP( ou usar o dhcp), configurar as informações de roteamento, configurar o mascaramento de IP, definir as rotas predefinidas e muito mais.
lembre-se de adicionar interfaces que deseja que sejam trazidas no arranque para a linha ‘auto’.
veja as interfaces man para mais opções.
as Interfaces de arranque e Paragem
as Interfaces configuradas com os comandos ifup e ifdown podem ser trazidas para cima e para baixo.,
algumas guias desactualizadas instruem para reiniciar o serviço de rede para aplicar alterações a /etc/Rede/interfaces, no entanto isso foi desactualizado porque é possível que nem todas as interfaces sejam reiniciadas. Em vez disso, use o ifup e o ifdown para aplicar alterações a cada interface, por exemplo com uma interface chamada enp7s0:
nomes das interfaces de rede
Ver nomes das interfaces de rede. Desde Stretch, novos sistemas por padrão já não usam nomes de interface antigos como eth0, eth1, wlan0, wlan1., O novo sistema usa nomes baseados na localização do hardware, como eno0, enp0s31f6, wlp1s7 (ou no caso de dongles USB, endereço MAC: enx2c56ac39ec0d).
Você pode listar interfaces com: ls /sys/class/net
vários exemplos abaixo continuam a usar “eth0” como um nome de interface padrão, mesmo que seja improvável que exista em um sistema moderno.
upgrade e nomes das interfaces de rede
Stretch e Buster ainda mantêm o suporte para o sistema de nomenclatura antigo, desde que as regras do ficheiro /etc/udev/.d / 70-local-persistente-net.,as regras ainda estão em vigor, mas os usuários são aconselhados a mudar antes da atualização para Bullseye.
Utilizar o DHCP para configurar automaticamente a interface
Se você está apenas usando o DHCP, em seguida, tudo que você precisa é algo como:
auto eth0 allow-hotplug eth0 iface eth0 inet dhcp
Para DHCPv6 (usado para IPv6), acrescentar, também, a seguinte estrofe iface
iface eth0 inet6 dhcp
como Alternativa, o IPv6 podem ser configurados automaticamente usando stateless address autoconfiguration, ou SLAAC, que é especificado usando-se o auto em vez de dhcp no inet6 estrofe:
iface eth0 inet6 auto
veja Também IPv6PrefixDelegation.,
Configurar a interface manualmente
Se você estiver configurando-lo manualmente, em seguida, algo como isto irá definir o gateway padrão da rede, broadcast e gateway são opcionais):
auto eth0 iface eth0 inet static address 192.0.2.7/24 gateway 192.0.2.254
Se você deseja adicionar um endereço IPv6, também, acrescentar algo como:
iface eth0 inet6 static address 2001:db8::c0ca:1eaf/64 gateway 2001:db8::1ead:ed:beef
Veja man interfaces para mais opções.
certifique-se de desativar todos os serviços DHCP, por exemplo dhcpcd. também é possível a configuração automática e manual de mistura., para utilizar o IPv6 SLAAC para conectividade com a internet e endereços estáticos dentro da rede:
# manual unique local addressiface eth0 inet6 static address fdc3:cafe::3/64 # use SLAAC to get global IPv6 address from the router # we may not enable ipv6 forwarding, otherwise SLAAC gets disabled autoconf 1 accept_ra 2
Configuração de velocidade e duplex
Autonegociação repetidamente não é muitas vezes um sintoma de problemas de cabeamento, para investigar matérias físicas antes de assumir que as interfaces’ autonegociação algoritmos são incompatíveis. Se você desligar a autonegociação e definir a velocidade e duplex manualmente, então a interface parceiro na outra extremidade do cabo irá assumir que a ausência de autonegociação indica uma velocidade de 10Mbps e um duplex de metade., Para uma operação sem erros, se você definir a velocidade e duplex manualmente, você deve garantir que exatamente a mesma velocidade e duplex são configurados na interface do parceiro.
Se você definir a velocidade da sua interface e duplex à mão, então alguma tentativa e erro pode ser necessária. Aqui estão os passos básicos:
-
instale os pacotes ethtool e net-tools, de modo que você tenha os programas ethtool e mii-tool. Um ou ambos podem funcionar para a sua interface.
-
certifique-se de que tem uma forma de se autenticar ao sistema no caso de a interface de rede não funcionar., Uma ligação SSH pode ser interrompida, por isso deve ter uma estratégia de recurso.
- identifique a interface em questão (muitas vezes será eth0). Ajuste o restante destas instruções em conformidade.
- tente determinar qual é a sua velocidade actual e configuração duplex. É aqui que se torna divertido:
-
Como raiz, tente ethtool eth0 primeiro, e veja se as linhas “Speed:” e “Duplex:” parecem válidas. Caso contrário, o ethtool pode não ser suportado pelo seu dispositivo.
-
como ‘root’, tente Mii-tool-v eth0 e veja se a sua saída parece correcta., Caso contrário, o mii-tool pode não ser suportado pelo seu dispositivo.
-
Se nenhum deles for suportado, poderá ter de definir os parâmetros directamente no módulo controlador do kernel. Identifique o módulo de driver que está a usar ao ler o resultado do dmesg e do lsmod. Você pode então tentar modinfo MODULENAME para ver que parâmetros aceita, se houver. (Você pode usar modinfo mesmo em módulos que não são carregados, para comparação.) ToDo: onde é que um módulo de kernel define parâmetros?
-
- A seguir, tente alterar a configuração da interface enquanto esta estiver a funcionar. Tens de ser a root, claro., Ou:
-
ethtool -s eth0 velocidade de 100 duplex full autoneg off (supondo que 100 Mbps full duplex)
-
mii-tool -F 100baseTx-FD eth0 (mesma suposição)
Em cada caso, verifique novamente para ver se as configurações de interface, na verdade, alterado, e, em seguida, tente enviar alguns dados de entrada e de saída do sistema para ver se a placa de rede está a funcionar correctamente.
-
-
Se um destes comandos definir com sucesso o seu NIC, então você pode colocá-lo em /etc/network/interfaces para que ele corra quando você subir a interface (por exemplo, no momento do arranque)., No entanto, antes de fazer isso, você deve entender que alguns drivers e dispositivos se comportam de forma diferente dos outros. Quando o módulo do driver é carregado, o NIC pode iniciar a autonegociação sem qualquer forma de o parar (especialmente com os drivers que não aceitam parâmetros). As configurações das interfaces são aplicadas em algum momento depois disso, o que pode estar bem no meio da negociação. Então, algumas pessoas acham necessário atrasar o comando ethtool ou mii-tool em alguns segundos. Thus:
iface eth0 inet static address .../... gateway ... up sleep 5; ethtool -s eth0 ...
Or the analogous mii-tool command.,
- reinicie a máquina para se certificar de que ela aparece correctamente e esteja preparada para intervir manualmente (por exemplo, Ctrl-Alt-Del e, em seguida, inicie no modo de utilizador único a partir do GRUB ou LILO) se as coisas não funcionarem.
, Trazendo uma interface sem um endereço IP
Para criar uma interface de rede sem um endereço IP usar o método manual e o uso de pré-e pós-comandos para trazer a interface para cima e para baixo.
iface eth0 inet manual pre-up ifconfig $IFACE up post-down ifconfig $IFACE down
Se a interface for uma interface VLAN, os comandos up/down devem ser executados após/antes dos ganchos vlan., (Você também tem que instalar o pacote vlan.)
iface eth0.99 inet manual post-up ifconfig $IFACE up pre-down ifconfig $IFACE down
Nota: Se você criar a interface VLAN apenas para colocá-la em uma ponte, não há necessidade de definir a interface VLAN manualmente. Basta configurar a ponte, e a interface VLAN será criada automaticamente ao criar a ponte (veja abaixo).
definindo os servidores de nomes (DNS)
antes que um computador possa se conectar a um recurso de rede externa( por exemplo, um servidor web), ele deve ter um meio de converter qualquer nome alfanumérico (e.g. wiki.debian.org) em endereços de rede numéricos (por exemplo, 140.211.166.,4). (The Internet uses these structured numeric IP addresses as network addresses.)
a biblioteca C e outras bibliotecas resolvedoras olham para o /etc / resolv.conf para uma lista de nameservers. No caso mais simples, esse é o arquivo a editar para definir a lista de servidores de nomes. Mas note-se que vários outros programas para configuração dinâmica vai ser feliz para substituir suas configurações:
-
O resolvconf programa
-
O network-manager daemon
- clientes DHCP
Na maioria das situações, editar o ficheiro é o ficheiro de configuração para o programa.,
nas situações mais complexas, o uso do resolvconf é realmente o caminho a seguir, embora em configurações mais simples seja provavelmente exagerado.
a resolução.ficheiro de configuração conf
o ficheiro de configuração resolve.conf at / etc / resolv.conf contém informações que permitem que um computador conectado a uma rede resolva nomes em endereços. (Nota: não confunda este arquivo de configuração com o programa resolvconf, que infelizmente tem um nome quase idêntico.)
A resolução.,o arquivo conf normalmente contém os endereços IP dos resolvers de nomes (DNS name resolvers) que tentarão traduzir nomes em endereços para qualquer nó disponível na rede. Haverá uma linha ou linhas que se parecem com esta:
nameserver 12.34.56.78nameserver 12.34.56.79
neste exemplo, o sistema está usando nameservers nos endereços IP 12.34.56.78 e 12.34.56.79. Basta editar o arquivo e digitar os endereços IP dos nameservers que você precisa usar após cada nameserver. Adicione mais linhas de servidor de nomes se você tiver mais nameservers. Não utilize este método se tiver o programa resolvconf instalado., a resolução.o ficheiro de configuração conf tem muitas outras opções para definir como o resolver procura os nomes. Ver man resolv.conf para detalhes.
o programa resolvconf
o programa resolvconf mantém o registo da Informação do sistema sobre os servidores de nomes actualmente disponíveis. Não deve ser confundido com o arquivo de configuração resolv.conf, que infelizmente tem um nome quase idêntico. O programa resolvconf é opcional em um sistema Debian.
o ficheiro de configuração resolve.conf contém informações sobre os nameservers a serem usados pelo sistema., No entanto, quando vários programas precisam modificar dinamicamente o resolv.ficheiro de configuração conf eles podem pisar uns nos outros e o ficheiro pode ficar fora de sincronia. O programa resolvconf aborda este problema. Ele atua como um intermediário entre programas que fornecem informações do servidor de nomes (por exemplo, clientes dhcp) e programas que usam informações do servidor de nomes (por exemplo, resolver).
Quando o resolvconf está devidamente instalado,o resolv.ficheiro de configuração conf at / etc / resolv.conf é substituído por uma ligação simbólica a /etc/resolvconf/run/resolv.,conf e o resolver usam o arquivo de configuração que é gerado dinamicamente pelo resolvconf at /etc/resolvconf/run/resolv.conf.
o programa resolvconf geralmente só é necessário quando um sistema tem vários programas que precisam modificar dinamicamente a informação do servidor de nomes. Em um sistema simples onde os nameservers não mudam muitas vezes ou são apenas alterados por um programa, o resolv.o ficheiro de configuração conf é adequado.
Se o programa resolvconf estiver instalado, não deve editar o resolv.,conf configuração arquivo manualmente como ele será alterado dinamicamente por programas no sistema. Se precisar de definir manualmente os nomes (como acontece com uma interface estática), adicione uma linha algo como o seguinte ao ficheiro de configuração das interfaces em /etc/network/interfaces:
dns-nameservers 12.34.56.78 12.34.56.79
coloque a linha indentada dentro de uma estrofe da interface, por exemplo, logo a seguir à linha de gateway. Indique os endereços IP dos servidores de nomes que precisa de usar a seguir aos servidores de nomes dns. Coloque todos eles em uma linha separada por espaços. Não te esqueças do ” s ” no final do DNS-nameservers.,
o programa resolvconf é uma adição relativamente nova ao Debian e muitos programas mais antigos precisam ser atualizados ou reconfigurados para trabalhar corretamente com ele. Se tiver problemas, consulte /usr/share/doc/resolvconf / README. Ele tem muita informação sobre fazer outros programas se darem bem com resolvconf.
a configuração do DNS para o NetworkManager
o NetworkManager irá substituir a configuração do dhcp,sobrepondo o resolv.conf mesmo que tenha configurado DNS em /etc/dhcp / dhclient.conf, e.g., fazendo com que o DNS procure primeiro o domínio local, que pode ter que parar antes que a resolução do DNS continue causando longos tempos de resolução do DNS. Você pode ter uma ideia do que o NetworkManager acha que as configurações devem ser executando a ferramenta nm-tool na linha de comandos.
pode configurar estas opções usando uma interface gráfica, lançando o nm-connection-editor que, de momento (13.11.23) não se encontra no menu Ferramentas Do Sistema → Administração, pelo contrário, deve ser lançado manualmente a partir da linha de comandos. Após o lançamento:
- Escolha uma ligação (na página Wired ou Wireless) e carregue em Editar.,
- carregue na página de configuração do IPv4
- escolha’ endereços automáticos (DHCP) apenas ‘em vez de’automáticos (DHCP)’.
- introduza os servidores DNS no campo “servidores DNS”, separados por espaços (por exemplo, 208.67.222.222 para OpenDNS).
- clique em “Aplicar.”
NetworkManager grava estas configurações em /etc/NetworkManager/system-connections / name-of-connection. Exemplo /etc/NetworkManager/system-connections/Wired connection 1:
Running nm-tool novamente deve mostrar que o NetworkManager agora tem a ideia certa de como o seu DNS deve ser resolvido.,
Configuração de Cliente de DHCP
Configuração de Servidores DNS adicionais
Exemplo: dhclient3 usa /etc/dhcp/dhclient.conf. A configuração que você deseja é
supersede domain-name-servers 12.34.56.78, 12.34.56.79;
ou talvez
prepend domain-name-servers 12.34.56.78, 12.34.56.79;
Configuração de domínios adicionais de pesquisa
a adição de domínios de pesquisa de VPNs ou local de redes virtuais:
append domain-name " virt vpn";
Note o espaço à esquerda, pois a cadeia é, literalmente, anexada ao domínio de pesquisa fornecidos por outras configurações.
veja o dhclient.conf (5) página de manual para mais detalhes.,
Bridging
Bridging coloca várias interfaces no mesmo segmento de rede. Isto é muito popular quando conecta um servidor a vários switches para alta disponibilidade ou com virtualização. Neste último caso, é geralmente usado para criar uma ponte no host (eg. dom0) e colocar as interfaces virtuais dos hóspedes (domU) na ponte.
-
o pacote bridge-utils é necessário para criar interfaces bridged.,
Exemplo: Ligar a um servidor de 2 parâmetros (através de eth0 e eth1), através da definição de ponte de 0 e dar ao servidor um endereço IP neste sub-rede:
auto br0iface br0 inet static address 10.10.0.15/24 gateway 10.10.0.1 bridge_ports eth0 eth1 up /usr/sbin/brctl stp br0 on
Se um servidor é conectado a vários parâmetros, em seguida, você normalmente precisa para executar o protocolo spanning tree para evitar loops. Portanto, STP deve ser ativado através de um comando” up ” como mostrado acima.
exemplo: Configuração da ponte sem configuração de endereço IP (use “manual” Em vez de “estático”) para “encaminhar” uma interface para um VM convidado. (The static bridge config contains only 1 physical interface., A interface virtual será adicionada à ponte quando o VM for iniciado.)
auto br1iface br1 inet manual bridge_ports eth4 up /usr/sbin/brctl setageing br1 0 up /usr/sbin/brctl stp br1 off
Nota: A Ponte Linux suporta apenas STP, sem RSTP (Árvore de expansão rápida). Por conseguinte, suporta apenas os antigos custos STP, não os novos custos RSTP (ver Spanning_Tree_Protocol). Isto geralmente é bom com Switches Cisco, mas eg. Juniper switches use the RSTP costs and therefore this may lead to different spanning tree calculations and loop problems. Isto pode ser corrigido por configurações os custos manualmente, tanto no interruptor ou no servidor., Definir o custo no interruptor é preferido como o Linux muda de volta para os custos padrão sempre que uma interface faz down/up.
Bridging without Switching
By default the Linux bridge acts like a switch. Isto significa que ele se lembra dos endereços MAC por trás de uma porta de switch e se o endereço MAC de destino é conhecido, pacotes de dados ou apenas encaminhar para a respectiva porta – caso contrário pacotes serão transmitidos.
em algumas configurações isso é ruim. Por exemplo, se a ponte conecta 2 interfaces trunk e os mesmos endereços MAC podem ser vistos de ambas as interfaces, dependendo da VLAN., Como a Ponte Linux não suporta VLANs (tabelas dedicadas de endereços MAC por cada VLAN), em tais configurações você tem que desativar a aprendizagem de endereços MAC e colocar a ponte em um modo “ponte” real com:
up /sbin/brctl setageing br0 0 up /sbin/brctl stp br0 off
Howto usar vlan (dot1q, 802.,1t, tronco) (Etch;, Lenny)
Manual config
modprobe 8021qapt install vlanvconfig add eth0 222 # 222 is vlan numberifconfig eth0.222 upifconfig eth0.222 mtu 1496 #optional if your network card doesn't support MTU 1504Bifconfig eth0.222 10.10.10.1 netmask 255.255.255.0
Rede init script config
Em /etc/modules adicionar a linha:
8021q
Em /etc/network/interfaces para a seção iface adicionar parâmetro:
vlan-raw-device eth0
O nome da interface deve ser a prima de nome de interface (o mesmo que o especificado pelo vlan-matérias-dispositivo) e, em seguida, um ponto, em seguida, o ID de VLAN, por exemplo eth0.100. Em vez disso, pode ser “vlan”, em seguida, o ID VLAN, por exemplo vlan100. Em ambos os casos, o ID VLAN está no final, e este é o único lugar que ele está configurado., nota: se indicar o seu ethX de interfaces VLAN.YYY, então não há necessidade de especificar o dispositivo VLAN-raw, como o dispositivo raw pode ser obtido a partir do nome da interface.
Eg:
auto eth0.222iface eth0.222 inet static address 10.10.10.1/24 vlan-raw-device eth0
Pontes e VLANs
se criar interfaces VLAN apenas para as colocar numa ponte, não há necessidade de definir manualmente as interfaces VLAN. Basta confinar a ponte, e a interface VLAN será criada automaticamente ao criar a ponte, E.,g:
auto br1iface br1 inet manual bridge_ports eth0.99 eth1.99 up /usr/sbin/brctl stp br1 on
Advertências quando utilizar a ponte e vlan
Se você estiver usando um brigded configuração VLAN, que é provavelmente útil para o trabalho em rede em ambientes de virtualização, tome cuidado apenas para anexar um dispositivo de ponte ou dispositivos de VLAN para uma base física do dispositivo, como mostrado acima. Anexar a interface física (eth0) a uma ponte (eg. bri1) ao usar a mesma interface física em VLANs aparentemente diferentes resultará em todos os pacotes para permanecer marcado. (Kernel mais novo que 2.6.37 e mais velho que 3.2).,
Howto create fault tolerant bonding with vlan (Etch – Stretch)
debian_ ligation.dia
Como configurar uma das ligações de backup activas do servidor acima 3 vlan {vlan10,vlan20, vlan30} rede Debian sem SPOF sem vlan nativo.
aptitude install vlan ifenslave-2.6
config de Rede
comutador Cisco interface de exemplo config
interface GigabitEthernet1/2 description eth1 switchport switchport trunk encapsulation dot1q switchport trunk allowed vlan 10,20,30 switchport mode trunk no ip address no cdp enable spanning-tree portfast trunk
ligação com o backup
Criar um ficheiro /etc/modprobe.d / bonding.,conf contendo:
alias bond0 bondingoptions bonding mode=active-backup miimon=100 downdelay=200 updelay=200 primary=eth1
/etc/network/interfaces
# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto bond0iface bond0 inet manual up ifconfig bond0 0.0.0.0 up slaves eth1 eth0auto vlan10iface vlan10 inet static address 10.10.10.12/24 vlan-raw-device bond0 gateway 10.10.0.1 dns-search hup.hu dns-nameservers 10.10.0.2auto vlan20iface vlan20 inet static address 10.20.10.12/24 vlan-raw-device bond0auto vlan30iface vlan30 inet static address 10.30.10.12/24 vlan-raw-device bond0
Como definir a MTU (unidade de transferência máxima / tamanho do pacote) com VLANS através de uma interface ligada
MTU precisa ser configurado na interface da adesão e do escravo de interfaces, após o reset da configuração tem sido aplicada para a colagem de interfaces. Isto é feito usando uma linha pós-up na configuração da interface de ligação.
auto bond0iface bond0 inet manual up ifconfig lacptrunk0 0.0.0.0 up slaves eth0 eth1# bond-mode 4 = 802.3ad bond-mode 4 bond-miimon 100 bond-downdelay 200 bond-updelay 200 bond-lacp-rate 1 bond-xmit-hash-policy layer2+3 post-up ifconfig eth0 mtu 9000 && ifconfig eth1 mtu 9000 && ifconfig bond0 mtu 9000#vlan devices will use the MTU set on bond0 deviceauto vlan101iface vlan101 inet static address 10.101.60.123/24 gateway 10.155.60.1 vlan-raw-device bond0auto vlan151iface vlan151 inet static address 192.168.1.1/24 vlan-raw-device bond0
múltiplos endereços IP numa Interface
interface aliasing permite que uma interface tenha múltiplos endereços IP., Isto é útil quando mais de um servidor deve ser visível através da Internet. Note que hosts virtuais podem suportar vários servidores Apache com um único endereço IP. O Apache responde ao nome de domínio fornecido pelo cliente no cabeçalho HTTP. Em muitas outras situações, um IP externo é necessário para cada servidor usando uma porta.
método legado
Este texto/etc/Rede / interfaces atribui três endereços IP ao eth0.
uma interface alias não deve ter “gateway” ou “DNS-nameservers”; a atribuição dinâmica de IP é permitida.,
a configuração acima é o método tradicional anterior que reflete o uso tradicional do ifconfig para configurar dispositivos de rede. ifconfig introduziu o conceito de interfaces alias ou virtuais. Esses tipos de interfaces virtuais têm nomes da interface do formulário: inteiro e ifconfig trata-os muito similarmente às interfaces reais.
hoje em dia o ifupdown usa o Utilitário ip do pacote iproute2 em vez do ifconfig. O Utilitário ip mais recente não usa o mesmo conceito de pseudônimos ou interfaces virtuais., No entanto, ele suporta a atribuição de nomes arbitrários para as interfaces (eles são chamados de rótulos). o ifupdown usa esta funcionalidade para suportar interfaces aliadas ao usar o ip.
iproute2 method
Also, ifupdown supports specifying multiple interfaces by repeating iface sections with the same interface name. A principal diferença do método descrito acima é que todas essas seções são tratadas pelo ifupdown como apenas uma interface, então o Usuário não pode adicioná-las ou removê-las individualmente. No entanto, comandos up / down, bem como scripts, são chamados para cada seção como costumava ser., Note, no entanto, que este método é perigoso! Algumas combinações de driver / hardware podem, por vezes, não trazer a ligação para cima se não forem atribuídas etiquetas às interfaces alias. (Veja isso no Debian Wheezy e Jessie com RTL811 / 8168 / 8411 PCI Express Gigabit Ethernet Controller (rev 01) auto-negociação para 10/completo. Um aviso semelhante de outra pessoa existe na história desta página.)
Este texto/etc/Rede / interfaces atribui três endereços IP ao eth0.
auto eth0allow-hotplug eth0iface eth0 inet static address 192.168.1.42/24 gateway 192.168.1.1iface eth0 inet static address 192.168.1.43/24iface eth0 inet static address 192.168.1.44/24# adding IP addresses from different subnets is also possibleiface eth0 inet static address 10.10.10.14/24
abordagem Manual:
CategoryNetwork Categorysystem Administration