컴퓨터 C, 라우터 R 및 Raspberry Pi P가 있습니다. 그들은 연결되어 있습니다 :
인터넷 <--이더넷--> R <--wlan--> P <--이더넷--> C
이제 C가 인터넷에 액세스할 수 있기를 원합니다.
P에는 wlan0과 eth0이 있습니다. 처음에는 eth0과 wlan0을 연결하려고 생각했지만, 제가 이해하는 Wi-Fi의 특성으로 인해 이는 불가능합니다.
다음 접근 방식은 P에 DHCP 서버를 추가하고 C가 IP 번호를 임대하도록 하는 것입니다. ip route
C를 사용하면 잘 작동합니다 .
10.254.239.0/27 dev eth0 src 10.254.239.13 default via 10.254.239.10 dev eth0
P의 ifconfig가 제공합니다.
eth0 링크 캡슐: 이더넷 HWaddr b8:27:eb:44:bb:71 inet 주소: 10.254.239.10 브로드캐스트: 10.254.239.31 마스크: 255.255.255.224 inet6 주소: fe80::3206:e7e:fb7e:23d5/64 범위: 링크 멀티캐스트를 실행하는 업스트림 브로드캐스트 MTU: 1500 측정항목: 1 RX 패킷: 569 오류: 0 삭제: 0 오버플로: 0 프레임: 0 TX 패킷: 235 오류: 0 삭제: 0 오버플로: 0 캐리어: 0 충돌: 0 txqueuelen: 1000 RX 바이트: 142936(139.5KiB) TX 바이트: 50384(49.2KiB) lo link encap: 로컬 루프백 inet 주소: 127.0.0.1 마스크: 255.0.0.0 inet6 주소:::1/128 범위: 호스트 상위 루프백 작업 MTU: 65536 측정항목: 1 RX 패킷: 19 오류: 0 삭제: 0 오버플로: 0 프레임: 0 TX 패킷: 19 오류: 0 삭제: 0 오버플로: 0 캐리어: 0 충돌: 0 txqueuelen: 1 RX 바이트: 1444(1.4KiB) TX 바이트: 1444(1.4KiB) wlan0 링크 캡슐: 이더넷 HWaddr b8:27:eb:11:ee:24 inet 주소: 192.168.0.106 브로드캐스트: 192.168.0.255 마스크: 255.255.255.0 inet6 주소: fe80::2501:6a8:8bcf:4a40/64 범위: 링크 멀티캐스트를 실행하는 업스트림 브로드캐스트 MTU: 1500 측정항목: 1 RX 패킷: 5415 오류: 0 삭제: 4989 오버플로: 0 프레임: 0 TX 패킷: 454 오류: 0 삭제: 0 오버플로: 0 캐리어: 0 충돌: 0 txqueuelen: 1000 RX 바이트: 815495(796.3KiB) TX 바이트: 49230(48.0KiB)
C는 P를 핑할 수 있지만 R은 핑할 수 없으므로 P에 라우팅 오류가 있다고 믿게 됩니다.
R과 C 간에 트래픽을 전달하도록 P를 구성하는 방법은 무엇입니까?
ip route
P에 주어짐:
기본값은 192.168.0.1 dev wlan0 metric 303을 전달합니다. 10.254.239.0/27 dev eth0 프로토타입 커널 범위 링크 src 10.254.239.10 192.168.0.0/24 dev wlan0 프로토타입 커널 범위 링크 src 192.168.0.106 표시기 303
P에서도
$ 고양이 /proc/sys/net/ipv4/ip_forward 1
답변1
이것은 전형적인 IP 전달 사례입니다. P에서 다음 명령을 실행합니다.
echo 1 > /proc/sys/net/ipv4/ip_forward