3G 어댑터(eth1)에서 wlan0에 연결

3G 어댑터(eth1)에서 wlan0에 연결

내 Raspberry Pi(Linux 실행)에서 다음을 시도했습니다. 고정 IP 주소가 있고 수신 트래픽을 허용하는 3G 어댑터를 연결했는데 인터페이스 eth1로 나타납니다. 또한 구성해야 하는 하드웨어 장치에 WiFi 어댑터가 연결되어 있습니다. 하드웨어 장치에는 라우터 등에서 사용되는 인터페이스와 마찬가지로 구성을 위해 설정된 액세스 포인트가 있습니다.

인터넷을 통해 내 컴퓨터에서 하드웨어 장치에 어떻게 액세스합니까?

내 컴퓨터--(인터넷)--> 3G 동글 --(eth1)--> Raspberry Pi --(wlan0)--> 하드웨어 장치(AP)

bridge-utils를 사용해 보았지만 wlan0에 브리지할 수 없다고 합니다.

답변1

이를 위해 브리지가 필요하지 않을 수도 있습니다. 이를 수행하는 방법에는 여러 가지가 있지만 가장 간단한 방법 중 하나는 iptables' -j MASQUERADE대상'입니다. 다음을 수행해야 합니다.

  1. IP 전달 활성화(예: sysctl -p라인 입력 실행)net.ipv4.ip_forward=1/etc/sysctl.conf

  2. eth1 인터페이스로 전달된 패킷에 대해 매스커레이딩을 활성화합니다.

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

이렇게 하면 WLAN에서 인터넷으로의 아웃바운드 연결이 위장됩니다.

  1. 설명에서 언급한 대로 인터넷에서 IP 주소 10.0.1.184의 웹 서버로 인바운드 포트 80 및 포트 443(http 및 https) 연결을 전달하려면 PREROUTING 테이블에 DNAT 규칙을 추가해야 합니다.
iptables -t nat -A PREROUTING -p tcp -i eth1 -m multiport \
    --dports 80,443 -j DNAT --to 10.0.1.184

(이것은 한 줄에 있을 수 있습니다. \이 사이트에서 가로 스크롤 막대를 피하기 위해 여기에서 분리했습니다.)

방화벽 규칙(또는 기본 거부 정책)이 패킷 전달을 차단하는 경우 FORWARD 테이블에 ACCEPT 규칙이 필요할 수도 있습니다. 물론 10.0.0.0/8은 개인 네트워크이고 인터넷에서 라우팅되지 않기 때문에 WLAN에 대한 액세스를 차단하는 방화벽 규칙이 여기서 꼭 필요한 것은 아닙니다.

iptables -A FORWARD -p tcp -i eth1 -o wlan0 -d 10.0.1.184 -m multiport 
    --dports 80,443 -j ACCEPT

관련 정보