tun 인터페이스의 IP 주소는 무엇에 사용됩니까?

tun 인터페이스의 IP 주소는 무엇에 사용됩니까?

--ifconfig지점간 터널 인터페이스에 대한 로컬 및 피어 IP 주소를 구성하는 옵션입니다. 필수 구성 옵션입니다.오픈VPN. 그러면 로컬 및 피어 IP 주소는 무엇을 위해 사용됩니까? 내가 생각할 수 있는 유일한 목적은 이러한 IP 주소를 사용하여 트래픽을 터널로 라우팅할 수 있다는 것입니다. 예를 들어 피어 IP 주소는 어디에 있습니까 ip route add 10.10.3.0/24 via 192.168.1.2 dev tun0? 192.168.1.2그러나 지점 간 링크의 경우 트래픽을 인터페이스로 직접 라우팅하는 것이 가능해야 합니다 ip route add 10.10.3.0/24 dev tun0.

답변1

역사적으로 IPv4에서는 번호가 지정되지 않은 인터페이스가 불가능했습니다. 지점간 인터페이스를 구성하는 유일한 방법은 로컬 및 원격 주소를 사용하는 것입니다. 문제의 지점간 인터페이스를 통해 다른 IP 주소를 라우팅하는 유일한 방법은 인터페이스의 원격 주소를 게이트웨이로 사용하여 경로를 설치하는 것입니다( route명령이나 커널에는 인터페이스 이름으로 대상을 지정하는 옵션이 없습니다). ). 그 당시에는 SLIP 연결에서 인터페이스 주소로 사용되는 귀중한 IP 주소를 많이 볼 수 있었습니다.

지금도 IPv4 인터페이스에는 해당 인터페이스에서 발생하는 ICMP 오류에 대한 소스 주소 역할을 하는 경우에만 최소한 어떤 유형의 주소가 구성되어 있어야 합니다(이것은 traceroute라우터에서 어떤 인터페이스가 통과되고 있는지 감지하는 방법입니다).

하지만 당신은 무엇할 수 있는지금 해야 할 일은(역사적으로는 할 수 없었던 일) 인터페이스를 번호 없이 만드는 것입니다. 이는 시스템의 다른 인터페이스와 동일한 IP 주소를 제공한다는 의미입니다. 일반적으로 안정적이고 항상 켜져 있는 인터페이스(예: 루프백 인터페이스 또는 라우터의 "기본" 인터페이스)가 IP 주소 공급자 역할을 합니다. 원격 IP 주소는 전혀 제공할 필요가 없습니다(단, 다음 단락 참조). 아시다시피 원격 IP 주소가 지정되지 않은 경우 ip route ... dev <interface>대신 ip route ... via <address>인터페이스로 트래픽을 전달하는 데 사용할 수 있습니다. 전체적으로 보면 IP 주소가 크게 절약될 수 있습니다. (여담이지만 UNIX에서는 로컬 IP 주소가 고유하지 않다는 사실에 번호가 없는 인터페이스가 암시되어 있는 반면 Cisco IOS와 같은 다른 운영 체제에서는 매우 명시적입니다. 명령은 입니다 ip unnumbered <donor-interface-name>.

그럼에도 불구하고 OpenVPN에서는 원격 IP 주소를 지정하는 것이 선택 사항이 아닌 것으로 보입니다. 그러나 임의의 원격 주소를 지정할 수 있습니다. 예를 들어, 터널의 반대쪽 끝이 다른 라우터인 경우 원격 라우터의 루프백 또는 "기본" IP 주소(기본적으로 원격 측의 번호가 지정되지 않은 구성 반영)를 사용하여 터널의 IP 주소를 소비하지 않을 수 있습니다. 라우팅 테이블을 조금 보기 흉하게 보이게 만들고 싶다면 실제로 완전히 가짜 IP 주소를 ifconfig 원격 주소로 사용할 수 있습니다. 모든 것이 잘 작동하고 가짜 주소는 어디에도 표시되지 않습니다(추적 경로에서도).

관련 정보