AP에 연결된 장치에서 인터넷에 액세스

AP에 연결된 장치에서 인터넷에 액세스

내 임베디드 Linux 장치에는 두 개의 인터페이스가 있습니다 uap0. 다른 장치가 Linux 장치에 연결하기 위한 액세스 포인트 역할을 합니다. 내 라우터에 대한 인터페이스입니다. 내 라우터가 인터넷에 연결되어 있습니다.eth0uap0eth0

인터페이스에 대한 세부정보:

  • uap0- 172.24.100.1/24

    AP에 연결된 장치의 DHCP 범위: 172.24.100.50 - 172.24.100.100

  • eth0- 192.168.1.26/24

    라우터 IP(예: 게이트웨이): 192.168.1.253

    route add default gw 192.68.1.253
    

    이것이 라우터의 IP이기 때문입니다. 172.24.100.1도 시도해봤습니다. 하지만 그것도 작동하지 않습니다.

sysctl.conf파일에서 IPv4 전달을 허용했습니다 . 또한 iptables에 다음 항목을 추가했습니다.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o uap0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i uap0 -o eth0 -j ACCEPT 

평탄한 결과:

  • ping 172.24.100.50 -I uap0---> 성공(.50은 AP에 연결된 장치 중 하나입니다)
  • ping 8.8.8.8 -I uap0---> 실패
  • ping 192.168.1.26 -I uap0---> 실패
  • ping 172.24.100.1 -I eth0---> 실패

AP에 장치를 연결할 때마다 장치가 인터넷에 액세스할 수 없습니다. 내가 온라인에서 접한 거의 모든 솔루션은 내가 이미 수행한 iptables에 항목을 추가하는 것을 제안합니다.

이전에 Raspberry Pi에서 AP+STA 모드를 구현한 적이 있습니다. RPi에서 dnsmasq와 Hostapd를 구성해야 합니다. 하지만 이것은 최소 Linux 시스템이므로 dnsmasq가 사전 설치되어 있지 않습니다. 또한 패키지 관리자가 예상대로 작동하지 않습니다.

현재 설정을 기반으로 한 네트워크 다이어그램: 네트워크 다이어그램.

녹색 부분은 리눅스 장치입니다.

iptables-save의 출력: iptables-저장

sysctl의 출력:

여기에 이미지 설명을 입력하세요.

관련 정보