Estou conectando uma máquina linux usando um hoje popular Huawei Brovi E3372-325 LTE USB Stick à Internet. O requisito especial é que as conexões ssh/ping/NTP/... de entrada cheguem ao meu sistema operacional Linux.
O estado é que, usando usb_modeswitch -X
e, option driver
posso abrir as 3 interfaces ttyUSB e conectar com êxito usando wvdial
. Mas, por algum motivo, ifconfig
não lista um endereço HW/MAC para a interface ppp0 e os dispositivos na mesma rede APN não podem executar ping no meu endereço IP. Não acho que o motivo seja o bloqueio do ISP, porque meus outros dispositivos podem fazer ping na rede.
Saída deip addr
19: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 3
link/ppp
inet 10.250.0.112 peer 10.64.64.64/24 scope global ppp0
valid_lft forever preferred_lft forever
- Se não me engano, não uso RNDIS agora. Estou certo de que, em geral, o popular protocolo RNDIS não se adequa ao meu caso de uso, porque isso cria uma rede local adicional, tornando mais complicado encaminhar conexões de entrada para o sistema operacional? O ping pode funcionar de fora porque é respondido pelo próprio modem USB, mas o ssh de entrada falharia.
- Qual pode ser o motivo pelo qual o ppp0 não possui um endereço MAC? Como isso é possível? Devo atribuir um? É provavelmente o motivo pelo qual outros dispositivos não conseguem fazer ping em seu IP? Como resolver esta situação?
RNDIS é uma API de driver de interface de rede específica do Windows. Hum, isso não tem nada a ver com o que você está fazendo, certo?
um endereço MAC é um conceito Ethernet; e PPP não é ethernet :)
O quadro do PPP contém um endereço - mas é apenas um único byte de comprimento e sempre definido como 0xFF, sendo o PPP um protocolo ponto a ponto, onde você não precisa de mais endereços (você sabe com quem está falando - o outro final).
Boa depuração. Observe, no entanto, que as operadoras de rede móvel (MNOs) rotineiramente empregam NAT de nível de operadora para ocultar muitos usuários atrás de um endereço IPv4 público - teoricamente, ignorando qualquer outra coisa além de humanos com telefones - apenas 2³² endereços IP possíveis (ignorando qualquer " endereços especiais") e quase tantos telefones quanto humanos, então há apenas endereços IPv4 para cerca de metade dos telefones. A mensagem aqui é que, se você deseja que seu dispositivo móvel seja acessível em todo o mundo, haverá alguma infraestrutura extra envolvida (como um servidor VPN) ou você precisará usar o IPv6. Eu recomendaria optar pelo IPv6 – devido às forças do mercado, para a maioria das MNOs é mais barato ter tráfego IPv6 de e para a Internet, então eles podem priorizar isso.
De qualquer forma, sua pergunta é por que não funciona para você - eis o seguinte: isso é NAT de nível de operadora (seu endereço IPv4 nessa interface é privado!), Não há garantia nem muito sentido em garantir que diferentes os assinantes podem entrar em contato diretamente. É legal que funcione para você em seus outros dispositivos.
O que é um pouco preocupante é que você recebe apenas um único endereço IPv4 e não um endereço IPv6 (ou uma sub-rede IPv6 inteira). Isso pode significar que o pppd da sua máquina Linux não está configurado para aceitar IPv6 ou algum outro erro de configuração.
Porém, de forma mais realista: o PPP é um … protocolo antigo que não tem nada a ver com o funcionamento da infraestrutura de rede móvel. 2.5G/GPRS/EDGE, 3G/UMTS, 4G/LTE, 5G… etc são redes de pacotes – você obtém uma interface que transporta pacotes IP, diretamente; você não obtém uma linha serial pela qual precisa conversar com o PPP para estabelecer um túnel de pacotes.
Então, o que deve estar acontecendo é que seu modem USB se conecta à rede móvel, obtém um endereço IP e coloca os pacotes IP que recebe através de um túnel PPP, que parece então colocar em um link serial emulado para o seu computador? Essa é uma maneira interessante de fazer isso, para dizer o mínimo - poderia muito bem ser apenas uma placa de rede USB e funcionar imediatamente. Na verdade, é assim que o tethering USB no meu telefone funciona, e eu tinha placas de modem embutidas para meus laptops no passado, que faziam o mesmo.
Talvez o seu modem USB tenha diferentes modos de operação e um que se pareça com um modem dial-up dos anos 90 que emula a conexão com um provedor de serviços de Internet que oferece PPP e um modo diferente em que é apenas um roteador IP? Se for esse o caso, use o último modo e configure-o para encaminhar pacotes para o seu computador.
Portanto, de qualquer forma, seu modem está envolvido na manipulação de pacotes IP; então é bem provável que seja onde seus pacotes de entrada se perdem. Mas, talvez seus outros dispositivos também estejam usando o mesmo APN nominalmente , mas se eles estiverem usando uma maneira diferente de se conectar à rede móvel, seus pacotes seguirão uma rota diferente na rede principal e não terminarão na mesma rede privada como seu modem; há muita coisa que pode diferir aqui, da qual você não tem visibilidade. Geralmente, seu MNO não opera uma rede interna para você (a menos que você pague – por exemplo, usando uma assinatura M2M especial), mas um acesso à Internet; comunique-se pela internet, se não puder se comunicar localmente. Para isso, você precisa de um endereço IP global ao qual possa se conectar.
Se você me perguntasse, se você precisa se comunicar mutuamente: