Eu já fiz algumas pesquisas e entendi mais ou menos o que uma tun0
interface 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 eth0
e 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,
eth0
tem um endereço MAC e, compreensivelmentetun0
, não.eth0
está trabalhando no modo de transmissão etun0
está trabalhando no modo ponto a ponto.
Eu tenho os seguintes pontos que eu não entendo.
Qual é o papel do endereço
P-t-P:10.8.0.2
nesse cenário?Por que a máscara de sub-rede está
tun0
definida como 255.255.255.255?
fonte
ifconfig tunXX hw ether XX:XX:XX:XX:XX:XX
mas não é necessário e provavelmente não funcionará em links ponto a ponto.