소프트웨어로 완전히 구현 된 가상 네트워크 장치입니다.
그러나이 구현은 실제로 어떻게 이루어지고 어떻게 조작합니까?
내가 아는 한 IP는 로컬 라우팅 테이블에서 로컬로 표시됩니다.
ip route show table local
로컬로 표시된 IP로 전송하면 루프백 장치가 트리거됩니다. 그러나이 탐지는 순전히 라우팅 테이블이나 다른 커널 작업에 의해 수행됩니까?
편집 : 나의 궁극적 인 목표는 루프 장치 구성을 조작하여 랩톱의 인터페이스 (두 개의 WLAN 어댑터)간에 데이터 그램을 보내면 로컬 루프가 아닌 네트워크에서 실제 트래픽 / 데이터 그램이 발생하도록하는 것입니다. 인터페이스 1-> WLAN-> 인터페이스 2 및 NOT : 인터페이스 1-> LOOP-> 인터페이스 2
답변
라우팅 테이블을 통해 완전히 처리됩니다.
당신이 재미를 원한다면 가상 머신에서 시도하는 것은 매우 쉽습니다. 나는 당신이 이것을 시도하는 기계에서 일어날 수있는 일에 대해 책임을지지 않습니다.
먼저 넷 마스크 lo
를 255.255.0.0으로 변경해 보겠습니다 .
sudo ip addr del 127.0.0.1/8 dev lo; sudo ip addr add 127.0.0.1/16 dev lo
이제 우리를 보자 lo
.
$ ip -4 addr show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
inet 127.0.0.1/16 scope host lo
127.1.1.1로가는 패킷은 어디로 갈까요?
$ sudo ip route get 127.1.1.1
127.1.1.1 via 172.16.22.2 dev eth0 src 172.16.22.130
cache mtu 1500 advmss 1460 hoplimit 64
다른 터미널에서 핑을 시작합니다.
$ ping 127.1.1.1
eth0에서 ICMP 트래픽을 모니터링 해 봅시다 :
$ sudo tcpdump -i eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes
07:28:42.060077 IP 172.16.22.130 > 127.1.1.1: ICMP echo request, id 5665, seq 4, length 64
07:28:43.059920 IP 172.16.22.130 > 127.1.1.1: ICMP echo request, id 5665, seq 5, length 64
lo
원격 컴퓨터 의 넷 마스크 를 255.255.0.0으로 변경하고 IP 주소 127.1.1.1을 네트워크 인터페이스에 추가하는 연습을하겠습니다. ICMP 응답이 다시 오는 것을 볼 수 있습니다. 라우터가 제대로 재생되지 않을 수 있습니다.