hosts 관련 질문입니다..
글쓴이: joongone / 작성시간: 화, 2005/05/17 - 1:32오후
서버의 /etc/hosts 파일의 내용은
2xx.3x.2x.1xx aaa.bbb.com
127.0.0.1 aaa.bbb.com aaa localhost.localdomain localhost
이거 입니다.
서버의 IP주소를 뿌려주는
java -cp ViewIP.jar ViewIP
을 실행하면 실행 결과가
This System's IP Address : 2xx.3x.2x.1xx
로 나와야하는데
This System's IP Address : 127.0.0.1
으로 나옵니다..
제가 원하는 값을 가지기 위한 방법이 없을까요??ㅜㅜ
Forums:
네트웍 인터페이스 확인라우팅 테이블 확인 하시면 거의 나오지 않을까
네트웍 인터페이스 확인
라우팅 테이블 확인 하시면 거의 나오지 않을까 싶습니다.
Debian Spirit !!!
Re: hosts 관련 질문입니다..
위의 설정 대신에, 특별한 사정이 없다면,
와 같은 일반적인 방식으로 설정하시면 될 것으로 보입니다.곧, aaa.bbb.com이 유일한 IP 주소로 매핑될 수 있도록 설정하는 것입니다.
시스템에게 혼동을 주지 않기 위함입니다.
일반적으로는 시스템의 HOSTNAME을 파악한 후 이 HOSTNAME을 인자로 하여 IPv4의 경우에는 gethostbyname(host_name) 함수를 주로 사용합니다.
이 함수를 구현하거나 시스템의 함수를 사용하는 경우에는 (시스템 환경 설정에 따라 그 순서가 다를 수 있지만) 일반적으로는
1. Caching 데몬이 구동되고 있으면, 그 cache에서, 2. (cache에 존재하지 않는 경우) /etc/hosts에서
IP 주소를 파악하여 리턴하는 동작을 수행합니다.3. 모두 존재하지 않는 경우, DNS 질의를 통해서
여기에서 Caching 데몬은 주로 'nscd'의 이름을 갖습니다.
nscd : 'name service cache daemon'
서버 시스템 자신의 IP 주소만을 파악하는 것이 목적이라면, 위의 /etc/hosts 파일에서
aaa.bbb.com에 대한 IP 주소가 유일하도록 설정하는 것으로 원하는 결과를 얻을 수 있을 것입니다.
단, 주의하실 사항은 서버에 nscd와 같은 caching 데몬이 구동되고 있다면,
/etc/hosts 파일의 설정을 변경한 후에 nscd 데몬을 restart하고 나서 그 결과를 확인해야 합니다.
nscd가 가진 이전의 cache된 데이터가 먼저 조회될 수 있기 때문입니다.
-----------------------------------------------
[/]말씀 하신데로 nscd 을 끄고 했는데도 그러네요.ㅜㅜ혹시 다른
말씀 하신데로 nscd 을 끄고 했는데도 그러네요.ㅜㅜ
혹시 다른 방법은 아시는것이 없으시나요?? ㅜㅜ
[quote="joongone"]말씀 하신데로 nscd 을 끄고 했는데도
역시 이전과 동일하게 127.0.0.1이 출력되고 있다면, 시스템의 hostname 환경설정을 확인해 볼 필요성이 있는 것으로 추정됩니다.
위의 명령으로 시스템 자신이 인식하고 있는 자신의 HostName 설정 값을 확인해 보시기 바랍니다.
만일 `hostname` 명령에 의해 'aaa.bbb.com' 또는 'aaa'가 출력되지 않고, 다른 값이 출력된다면 위와 같은 오동작 결과가 나올 수도 있습니다.
이는 앞서 설명드렸던, 시스템 자신의 IP 주소를 파악하기 이전에 시스템 자신의 HOSTNAME 값이 필요한 것에 연유하는 것으로,
만일 이 HOSTNAME이 전혀 엉뚱하게 지정되어 있는 상태라면, 시스템 자신의 IP 주소를 정확히 파악할 수 없게 됩니다.
만일, `hostname`에 의해 출력되는 값이 'aaa.bbb.com'이나 'aaa'가 아니라면, 다음과 같이 시스템의 HOSTNAME을 변경 설정하시면 됩니다.
그리고 위와 같이 명령어에 의한 설정은 시스템이 동작 중에만 유효하며 위 설정에 의해 문제가 해결되었다면, 시스템 configuration 파일에 반영해 주셔야 합니다. 시스템이 재부팅되는 경우에 이 설정이 반영되어 시스템이 running될 수 있도록 하기 위함입니다.
configuration 파일은 시스템 OS마다 상이하므로, 사용하고 계신 OS에서 요구하는 설정을 해 주시면 됩니다.
참고하시기 바랍니다...
PS> ViewIP.jar가 어떤 방식으로 IP 주소를 파악하는 알고리듬을 가졌는지는 아직 확인할 수는 없습니다. 사실 시스템의 IP를 파악하는 방법이 여러가지 가능한데, 보편적으로 모든 Unix 시스템 상에서 동작하도록 구현했다면, 위에 설명한 방식을 따라 시스템 OS가 제공하는 API를 사용하여 구현했을 것으로 여겨집니다.... 만일, 이러한 구현방식을 떠나 직접 네트워크 인터페이스에 접근해서 IP 정보를 파악하는 방식이라면, 위의 설명이 적합하지 않게 됩니다... OS마다 네트워크 인터페이스 구조가 다르므로 이러한 방식으로 구현하지는 않았을 거라 여길 뿐입니다.
------------------------------------------------------
댓글 달기