Entendendo os endereços tun0

11

Eu já fiz algumas pesquisas e entendi mais ou menos o que uma tun0interface faz. Eu recebi o seguinte de várias fontes,

Pacotes enviados por um sistema operacional através de um dispositivo tun / tap são entregues a um programa no espaço do usuário que se conecta ao dispositivo. Um programa de espaço do usuário também pode passar pacotes para um dispositivo tun / tap. Nesse caso, o dispositivo tun / tap entrega (ou "injeta") esses pacotes na pilha de rede do sistema operacional, simulando assim a recepção de uma fonte externa. As interfaces tun / tap são interfaces apenas de software, o que significa que elas existem apenas no kernel e, diferentemente das interfaces de rede comuns, elas não têm componente físico de hardware (e, portanto, não há fio físico conectado a elas).

Você pode pensar em uma interface tun / tap como uma interface de rede comum que, quando o kernel decide que chegou o momento de enviar dados "on the wire", em vez disso, envia dados para algum programa de espaço do usuário que está anexado à interface.

Agora, se eu comparar as saídas para eth0e tun0, vejo algo assim.


ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:14:22:50:78:71  
          inet addr:172.16.210.32  Bcast:172.16.255.255  Mask:255.255.0.0
...
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
<snipped>

ifconfig tun0
tun0      Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

Agora, se tentarmos comparar os dois, encontramos essas diferenças,

  1. eth0tem um endereço MAC e, compreensivelmente tun0, não.

  2. eth0está trabalhando no modo de transmissão e tun0está trabalhando no modo ponto a ponto.

Eu tenho os seguintes pontos que eu não entendo.

  1. Qual é o papel do endereço P-t-P:10.8.0.2nesse cenário?

  2. Por que a máscara de sub-rede está tun0definida como 255.255.255.255?

Masroor
fonte

Respostas:

5

Os links de rede de hardware podem ser ponto a ponto ou multiponto. links ppp são ponto a ponto, ethernet é ponto multiponto. O tun pode atuar como um ou outro, no seu caso, está agindo como um link ponto a ponto. um interface ponto a multiponto possui quatro endereços associados, especificamente o endereço IP (o endereço da interface), o endereço de rede, o endereço de broadcast e a máscara de rede. Um link ponto a ponto possui dois endereços associados, especificamente o endereço IP (o endereço local) e o endereço ponto a ponto (o endereço remoto). Como o link ponto a ponto funcionará apenas com os dois endereços, os endereços de broadcast e de rede e a máscara de rede não possuem dados úteis ou valores de sinalizador.

As interfaces de ajuste do ponto final podem ter endereços mac, elas simplesmente não têm endereços mac padrão.

hildred
fonte
1
Você poderia mostrar algum exemplo em que uma interface tun pode ter um endereço MAC? Obrigado pela sua resposta.
Masroor
1
é comum quando você tem comutadores virtuais, usa, ifconfig tunXX hw ether XX:XX:XX:XX:XX:XXmas não é necessário e provavelmente não funcionará em links ponto a ponto.
Hildred