2009-10-26 4 views
2

Linux 시스템의 루프백 네트워크 어댑터가 항상 'lo'라고 가정하는 것이 안전합니까? 준수하지 않을 수도있는 이름 지정 규칙 일 수도 있고 항상 대소 문자를 사용해야 할 수도 있습니다 ?Linux의 루프백 어댑터 이름

답변

7

lo 이외의 다른 모든 루프백 인터페이스가있는 Linux 시스템을 모르겠습니다. 필자는 시스템 특정 스크립트를 작성하면이 명명 규칙을 사용하지만 휴대용 프로그램을 작성하지는 않습니다. 예를 들어, OSX의 루프백은 lo0입니다.

C에서 안정적인 방법은 각각 하나 SIOCGIFFLAGSioctl를 호출하는 인터페이스 반복 소켓에 SIOCGIFCONFioctl를 호출하고, 인터페이스는 IFF_LOOPBACK 플래그가 설정된 검사는 (/usr/include/linux/if.h 참조).

SIOCGIFCONF 또한 인터페이스 이름을 제공합니다.

+1

이것은 시스템에 IPv4 ("127.0.0.1") 주소를 구성 할 필요가 없다는 장점이있는 것으로 보입니다. – ndim

1

내 경험에 의하면 일반적인 이름이지만 항상 그렇게 신뢰하지 않아야합니다. 어쩌면 인터페이스를 열거하고 주소가 127.0.0.1 인 인터페이스를 찾으려면 어떻게해야할까요?

-1

RFC3330은 항상 루프백 서브넷이되도록 127.0.0.0/8을 정의합니다.

그러나 localhost의 사용은 Windows에서 c:\windows\system32\drivers\etc\hosts/etc/hosts의 Windows에서 정의 된 것은 전적으로 규칙입니다. 또한 lo이라는 이름은 Linux의 인터페이스에 지정된 일반적인 이름입니다.

절대적으로 확실해야하는 경우 127.0.0.1을 사용하십시오.

+1

RFC3330은 루프백 주소의 서브넷으로 127.0.0.0/8을 정의합니다. 약 127.0.0.1에서 일반적으로 말하는 것은 루프백 주소로 사용된다는 것입니다. 원하는 경우 127.0.1.1을 루프백 주소로 사용할 수 있습니다. -1 링크 된 RFC를 읽지 않은 다음 잘못된 조언을하는 경우. – camh

1

사실 꽤 오래된 컨벤션입니다. 실제로 리눅스 박스/디스 트 로프는 아직 보지 못했지만, 'lo'는 아닙니다.

그러나 * nix 시스템의 장치 이름은 매우 다양하므로 변경 될 수 있습니다. 이식성을 원하면 표준을 사용하십시오 (이 경우, 127.0.0.1).

1

인터페이스는 당신이 원하는 무엇이든에 이름을 바꿀 수 있습니다 -하지만 루프백 인터페이스가 매우 바보되고있는 이름을 바꾸고 가치 사람은 휴무 시스템 :

예,이 인터페이스를 열거하고, 자신의 이름을 얻을 수있을 수 있습니다. 그러나 아마 "lo"가 될 것이라고 가정하는 것이 쉽습니다.

0

127.0.0.1을 사용하면 아마도 실패 할 수 있습니다.