結論
/etc/hostsファイル内で以下のように自分のPC名のホスト名が127.0.1.1に指定されているので固定IPに書き換える
127.0.0.1 localhost 127.0.1.1 <自分のPC名>
詳細
Ubuntu 上にて Python で Flask を使ってサーバーを立てるためのコードを書いている際に
host = socket.gethostname() ADDRESS = socket.gethostbyname(host)
というコードでホストのローカルIPアドレスを取得しようとしていました。 しかし、上記のコードを実行して返ってくるアドレスは
127.0.1.1
で、一体なぜだ?となっていたのですが、色々調べていくうちに/etc/hostsファイル内で以下のようにホスト名が127.0.1.1に指定されていることが判明しました。
127.0.0.1 localhost 127.0.1.1 <自分のPC名> ←これが原因
なぜこうなっているかを調べたところ以下のような記事を発見しました。
どうもDebian系OSの仕様バグっぽいですね。 記事内では
固定IPアドレスが存在する前提で動くシステム/ツール/アプリが不具合を起こすので、回避法として、とりあえず、127.0.1.1を割り当てることが決定、実装されました。
と言及されています。
とりあえず、自分は/etc/hosts内のホスト名を固定IPアドレスに変更して対処しました。