Quando a rede, a transmissão e o gateway são necessários para configurar manualmente uma interface de rede?

9

link

O URL acima diz o seguinte. Mas não está claro para mim quando são opcionais e quando não são. Você poderia me fornecer algum link para referências que descrevam isso? Obrigado.

Se você estiver configurando manualmente, algo assim definirá o gateway padrão (rede, transmissão e gateway são opcionais):

auto eth0
iface eth0 inet static
    address 192.0.2.7
    netmask 255.255.255.0
    gateway 192.0.2.254
    
por user1424739 11.03.2014 / 02:08

1 resposta

22

Como configurar o endereço IP estático e por que

Aviso! Eu não falo sobre outras formas de configurar rede como com o NetworkManager. Qualquer dispositivo mencionado em /etc/network/interfaces não é tocado por NM

Para poder se comunicar por meio de uma rede IP (IPv4 e IPv6), o computador deve saber qual endereço IP possui. Portanto, a diretiva address é necessária para informar ao computador isso.

Quando o computador quer falar com outro computador, ele usa o endereço IP desse outro computador para verificar se esse computador está na mesma rede, a LAN. Nesse caso, o computador pode se comunicar diretamente com o outro computador.

Então, como o computador sabe quando está se comunicando com um computador na mesma LAN? Usando as redes netmask , onde a parte líquida do endereço é definida como ones e a parte do host é definida como zeros. Então, fazendo uma operação AND bit a bit entre cada bit em um endereço IP e a máscara de rede, obteremos o endereço de rede do endereço IP, onde a parte do host é zero. Então, se fizermos isso no endereço IP dos computadores e no endereço IP dos outros computadores, obteremos cada endereço de rede. Se eles forem iguais, isso significa que os computadores estão na mesma rede e podem falar diretamente uns com os outros.

Se os endereços de rede não forem iguais, eles estão em LANs diferentes e não podem se comunicar diretamente entre si. Em seguida, o computador precisa usar um computador especial conectado a outras LANs. Esse computador é um roteador (que também pode ter um firewall e NAT). Portanto, quando o computador deseja conversar com outros computadores fora da LAN, ele precisa saber o endereço desse computador que está definido com a diretiva gateway . Se outra interface já definiu um valor gateway , você não deve e não deve definir outra diretiva de gateway para essa interface. A diretiva gateway define a rota padrão para o computador, portanto, você precisa apenas de uma para IPv4 e apenas uma para IPv6 em cada máquina. Esse endereço de rede pode ser definido manualmente com a diretiva network .

Em algum momento, o computador deseja se comunicar com todos os computadores da LAN e o endereço de broadcast. Este endereço é ouvido por todos os computadores na mesma LAN. Isso é basicamente o mesmo que o endereço de rede, exceto que a parte do host não é todos os zeros e todos os outros. Este endereço de broadcast é definido pela diretiva broadcast na interface.

O endereço network da interface só precisa ser calculado uma vez e normalmente é calculado corretamente a partir das diretivas address e netmask . O mesmo com o endereço broadcast . Então você não precisa defini-los. Na verdade, se você definir um ou ambos para os valores errados, poderá perder a conexão com a Internet e outros computadores em sua LAN. Então, a menos que você tenha alguns valores estranhos, deixe o computador calculá-los para você.

Portanto, um mínimo de configurações estáticas, ou stanza, em /etc/network/interfaces poderia ser assim para o dispositivo eth1 em uma rede privada:

iface eth1 static inet
     address   192.168.44.10
     netmask   255.255.255.0
     gateway   192.168.44.1

Como funciona a resolução de nomes e como ela está vinculada ao DNS.

Os nomes de domínio são usados para converter entre fácil para humanos ler e lembrar nomes de domínio e os computadores não tão fáceis de lembrar do endereço IP, mencionado acima. Isso é chamado de resolução de nomes .

Isso geralmente é controlado pelo arquivo /etc/nsswitc.conf e pela linha que começa com hosts: . Se você solicitar que o computador se conecte ao computador my.example.com , ele examinará esse arquivo e tentará resolver o endereço IP com o nome my.example.com . Este arquivo realmente não responde à pergunta "qual IP do meu.exemplo.com tem", ele apenas informa ao computador onde ele pode encontrar a resposta.
Geralmente, ele tenta primeiro o arquivo /etc/hosts para nomes locais estáticos, depois avahi mDNS para nomes locais dinâmicos e, em seguida, um resovler de nome de domínio DNS para obter um nome da Internet.

Se alguns deles demorarem a responder às suas perguntas, pode parecer que o computador ficou preso por algum tempo. Então, se você conseguir isso, verifique o nome resolvendo primeiro.

Portanto, adicionando endereços estáticos, basta adicioná-los ao seu arquivo /etc/hosts . By the way, se você tem um endereço estático, você provavelmente deve mudar o endereço IP lá para a sua máquina para o seu endereço IP e não o padrão 127.0.1.1 (que está na rede local onde localhost são, 127.0.0.1 ). Isso só funciona bem para clientes e não para servidores.

Os endereços dinâmicos que você obtém de máquinas Linux com o pacote avahi e de máquinas Apple (e o MS Windows com o iTunes?). Isso é tratado por "mágica" e você não precisará consertar isso.

O DNS é usado para acessar a Internet e você precisa informar ao computador onde estão os servidores DNS que você deseja usar, o endereço IP a ser usado e o domínio DNS padrão.

Isso é feito no arquivo /etc/resolv.conf e pode ser configurado estaticamente. Isso não funciona tão bem em nosso mundo não tão estático, então normalmente você tem um pacote chamado resolvconf installed. Isso permite que você defina essas configurações no arquivo /e/n/interfaces .

Portanto, se assumirmos que queremos adicionar um dos servidores DNS do Google, 8.8.8.8 , e o servidor DNS do seu provedor, 192.0.2.1 , e seu domínio my.example.org domínio como padrão, basta editar o arquivo /etc/network/interfaces e adicione estas duas linhas na estrofe para o dispositivo estático.

    dns-nameservers   8.8.8.8  192.0.2.10
    dns-search        my.example.org

Você também pode perceber que o resolvedor de DNS usará no máximo três servidores DNS. Por favor, procure isso na man -page de resolv.conf . Como normalmente, você pode usar o comando man nsswitch.conf , man resolv.conf e man resolvconf para obter mais informações.

Observe também que uso o domínio example.com e example.org e a rede IP 192.0.2.0/24 para o servidor DNS de exemplo do ISP. Estes são definidos explicitamente para serem usados nos exemplos. Consulte o link ou o link e o rfc5735

Como então você verifica se funciona?
Você pode fazer isso de várias maneiras, mas eu geralmente uso

getent hosts my.test.com

para testar toda a configuração para resolução de nomes. Se eu quiser apenas verificar se o DNS funciona, eu uso um desses comandos:

host my.test.com
dig my.test.com

Mas lembre-se de que os únicos teste DNS através das configurações no arquivo /etc/resolv.conf , e não da parte /etc/nsswitch.conf . Pode ser o que você quer ou não.

    
por Anders 11.03.2014 / 20:40