저는 Raspberry Pi 2+에서 실행되는 Linux 기반 OS(Rasbian)를 가지고 있으며 다음을 사용하고 있습니다.화웨이 E3372s인터넷 연결을 위한 4G/LTE USB 스틱.
모든 아웃바운드 연결이 제대로 작동하지만(usb_modeswitch-ruling 및 Udev/rules.d를 사용하여 Huawei USB 모드 변경) Raspi로부터 어떤 종류의 인바운드 연결도 수신할 수 없습니다.함수 전달이 작동하지 않습니다.
나수신할 수 없음나는 Raspbian 패키지 배포에서 제공하는 도구를 사용하여 로그에서 실시간으로 모든 패킷이나 연결을 추적합니다.
4G ISP를 통해 양방향 트래픽을 허용하는 확장 서비스가 활성화 및 재설정되었음을 확인했으며 ISP는 내 3G/4G 가입에 대해 많은 지식을 갖고 있으며 완벽하게 작동하지만 패킷을 수신할 수 없습니다. 피부.
화웨이 E3372s(다이얼 업을 사용하는 대부분의 오래된 스틱과 달리 wvdial
)CDC_ETH시스템용 이더넷과 유사한 장치(이 경우 ETH1)를 생성하고 이 경우 완벽하게 작동하는 드라이버 시스템입니다.
필요한 모든 작업을 완료하기 위해 IPTables를 다시 지우고, 재생성하고, 테스트하고, 수정하고, 다시 지우고 사용했으며, 라우팅을 여러 번 확인, 수정 및 테스트했으며, Huawei USB 스틱을 통한 연결을 방해하는 알려진 차단 시스템이 없음을 확인했습니다. 완전한 기능을 갖춘 서비스가 실행 중인데도 여전히 시스템에 대한 핑을 받을 수 없습니다.
또한 호스트 허용/거부 규칙과 같은 보다 간단하고 간단한 영역도 확인했지만 운이 없었습니다. Huawei가 내부적으로 구성한 모든 설정은 웹 인터페이스를 사용하여 올바르게 설정되므로 APN 이름도 아닙니다.
그러나 저는 가끔 임의의 포럼에서 Huawei CDC_ETH 솔루션이 드라이버로 들어오는 연결을 처리하는 방식에 결함이 있을 수 있다는 사실을 접했습니다.
Debian/Rasbian/Linux 수신 연결 문제가 발생한 경우화웨이 E3372s또는 관련 3G/4G USB 제품을 사용하세요.CDC_ETH그리고 이 문제에 대한 해결책을 찾았습니다
답변1
펌웨어 업데이트는 필요하지 않지만, 찾은 모드 스위치와 아직 찾지 못한 다이얼러는 필요합니다. 다음 구성 파일은 다음에서 가져왔습니다.NVDC 콘텐츠 네트워킹, 가상화 및 데이터 센터 콘텐츠상자에서 바로 사용할 수 있습니다. 각각을 템플릿으로 사용하지 않고 작동이 시작될 때까지 조정하십시오.
/etc/usb_modeswitch.conf
DefaultVendor=0x12d1
DefaultProduct=0x14fe
TargetVendor= 0x12d1
TargetProduct= 0x1506
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
/etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0
Init3 = AT+CGDCONT=1,"IP","internet.t-mobile.cz"
Stupid Mode = 1
ISDN = 0
Modem Type = Analog Modem
New PPPD = yes
Phone = *99***#
Modem = /dev/gsmmodem
Username = { }
Password = { }
Baud = 9600
용법
/dev/gsmmodem
/dev/ttyUSB2
모뎀 에서 까지의 링크를 만듭니다 .외부 세계에 전화를 겁니다. 이 작업은 매번 수행해야 합니다.
wvdial >/dev/null 2>&1 &
시스템의 로컬 시작 스크립트 영역에 다음을 추가합니다.
MODEM_STORAGE="12d1:14fe" MODEM_MODEM="12d1:1506" # 0 = storage, 1= modem MODEM_MODE=0 check_modem_mode () { echo -n "Checking modem presence... " lsusb | grep --quiet "$MODEM_STORAGE" if [ $? -eq 0 ]; then MODEM_MODE=0 echo "OK: modem in mass storage mode" else lsusb | grep --quiet "$MODEM_MODEM" if [ $? -eq 0 ]; then MODEM_MODE=1 echo "OK: modem in modem mode" else echo "ERROR: modem not found" exit 1 fi fi } set_modem_mode () { while [ $MODEM_MODE -eq 0 ] do echo -n "Setting modem mode... " usb_modeswitch -s 15 -I -H -c /etc/usb_modeswitch.conf >/dev/null 2>&1 lsusb | grep --quiet "$MODEM_MODEM" if [ $? -eq 0 ]; then MODEM_MODE=1 echo "OK" else echo "FAILED" fi done }
설명하다
내가 설명했듯이이전 게시물에서, GSM 모뎀에는 항상 두 개 이상의 구성 요소가 있습니다. 이 모델에서는 3개의 구성 요소입니다.
- USB 메모리 스틱과 유사한 저장 영역.
- 여러 장치를 연결하기 위한 무선 이더넷 어댑터입니다.
- PPP 다이얼러를 사용하면 무선 서비스 제공업체에서 귀하가 유료 고객임을 인식하고 필요한 경우 초과 요금을 부과할 수 있습니다. PPPoE에는 인증이 필요하므로 이제 유료 고객임을 증명할 수 있으므로 협상된 IP 주소를 사용하여 인터넷에 액세스할 수 있습니다.
섹션 1과 2는 etc/modeswitch.conf
구성 파일을 통해 제어됩니다. 12d1
말하자면 공급업체의 MAC 주소입니다. 로컬 스크립트를 사용하여 MAC 주소의 나머지 부분을 만듭니다. 12:D1:14:FE
, 결국 저장 장치가 되었고 12:D1:15:06
결국 모뎀이 되었습니다. 로컬 스크립트 문제를 사용하지 않는 경우usb_modeswitch -s 15 -I -H -c /etc/usb_modeswitch.conf
참고: 기본적으로, 즉 모드 스위치가 없는 Linux는 저장 장치만 볼 수 있으므로 OP는 PPP 다이얼러 또는 무선 장치를 보거나 사용할 수 없습니다..
모드 스위치를 이용하여 모뎀을 켠 후,다이얼또는 다양한 대안 중 하나가 외부 세계에 대한 액세스를 제어합니다. 모뎀이 모뎀 모드에 있으면 결국 다음과 유사한 출력이 표시됩니다.
wwan0 Link encap:Ethernet HWaddr 58:2c:80:13:93:13
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.83.249.176 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4265 errors:0 dropped:0 overruns:0 frame:0
TX packets:6699 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:506706 (494.8 KiB) TX bytes:600991 (586.9 KiB)
발행시ifconfig
답변2
NAT 문제인 것 같습니다. ISP가 연결을 NAT로 처리하지 않더라도 Huawei는 eth1
인터페이스에서 NAT를 사용합니다.
Huawei에는 기본적으로 두 가지 모드가 있습니다.
- 가오 리안, NAT를 사용하고 이더넷 인터페이스를 제공합니다.
- 링크가 높지 않음, 여기서 PPP 또는 NDIS는 이동통신사에 연결하는 데 사용됩니다.
다른 펌웨어를 플래시하여 두 모드 사이를 변경하는 방법에 대한 많은 튜토리얼이 있습니다. 하지만 이 과정에서 모뎀이 손상될 수 있으므로 구체적인 링크는 게시하지 않겠습니다.
답변3
제 경우에는 이것이 제가 필요한 usb_modeswitch 구성이라는 것을 알았습니다.
cat /etc/usb_modeswitch.d/huawei_e3372.conf
# modeswitch config file for the huawei e3372
DefaultVendor=0x12d1
DefaultProduct=0x1f01
TargetVendor= 0x12d1
TargetProduct= 0x14dc
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
모뎀을 실행하고 작동시키려면 이 명령을 사용하십시오.
sudo usb_modeswitch -s 15 -I -H -c /etc/usb_modeswitch.d/huawei_e3372.conf
답변4
LTE ISP 또는 Huawei가 NAT를 수행하는 경우에도 해결 방법이 있습니다 ssh -R
. 인터넷에 서버가 있는 경우 SSH를 통해 포트를 전달할 수 있습니다(예: Tomcat).
ssh -R 4080:localhost:8080 my.cloud.server
다음과 같이 파이에 액세스합니다.
http://my.cloud.server:4080
OpenVPN도 작동해야 합니다.