Endereço IP da interface do dispositivo x da rede

11

Estou tentando entender a relação entre:

  • Um dispositivo Linux "em rede"; e
  • A placa NIC física localizada nesse dispositivo (permitindo a "rede"); e
  • Vários interfaces de Ethernet / Wi-Fi de rede ( eth0, eth1, wlan0, etc.); e
  • Endereços IP e portas

Pelo que tenho recolhido, ele parece que cada interface (de novo, eth0, eth1, wlan0, etc.) são atribuídos seu próprio IP único. O significado na minha máquina eth0teria um IP diferente do que, digamos wlan1,.

Mas isso contradiz minha compreensão de que os dispositivos em rede como um todo recebem um único IP para todo o dispositivo.

Então qual é? Um dispositivo obtém 1 IP usado por todas as interfaces ou cada interface, de fato, possui seu próprio IP? Se cada um obtiver o seu, então o que determina quantas portas estão disponíveis nessa interface?

Zac
fonte
como / onde uma interface está conectada afeta qual endereço IP deve ter, como 3 LANs Ethernet diferentes, para que interfaces diferentes tenham endereços diferentes. esse endereço também se torna o endereço de origem padrão.
Skaperen

Respostas:

10

Cada interface de rede terá seu próprio endereço IP para que o tráfego IP flua através dele.

Tomemos, por exemplo, o seu dispositivo roteador / modem que a maioria das residências e / ou pequenos escritórios possui.

Haverá uma conexão com seus computadores / laptops no lado interno do roteador - seja WiFi ou Ethernet. Normalmente, eles estão nos intervalos de endereços particulares 191.168.0.0 - 192.168.255.254ou às vezes 10.0.0.0 - 10.255.255.254. O seu desktop / laptop / tablet se conectará a esse lado do dispositivo e terá o próprio endereço IP no mesmo intervalo (mas não idêntico ao dispositivo).

No lado externo do roteador / modem, você terá um endereço IP completamente separado, geralmente alocado ao seu dispositivo automaticamente pelo provedor de serviços. Este é um endereço roteável, como o 98.23.45.62que é globalmente exclusivo para o seu modem / roteador enquanto estiver conectado.

Modem / roteadores pequenos como esses podem ser confusos, pois parecerão ter apenas um endereço - aquele citado no manual do usuário para administrar o dispositivo por meio de um navegador da Web (como http://192.168.0.1) - enquanto ele possui muitas portas Ethernet. Isso ocorre porque o dispositivo, em essência, possui um comutador de rede marcado no roteador para dividir a única porta Ethernet do roteador em várias portas e para conectar uma ponte WiFi.

Ao mesmo tempo, o lado externo do roteador / modem terá seu endereço IP configurado automaticamente pelo provedor de serviços, para que você nunca o veja. (Digite o meu endereço IP no Google para descobrir qual é).

Um diagrama pode ajudar:

                                                                 +--------+
                                                                 | laptop |
                                                                 +--------+
+-----+                +-------------+              +--------+       | 10.0.0.2
|     |98.23.45.61     |             |10.0.0.1      |        |-------+
| ISP |----------------+ modem/router|--------------| switch |
|     |     98.23.45.62|             |              |        |-------+
+-----+                +-------------+              +--------+       | 10.0.0.3
                                                                  +---------+
                                                                  | desktop |
                                                                  +---------+

Como você pode ver, o modem / roteador possui dois endereços IP - um para cada interface de rede. A área de trabalho e os laptops possuem um dispositivo de rede conectado ao seu roteador. A maioria dos modems / roteadores possui conexões WiFi e Ethernet, assim como a maioria dos laptops. Se você conectar o cabo Ethernet ao seu laptop e também ativar e configurar o WiFi do seu laptop, ele também terá dois endereços IP - um para cada dispositivo - ambos no 10.0.0.xintervalo de endereços. Isso daria a você problemas para pensar - não faça isso.

Uma porta é apenas um número anexado ao endereço IP de destino. É semelhante a um ramal telefônico em uma central telefônica do escritório e decide qual serviço deve receber seu tráfego. É um número de 16 bits, que fornece o máximo possível de 65535. Apenas um subconjunto muito pequeno é usado. Algumas têm portas conhecidas e pré-alocadas , como tráfego http na porta 80 e shell seguro (ssh) na porta 22. Essas portas só estão abertas e aguardando tráfego se o serviço relevante estiver em execução no dispositivo, conforme instalado pelo fabricante do dispositivo .

No caso do roteador de modem acima, a porta 80 estará escutando no lado interno porque um servidor da web está sendo executado para que você possa administrar o dispositivo usando um navegador da web. Alguns roteadores também têm um serviço ssh escutando na porta 22, para que você possa gerenciar o dispositivo usando um cliente ssh. Eles provavelmente terão a porta 53 aberta, pois também haverá um servidor DNS em execução no roteador.

Seu laptop provavelmente (espero) não terá portas escutando, a menos que você tenha instalado um serviço nesse dispositivo. No diagrama acima, você pode instalar um servidor de servidor ssh no PC de mesa em que ponto (e firewalls permitindo) sua área de trabalho terá a porta 22 aberta. Seu laptop pode então ssh para a porta 22 da área de trabalho e fazer login.

Portanto, o número de portas em um dispositivo se reduz a quantos serviços estão sendo executados nesse dispositivo, a configuração desse serviço e a configuração do firewall.

Se você quiser tornar o servidor ssh em execução na sua área de trabalho no exemplo acima, acessível a partir de um usuário remoto em algum lugar da Internet, você encontrará um pequeno problema, pois, embora tenha muitos endereços internos, apenas um externo ( 98.23.45.62).

Para resolver isso, você precisa configurar um recurso conhecido como Port Forwarding no seu roteador. Isso instrui o roteador a pegar todo o tráfego que chega a uma porta específica e encaminhá-lo para um host e porta internos específicos.

Nesse caso, todo o tráfego que chega na porta 22 é encaminhado para a 10.0.0.2porta 22. Como você deve ter coletado, isso significa que você só pode ter a porta 22 encaminhada para um servidor interno.

Se você quisesse poder ssh para a área de trabalho e o laptop, teria que configurar o roteador para escutar uma porta externa alternativa (como 2022) e encaminhá-la para o laptop na 10.0.0.2porta 22. O usuário remoto precisa ssh 98.23.45.62acessar a área de trabalho e ssh -p 2022 98.23.45.62acessar seu laptop.

Obviamente, nem sempre é tão simples quanto isso, pois o endereço IP externo pode mudar, a menos que você solicite / adquira especificamente um endereço IP estático.

garethTheRed
fonte
Obrigado @garethTheRed (eu recomendaria você se tivesse o representante para fazê-lo). Alguns followups rápidos, se você não se importa: Você pode confirmar que, através do seu excelente exemplo acima, se eu fui ao Google " Qual é o meu IP " na tanto o laptop e ambiente de trabalho, eles iriam ver tanto o seu IP como 98.23.45.62(basicamente, IP externo do roteador comum)? Nesse caso, se eu mantivesse um servidor em execução no meu laptop e desejasse que fosse acessível a partir do mundo externo, como os clientes externos / remotos fariam solicitações para esse servidor se ele tivesse o mesmo IP de todos os outros dispositivos atrás do roteador ?!? Muito obrigado novamente!
Zac
Sim, todos os dispositivos internos mostrariam o mesmo endereço IP no Google - seu único endereço IP :-) Eu editei minha resposta para cobrir sua outra pergunta.
garethTheRed
Mais uma vez obrigado @garethTheRed! Então, é justo dizer que o encaminhamento de porta está fazendo a mesma coisa de externo para interno como o NAT de interno para externo?
Zac
Vagamente - o NAT é mais dinâmico porque "simplesmente funciona". O Encaminhamento de porta deve ser configurado pelo administrador do roteador, mas, em essência, ambos obtêm tráfego através do roteador.
garethTheRed
2

"Dispositivo" é uma palavra sobrecarregada. Às vezes é usado para significar uma máquina e, às vezes, para um periférico ou interface de uma máquina.

Cada interface de rede tem seu próprio endereço.

Cada máquina possui zero, um ou mais endereços, dependendo de quantas interfaces de rede possui.

Em casos simples, cada interface de rede física possui um endereço IP e o sistema também possui uma interface de loopback que os programas usam para conversar com programas em execução na mesma máquina. Cada interface possui um endereço IP distinto. Muitas configurações complexas são possíveis (ligação, alias, endereços locais etc.), mas a intuição básica é que cada endereço IP corresponda a uma interface.

Quando você acessa uma máquina pela rede, usa um endereço IP, para acessar uma interface de rede específica dessa máquina. Na maioria dos casos, a distinção é discutível, porque apenas uma interface é acessível a partir da máquina remota e não faria diferença, porque os programas aceitam conexões em todas as interfaces. No entanto, é possível que um servidor ouça apenas em uma única interface.

Gilles 'SO- parar de ser mau'
fonte
1

Seu dispositivo pode ter várias interfaces de rede. Esses podem corresponder a dispositivos reais ( NICs ) ou ser virtuais .

Para ser utilizável (ou seja, iniciar ou escutar conexões), cada interface deve ter um endereço IP. Normalmente, haverá um IP por interface, mas é possível ter vários por alias de IP .

As conexões individuais em cada endereço IP são identificadas pelo número da porta. Há um limite de 65536 portas por endereço IP imposto pelo protocolo IP. Uma razão por trás do aliasing de IP é superar essa limitação.

Portanto, no final, seu dispositivo pode ter quantos IPs você desejar (dentro da razão - suponho que haja limites impostos pelo kernel ao número de interfaces e IPs que ele pode gerenciar), o que é totalmente independente do número de interfaces de rede adaptadores que você tem. Por outro lado, seu dispositivo terá pelo menos tantos IPs quanto houver interfaces de rede sendo usadas .

Dmitry Grigoryev
fonte
0

Um dispositivo é um item físico representado por uma etiqueta dentro do sistema. Dessa forma, o sistema pode executar ações diferentes, como configuração / consulta / uso do dispositivo físico. O rótulo é criado pelo driver que gerencia o hardware físico no sistema do kernel.

Portanto, você pode ter vários dispositivos de rede, cada um deles identificado com um rótulo uniq (não vamos complicar muito a conversa sobre vínculo).

Seu problema é sobre o endereço IP.

Existem várias classes de endereços IP diferentes. Você tem o público, que pode ser acessado de qualquer lugar na Internet e endereço privado, que geralmente é restrito à área privada (rede doméstica / comercial, por exemplo).

Normalmente, uma rede doméstica ou de escritório possui poucos endereços IP públicos e muitos endereços privados (entre laptop / celular / tablet / geladeira / torradeira / de todos os membros da família).

Você pode atribuir o máximo de endereços IP a um hardware físico, mas precisa fazê-lo bem e respeitar a lógica tcp / ip subjacente, se não quiser enfrentar um problema inextricável :)

Por exemplo na rede local (lan), você não pode ter dois hardwares com o mesmo endereço IP. Isso ocorre principalmente devido ao protocolo Ethernet, que é baseado no endereço MAC (identificador uniq de hardware) e existe uma relação de um para um entre o endereço MAC e o endereço IP na rede local.

Você também pode ter uma máquina, com dois equipamentos, um com um endereço público do seu provedor e outro dentro da sua rede local. Essa máquina geralmente será usada como um gateway para o mundo externo para toda a máquina da sua rede local.

netmonk
fonte