Linux Route에서 'linkdown'과 'onlink'의 의미는 무엇입니까?

Linux Route에서 'linkdown'과 'onlink'의 의미는 무엇입니까?

내가 입력했을 때 ip route show: IP 경로 쇼

실제로은 무슨 linkdown뜻인가요? 가끔은 아직도 볼 수 있어요 onlink. 또한 무슨 뜻인지 알고 싶습니다 onlink.

라우팅 우선순위에 영향을 미치나요? 예를 들어 그림에서 기본 경로가 2개인 경우

답변1

linkdown테이블에 있고 해당 DOWN상태의 인터페이스를 통해 나가도록 구성된 경로에 대해 표시되는 상태입니다. 다음을 실행하여 이를 확인할 수 있습니다.

ip a

인터페이스의 상태를 찾고 있습니다. 내 노트북에는 Wi-Fi가 켜져 있고 이더넷 어댑터가 분리되어 있으므로 다음과 같이 표시됩니다.

wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000

내 라우팅 테이블에는 여러 경로가 있지만 몇 가지 쓰레기 경로를 추가할 수 있습니다.

sudo ip route add 192.168.123.0/24 dev enp0s25
sudo ip route add 192.168.124.0/24 dev wlp3s0

그러면 내 테이블 linkdown에 이더넷 경로가 표시됩니다.

 192.168.123.0/24 dev enp0s25 scope link linkdown 
 192.168.124.0/24 dev wlp3s0 scope link 

onlink이는 라우팅이 "인터페이스 접두사와 일치하지 않더라도 다음 홉이 이 링크에 직접 연결된 것으로 가정"해야 함을 의미합니다. 따라서 테이블에 있는 가짜 항목도 만들 수 있습니다.

sudo ip route add 192.168.125.0/24 via 192.168.123.111 dev wlp3s0 onlink

이제 라우팅 테이블에 다음이 표시됩니다.

192.168.123.0/24 dev enp0s25 scope link linkdown 
192.168.124.0/24 dev wlp3s0 scope link 
192.168.125.0/24 via 192.168.123.111 dev wlp3s0 onlink 

다운 인터페이스에 연결하면 멋져지고 두 가지를 모두 가질 수도 있습니다.

192.168.126.0/24 via 192.168.123.111 dev enp0s25 onlink linkdown

답변2

linkdown테이블에 있고 해당 DOWN상태의 인터페이스를 통해 나가도록 구성된 경로에 대해 표시되는 상태입니다.

onlink옵션이 실제로 무엇을 하는지 알아보기 위해 예를 들어보겠습니다 .

eth0(귀하의 컴퓨터에서) IP 주소/마스크를 192.168.0.1/24로 구성했습니다 .

eth0어떤 이유로 인해 구성이 일관되지 않은 물리적 LAN에서 게이트웨이를 사용하려고 합니다 . 주소가 10.0.10.1/24라고 가정해 보세요. 이 주소는 여러분의 컴퓨터에 제공한 192.168.0.1/24 구성과 일치하지 않습니다.

당신이 말하는 경우:

ip route add default dev eth0 via 10.0.10.1

그러면 오류 응답(네트워크에 연결할 수 없음 등)이 표시됩니다.

왜? (엄격히 말해서) LAN에 10.0.10.1 머신을 두는 것은 의미가 없습니다 eth0. 컴퓨터에 이 LAN의 네트워크 주소가 192.168.0.0/24라고 지정했기 때문입니다.

onlink하지만 다음과 같은 결과가 나옵니다. 다음과 같이 명령에 추가하면 :

ip route add default dev eth0 via 10.0.10.1 onlink

그러면 경로가 승인됩니다.

onlink그러나 이제 우리는 또 다른 질문에 직면하게 됩니다. 패킷이 이 게이트웨이 로 라우팅되어야 하는 경우 커널은 무엇을 합니까 ?

실험을 통해 확인한 결과는 다음과 같습니다. 커널은 사용자가 구성한 게이트웨이 eth0인 "10.0.10.1이 있는 사람"을 묻는 LAN 에서 arp 요청을 보냅니다. onlink응답을 받으면 커널은MAC 주소패킷을 보낼 수 있는 곳으로 라우팅이 수행됩니다.

즉, 게이트웨이 주소가 컴퓨터의 LAN 구성과 일치하지 않는 경우( ) 명령문에 eth0추가하여 커널이 이 게이트웨이를 사용하도록 강제할 수 있습니다 .onlink

이 기능을 사용해야 하는 상황은 매우 드물다고 생각합니다. 온라인링크 옵션이 필요한 상황은 대부분 네트워크 설계가 좋지 않은 경우입니다. 나는 평균적인 터널 설정도 필요하지 않다고 생각합니다 onlink.

답변 출처:여기

관련 정보