Linux 시스템에서 IP 확인이 어떻게 작동하는지 이해할 수 없습니다. 내 문제를 설명하기 위해 Windows와 Linux의 예를 보여드리겠습니다.
윈도우:
Windows hosts
파일이 비어 있습니다. 댓글만 포함되어 있습니다.
Python 셸에서 다음 명령을 실행합니다.
socket.gethostbyname(socket.gethostname())
192.168.10.105
내 네트워크에 현재 IP 가 있습니다 . 내가 예상했던 대로.
리눅스: Linux에서의 모습은 다음과 같습니다 /etc/hosts
.
127.0.0.1 localhost.localdomain localhost
동일한 Python 명령을 사용하면 리소스를 일시적으로 사용할 수 없다는 오류가 발생합니다. 나는 이것이 내 현재 호스트 이름이 부족한 것과 관련이 있다고 생각합니다 /etc/hosts
. 수동으로 추가하면
127.0.0.1 localhost.localdomain localhost MyHostName
python 명령이 반환됩니다 127.0.0.1
. 이것은 여전히 내가 예상한 것과 다릅니다. 하지만 IP와 호스트 이름을 파일에 추가할 수 있습니다.
127.0.0.1 localhost.localdomain localhost
192.168.10.115 MyHostName
그러나 이것은 확실히 올바른 접근 방식이 아닙니다. DHCP를 사용하면 이 IP가 변경됩니다.
Linux에서 Windows와 동일한 결과를 얻으려면 어떻게 해야 합니까? 내 구성(또는 내 생각)에 어떤 문제가 있나요?
답변1
네트워크 카드에 IP를 할당할 때 실행할 지침이 포함된 파일(/etc/udhcpc/default.script)을 편집할 수 있습니다.
변경할 수 있는 사항은 다음과 같습니다.갱신 |ifconfig 지시문 아래에 섹션을 추가합니다.
echo "127.0.0.1 localhost.localdomain localhost"> /etc/hosts
echo "$i myHostName" > /etc/hosts