PC에서 ssh RPi - 인터넷 연결을 공유하는 방법은 무엇입니까?

PC에서 ssh RPi - 인터넷 연결을 공유하는 방법은 무엇입니까?

내 Raspberry Pi는 eth0 포트를 통해 PC에 연결됩니다. RPi를 SSH로 연결하기 위해 eth0을 사용하고 있습니다. 인터넷 액세스가 필요한 RPi에 웹 애플리케이션이 있습니다.

이제 고정 IP를 RPi(192.168.1.50)와 PC(192.168.1.66)로 설정했습니다. PC에 있는 무선 어댑터를 통해 인터넷에 연결할 수 있고, RPi에 있는 USB Wi-Pi 어댑터를 통해 인터넷에 연결할 수 있습니다.

이것은 PC용입니다 ifconfig:

eth0      Link encap:Ethernet  HWaddr 3c:a8:2a:7e:fd:7d  
          inet addr:192.168.1.66  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::3ea8:2aff:fe7e:fd7d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:184 errors:0 dropped:0 overruns:0 frame:0
          TX packets:638 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20422 (20.4 KB)  TX bytes:80928 (80.9 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4126 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4126 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:460006 (460.0 KB)  TX bytes:460006 (460.0 KB)

wlan0     Link encap:Ethernet  HWaddr 34:e6:ad:08:67:5e  
          inet addr:192.168.1.13  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::36e6:adff:fe08:675e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11305 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10338 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6496258 (6.4 MB)  TX bytes:1391363 (1.3 MB)

RPi에서 인터넷에 연결하면 wlan0이 192.168.1.10.

문제는 PC를 통해 RPi에 SSH로 연결할 때 RPi에서 인터넷에 액세스할 수 없고 route -neth0이 기본 인터페이스로 표시된다는 것입니다.

PC의 무선 및 이더넷 연결을 브리지하고 ssh를 수행할 때 인터넷을 RPi에 공유하려고 하거나, wlan0과 eth0을 동시에 활성화할 수 있도록 RPi의 연결을 브리지하려고 합니다.

옵션을 시도 echo 1 > /proc/sys/net/ipv4/ip_forward하고 사용했지만 성공하지 못했습니다. 뭔가 놓치고 있고 뭔가 잘못하고 있지만 실제로 볼 수는 없습니다.MASQUERADEiptables

/etc/network/interfaces목표를 달성하는 방법, 파일 설정 방법 및 기타 고려해야 할 사항을 설명해 주시겠습니까 ?

감사해요.

답변1

사용 명령: https://wiki.debian.org/BridgeNetworkConnections(가운데는 무선)

bridge-utils를 설치합니다:

apt-get install bridge-utils (ubuntu)

aptitude install bridge-utils (debain)

nano /etc/network/interfaces 

다음 줄을 추가하세요

pre-up iwconfig wlan0 essid $YOUR_ESSID (wifi name)

bridge_hw $MAC_ADDRESS_OF_YOUR_WIRELESS_CARD(34:e6:ad:08:67:5e)

ebtable을 설치합니다:

aptitude install ebtables (debian)

apt-get install ebtables (ubuntu)

wlan0 MAC 주소($MAC=34:e6:ad:08:67:5e)를 사용하여 브리지된 네트워크를 설정합니다.

ebtables -t nat -A POSTROUTING -o wlan0 -j snat --to-src $MAC --snat-arp --snat-target ACCEPT

인터넷에 액세스해야 하는 장치의 MAC 주소를 추가합니다. ($ip를 ip로 바꾸고, $MAC를 pi로 바꾸고 컴퓨터의 MAC 주소로 바꿉니다.)

규칙 설정:

ebtables -t nat -A PREROUTING -p IPv4 -i wlan0 --ip-dst $IP -j dnat --to-dst $MAC --dnat-target ACCEPT
ebtables -t nat -A PREROUTING -p ARP -i wlan0 --arp-ip-dst $IP -j dnat --to-dst $MAC --dnat-target ACCEPT

위 명령을 반복하여 pi와 컴퓨터를 추가합니다.

규칙 저장:

EBTABLES_ATOMIC_FILE=/root/ebtables-atomic ebtables -t nat --atomic-save

EBTABLES_ATOMIC_FILE=/root/ebtables-atomic ebtables -t nat --atomic-commit

그래픽 사용자 인터페이스 사용: https://askubuntu.com/questions/359856/share-wireless-internet-connection-through-ethernet

관련 정보