IPv6 사용자 정의 루프백 주소 및 다른 호스트에서 핑

IPv6 사용자 정의 루프백 주소 및 다른 호스트에서 핑

호스트 A의 루프백 인터페이스에 사용자 정의 IPv6 주소를 추가하고 호스트 B에서 이를 ping할 수 있습니까?

이와 같은 것을 추가해 보았지만 이 대상은 에 있지만 호스트 A에서 핑할 수 있습니다 ::ffff:5:4:3:2. 예를 들어 이 주소를 에 설정하면 경로에 연결할 수 있지만 여전히 호스트 B에서 "핑할 수 없습니다". 루프백에 어떤 주소가 허용되는지, 왜 내 맞춤 주소에 연결할 수 없는지 이해가 되지 않습니다. 호스트 A에서 핑을 보낼 수 있는 이유와 IPv6를 활성화하는 방법 .ip -6 routeunreachableerror 101tap0route_localnetrp_filter

운영 체제: ArchLinux, 커널 4.10.

저는 IPv4 방식을 알고 있지만 IPv6은 완전히 다르게 작동합니다.

답변1

예. IPv4를 사용하여 이를 수행할 수 있으므로 이를 라우팅이라고 합니다. 한 호스트에게 다른 호스트에 연결하는 방법을 알려주어야 합니다.

두 개의 호스트 A와 B가 있다고 가정합니다.

::1호스트 A에는 루프백 인터페이스의 기본 루프백 주소와 사용자 정의 주소가 있습니다. (제 예에서 사용자 정의 주소는 입니다 fd56:dcaa:2099::1. 고유 로컬 주소에서 이 주소를 선택했습니다.ULA 주소 사용그러한 목적으로. )

호스트 A에는 이더넷 인터페이스도 있습니다. 이를 이라고 부르겠습니다 eth0. IPv6에서는 IPv6 링크-로컬 주소를 갖게 됩니다. 다른 IPv6 주소가 있을 수 있습니다. 를 실행하여 이를 찾을 수 있습니다 ip -6 addr eth0. 내 시스템의 예는 다음과 같습니다.

$ ip -6 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2601:404:ce00:adc0:9d6c:9e16:a9a9:b03b/64 scope global temporary dynamic 
       valid_lft 593594sec preferred_lft 74600sec
    inet6 2601:404:ce00:adc0:bc87:129a:ed5d:814/64 scope global temporary deprecated dynamic 
       valid_lft 78769sec preferred_lft 0sec                                                                                                                                                                                      
    inet6 2601:404:ce00:adc0:1453:3734:6742:4500/64 scope global mngtmpaddr noprefixroute dynamic                                                                                                                                 
       valid_lft 2591820sec preferred_lft 604620sec                                                                                                                                                                               
    inet6 fe80::5520:a68f:5416:a68c/64 scope link                                                                                                                                                                                 
       valid_lft forever preferred_lft forever

이 목록에는 4개의 서로 다른 주소가 있습니다(더 있을 수도 있음). 우리의 목적을 위해서는 그 뒤에 "범위 링크"가 필요합니다. 내 시스템에서 (그리고 내 예에서도) 그것은 fe80::5520:a68f:5416:a68c.

호스트 B에는 인터페이스도 있습니다 eth0. 호스트 B가 호스트 A의 특수 루프백 주소에 도달할 수 있도록 하려면 호스트 B는 이를 어디서 찾을 수 있는지 알아야 합니다. 호스트 B의 라우팅 테이블에 항목을 추가하면 됩니다.

# ip route add fd56:dcaa:2099::1 via fe80::5520:a68f:5416:a68c dev eth0

우리가 하고 있는 일은 호스트 B의 커널에게 fd56:dcaa:2099::1(루프백 인터페이스의 호스트 A의 특수 주소) (인터페이스의 호스트 A의 링크 로컬 주소 )에 도달할 수 있지만 호스트 B는 액세스를 시도해야 한다는 것입니다 fe80::5520:a68f:5416:a68c(호스트 A의 링크 로컬 주소). 루프백 인터페이스에서 )eth0fe80::5520:a68f:5416:a68c호스트 B의 eth0상호 작용. (이것은 링크-로컬 주소의 까다로운 점입니다. 주소 자체는 주어진 네트워크 세그먼트의 컨텍스트 내에서만 의미가 있습니다. 자세한 내용은 OSI 네트워크 모델을 연구하십시오.)

호스트 B가 라우팅 테이블에 항목을 가지면 이제 호스트 B가 해당 주소에 도달하기 위해 호스트 A의 링크 로컬 주소를 라우터로 사용한다는 것을 알고 있으므로 호스트 B에서 호스트 A의 사용자 정의 주소를 ping할 수 있어야 합니다.

답변2

루프백 주소와 인터페이스가 단일 호스트에 있기 때문입니다. 다른 장치와의 통신에는 적합하지 않습니다.

관련 정보