데비안 OS를 실행하는 라즈베리 파이에는 wlan0과 eth0이라는 2개의 인터페이스가 있습니다. 두 인터페이스 모두 두 게이트웨이 서버에서 dhcp를 가져옵니다. 두 개의 LAN에 어떻게 핑을 보내나요? 예를 들어:
eth0 -> gateway 10.1.22.1 -> LAN 10.0.0.0/8
wlan0 -> gateway 192.168.10.1 -> LAN 192.168.10.0/24
-> also can browse internet
내가 얻은 라우팅 테이블은 다음과 같습니다.
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.1.22.1 0.0.0.0 UG 203 0 0 eth0
default 192.168.10.1 0.0.0.0 UG 304 0 0 wlan0
10.1.22.0 0.0.0.0 255.255.255.0 U 203 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 304 0 0 wlan0
LAN 10.0.0.0/8을 ping할 수 있지만 인터넷을 검색할 수 없습니다. 인터넷을 탐색하고 LAN 10.0.0.0/8을 ping하려면 어떻게 해야 합니까?
죄송합니다. 이는 기본 Linux 네트워크 구성입니다. 나는 리눅스 운영체제에 익숙하지 않다. 누군가가 내가 알아낼 수 있도록 도와주길 바랍니다.
답변1
이 default
경로는 로컬 네트워크에 있지 않은 컴퓨터(예: 인터넷 액세스용)를 위한 것입니다.
두 가지 경로가 있습니다 default
. 인터넷에 액세스하는 두 가지 방법이 있다고 말씀하셨기 때문에 약간 혼란스럽습니다.
나는 그 중 하나가 잘못되어 10.1.22.1
인터넷 게이트웨이 역할을 하지 않을 수 있으며 이것이 바로 인터넷에 액세스할 수 없는 이유라고 생각합니다.
해결책은 이 경로를 제거하고 기본 경로만 두고 인터넷 액세스를 제공하는 게이트웨이를 제공하는 것입니다.
여전히 10.0.0.0/8에 있지만 LAN 세그먼트(10.1.22.0/24) 외부에 있는 호스트를 핑하려면 게이트웨이 대상을 10.0.0.0/8로 설정하십시오 default
. 그러면 트래픽 네트워크는 10.0.0.0/8만 됩니다. (인터넷 트래픽 아님)이 이 경로를 통과합니다.
답변2
인터페이스에서 기본 경로를 제거하거나 eth0
최소한 인터넷에 액세스하는 데 사용하려는 인터페이스보다 더 높은 측정항목을 사용해야 합니다. 이제 두 개의 경쟁 기본 경로가 있으며 RPi는 로컬이 아닌 주소로 패킷을 라우팅하기 위해 잘못된 인터페이스를 선택했습니다.
귀하의 질문에는 불일치도 있습니다. 텍스트에서 LAN 을 언급했지만 10.0.0.0/8
라우팅 테이블에는 netmask 255.255.255.0
, 즉 가 있습니다 10.0.0.0/24
.
답변3
/lib/dhcpcd/dhcpcd-hooks에 더 많은 경로를 추가하고 콘텐츠가 포함된 40개의 경로 파일을 추가하여 마침내 설정을 완료했습니다.
ip route add 10.0.0.0/8 via 10.1.22.1
/etc/dhcpcd.conf에 더 많은 줄을 추가하십시오.
interface wlan0
metric 100
interface eth0
metric 200
이제 두 LAN 모두에 ping을 보낼 수 있습니다. 또 다른 문제는 게이트웨이 192.168.10.1에 실제로 IP 주소 10.0.0.0/8이 있다는 것입니다. 예를 들어, 10.0.0.1에서 10.0.0.21까지의 IP 주소는 게이트웨이 10.1.22.1에서 와야 하고, 10.0.0.22에서 10.254.254.254까지의 IP 주소는 192.168.10.1에서 게이트웨이로 이동해야 하며, 이는 또한 인터넷. 그러나 10.1.22.1에는 인터넷이 없습니다(voip 서버 게이트웨이에만 해당).