저는 인기 있는 Huawei Brovi E3372-325 LTE USB 스틱을 사용하여 Linux 시스템을 인터넷에 연결하고 있습니다. 특별한 요구 사항은 들어오는 ssh/ping/NTP/... 연결이 내 Linux 운영 체제에 도달해야 한다는 것입니다.
상태는 사용 중이며 usb_modeswitch -X
3 option driver
개의 ttyUSB 인터페이스를 불러와 wvdial
. 그러나 어떤 이유로 ifconfig
ppp0 인터페이스의 HW/MAC 주소가 나열되지 않고 동일한 APN 네트워크의 장치가 내 IP 주소를 ping할 수 없습니다. 네트워크의 다른 장치가 핑을 할 수 있기 때문에 원인이 ISP 차단이라고 생각하지 않습니다.
산출ip 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
- 내 기억이 맞다면 지금은 RNDIS를 사용하지 않습니다. 내가 맞나요? 일반적으로 널리 사용되는 RNDIS 프로토콜은 내 사용 사례에 적합하지 않습니다. 이렇게 하면 추가 로컬 네트워크가 생성되어 들어오는 연결을 운영 체제에 전달하기가 더 어려워지기 때문입니다. 핑은 USB 모뎀 자체에서 응답하므로 외부에서 작동할 수 있지만 들어오는 SSH는 실패합니다.
- ppp0에 MAC 주소가 없는 이유는 무엇일까요? 어떻게 이럴 수있어? 하나 할당해야 할까요? 다른 장치가 자신의 IP를 핑할 수 없을 수 있습니까? 이 상황을 해결하는 방법은 무엇입니까?
답변1
내 기억이 맞다면 지금은 RNDIS를 사용하지 않습니다.
RNDIS는 Windows 관련 네트워크 인터페이스 드라이버 API입니다. 글쎄요, 그건 당신이 하고 있는 일과 아무 관련이 없지요, 그렇죠?
ppp0에 MAC 주소가 없는 이유는 무엇일까요? 어떻게 이럴 수있어?
MAC 주소는 이더넷 개념이고 PPP는 이더넷이 아닙니다.
PPP 프레임에는 주소가 포함되어 있지만 길이는 1바이트에 불과합니다.언제나0xFF로 설정하면 PPP는 지점 간 프로토콜이므로 더 많은 주소가 필요하지 않습니다(상대방이 누구인지 알 수 있음).
네트워크의 다른 장치가 핑을 할 수 있기 때문에 원인이 ISP 차단이라고 생각하지 않습니다.
좋은 디버깅. 그러나 MNO(모바일 네트워크 운영자)는 종종 캐리어급 NAT를 사용하여 단일 공용 IPv4 주소 뒤에 많은 수의 사용자를 숨기고 심지어 이론적으로도 전화를 사용하는 사람 이외의 다른 사용자를 무시합니다. 가능한 IP는 2^32개뿐입니다. 주소("특수" 주소는 무시)이며 대략 사람 수만큼 전화가 있으므로 전화의 약 절반에는 IPv4 주소만 있습니다. 여기서 메시지는 모바일 장치를 전 세계적으로 액세스할 수 있도록 하려면 일부는 IPv4 주소만 가지고 있다는 것입니다. 추가 인프라(예: VPN 서버)가 필요하거나 IPv6를 사용해야 합니다. IPv6를 사용하는 것이 좋습니다. 시장의 힘으로 인해 대부분의 MNO에서는 인터넷으로 들어오고 나가는 IPv6 트래픽이 더 높기 때문에 이를 우선시할 수 있습니다. .
어쨌든, 귀하의 질문은 이것이 작동하지 않는 이유입니다. 이것은 캐리어 등급 NAT입니다(해당 인터페이스의 IPv4 주소는 개인 주소입니다!). 다른 주소 중요성을 보장할 것도 없고 보장할 것도 많지 않습니다. 구독자는 서로 직접 연락할 수 있습니다. 하지만 다른 장치에서도 작동하는데 정말 좋습니다.
다소 걱정스러운 점은 IPv6 주소(또는 전체 IPv6 서브넷)가 아닌 IPv4 주소만 할당된다는 것입니다. 이는 Linux 시스템의 pppd가 IPv6을 허용하도록 구성되지 않았거나 다른 구성이 잘못되었음을 의미할 수 있습니다.
그러나 더 현실적으로 말하자면 PPP는 모바일 네트워크 인프라 작동 방식과 전혀 관련이 없는 오래된 프로토콜입니다. 2.5G/GPRS/EDGE, 3G/UMTS, 4G/LTE, 5G 등은 모두 패킷 네트워크입니다. IP 패킷을 직접 전송하기 위한 인터페이스가 있으므로 PPP를 통해 터널로 통신할 필요가 없습니다. 패킷 라인.
그러면 USB 모뎀이 모바일 네트워크에 연결하고, IP 주소를 얻고, 얻은 IP 패킷을 터널링한 다음, 에뮬레이트된 직렬 링크를 통해 컴퓨터로 보내는 것처럼 보이는 현상이 발생해야 할까요? 최소한으로 말하면 흥미로운 접근 방식입니다. USB 네트워크 카드에서도 작동하며 즉시 작동합니다. 실제로 이것이 내 휴대전화에서 USB 테더링이 작동하는 방식이며, 이전 노트북에는 동일한 기능을 수행하는 모뎀 카드가 내장되어 있었습니다.
USB 모뎀에는 다양한 작동 모드가 있을 수 있습니다. 그 중 하나는 1990년대의 전화 접속 모뎀처럼 보입니다.본뜨다PPP를 제공하는 인터넷 서비스 제공업체에 연결하고 IP 라우터만 사용하여 다른 모드를 사용하시겠습니까? 이 경우 후자의 모드를 사용하여 패킷을 컴퓨터로 전달하도록 설정하십시오.
따라서 어느 쪽이든 모뎀이 IP 패킷 손상과 관련되어 있으므로 수신 패킷이 손실될 가능성이 높습니다. 그러나 다른 장치가 동일한 APN을 사용할 수도 있습니다.명목상하지만 모바일 네트워크에 연결하기 위해 다른 방법을 사용하는 경우 패킷은 핵심 네트워크에서 다른 경로를 사용하게 되며 모뎀과 동일한 개인 네트워크에 도달하지 않게 됩니다. 여기에는 많은 차이가 있습니다. 가시성은 0입니다. 일반적으로 MNO는 (특별 M2M 구독 등을 통해 비용을 지불하지 않는 한) 내부 네트워크를 운영하지 않고, 로컬에서 통신할 수 없는 경우 인터넷을 통해 통신합니다. 이렇게 하려면 연결할 수 있는 글로벌 IP 주소가 필요합니다.
우리가 서로 소통해야 하는지 묻는다면:
- IPv6를 사용하세요. 이것이 진정한 글로벌 주소를 얻을 수 있는 가장 좋은 기회입니다. 꼭 필요한 경우에만 IPv4로 대체하세요.
- 고정 공개 주소를 가진 서버를 확보하세요. 귀하의 사용자 장비에는 MNO의 희망에 따라 새로운 IP 주소가 할당됩니다.
- 각 장치에서 공개 주소로 VPN 연결을 설정하세요. Wireguard는 상대적으로 전력 소모가 적은 탁월한 방법입니다. 이것으로 모든 문제가 해결되었을 수도 있습니다.
- 대기 시간에 대해 스마트하게(대문자 S 사용) 원하는 경우 서로 직접 통신할 수 있다는 것을 감지하자마자 서로 다른 장치 간에 직접 네트워크 경로를 추가할 수 있습니다. 이를 위해서는 엔드포인트에서 일부 소프트웨어를 실행해야 하며 주소를 제공해야 합니다. 장치에 대한 정보 장치는 다양한 네트워크 인터페이스와 이러한 인터페이스를 이해하는 데몬 프로세스를 제공합니다.