Linuxシステムでは、IP検証がどのように機能するのか理解できません。私の問題を説明するために、WindowsとLinuxの例を見てみましょう。
Windows:
Windowshosts
ファイルが空です。コメントのみが含まれています。
Pythonシェルで次のコマンドを実行します。
socket.gethostbyname(socket.gethostname())
192.168.10.105
私のネットワークには現在IPがあります。私が期待したように。
Linux: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