Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

Linuxで外部IPアドレスを確認する方法:すべてのディストリビューションで使える簡単な手順

LinuxにはIPアドレスを調べるためのコマンドラインツールが数多く存在しますが、そのほとんどはデバイスに割り当てられたローカル(内部)アドレスを表示するものです。Webサイトから見える「外部IPアドレス」を確認したい場合は、外部サーバーに問い合わせるコマンドを使う必要があります。幸い、最近のLinuxディストリビューションならこの操作は非常に簡単です。プロキシを使用している場合や、ブラウザの高度な設定を行っている場合には特に役立つテクニックです。

まずはターミナルを開きましょう。Ctrl + Alt + T を同時に押すか、Unityダッシュから「Terminal」を検索して起動できます。KDEやLXDEユーザーの場合は、アプリケーションメニューから「システムツール」→「端末(Terminal)」を選択してください。どの方法で起動しても構いませんが、root権限は不要ですし、使用しているシェルの種類もほとんど影響しません。ここで使うパッケージの多くは、現在一般的なGNU/Linux環境にデフォルトでインストールされています。

方法1:外部IPv6アドレスを確認する

現代のネットワークの大多数では、旧式のIPアドレスよりも長く、より安全で柔軟なIPv6規格が採用されています。お使いのシステムのIPv6アドレスを確認するには、次のコマンドを入力してEnterキーを押します。

nc 6.ifcfg.me 23 | grep –colour=never IP

やや長いコマンドなので、コピー&ペーストすると便利です。ターミナルへの貼り付けは、「編集」メニューから「貼り付け」を選ぶか、Shift + Ctrl + V を同時に押します。ディストリビューションやターミナルエミュレータによっては、マウスの中ボタンクリックで貼り付けられる場合もあります。クリップボードにコピーした後、Enterキーを押せば実行されます。

コマンドを実行すると、16進数のグループ8個からなる長い文字列が表示されるはずです。これがあなたの外部IPv6アドレスです。このコマンドはいつでも実行でき、外部アドレスが変化したかどうかを確認できます。たとえば、Linuxタブレットをレストランや図書館の公衆Wi-Fiに接続すれば、アドレスは変化します。頻繁に実行する予定があるなら、シェルスクリプトに組み込んでおくのもよいでしょう。ISPから動的IPアドレスを割り当てられている場合は、いずれ変化する可能性があります。通常は比較的固定されていますが、万が一に備えて監視しておくのに最適な方法です。

方法2:外部IPv4アドレスを確認する

IPv4は古い規格ですが、今なおネットワーク業界で広く使われています。このアドレスを確認するには、コマンドライン用のWebブラウザを利用します。Linuxの設定によっては2回試す必要があるかもしれませんが、いずれの場合もコマンド1つだけで答えが得られます。まずは次のコマンドを入力してEnterキーを押してみてください。

w3m -dump whatismyip.akamai.com

実行すると、余計な情報なしに外部IPアドレスだけが表示され、プログラムは自動的に終了してプロンプトに戻ります。

「w3mがインストールされていない」というエラーが表示された場合は、パッケージをインストールしてもよいですが、まずは次のコマンドを試してみてください。

curl -s https://whatismyip.akamai.com/

curlがすでにインストールされていれば、同じようにシンプルな出力が得られます。うまく動作したコマンドをbashシェルスクリプトに追加することもできますし、方法1のコマンドと同じように必要なときにいつでも手動で実行することも可能です。もちろん、どちらのパッケージも入っていない場合はインストールすればOKです。とはいえ、ネットワーク作業をするLinuxユーザーの多くは、少なくともどちらか一方を持っているはずです。

注意:IPアドレスの表示例について

いくつかの要因により、実際に表示されるIPアドレスは例として挙げたものと多少異なる場合があります。地域やネットワークによっては、アドレス計算に使われる通常のマスクに独自の表記や省略形が加わることがあるためです。本記事のスクリーンショットで使用したのは、プロキシサーバー経由で動作する仮想マシンのダミーアドレスです。そもそも実際の外部IPアドレスをオンラインで公開してはいけないため、例示の際にはこのような配慮をしています。


著者について

Kevin Arrows(ケビン・アローズ)

Kevin Arrowsは、10年以上の業界経験を持つ高度な技術スペシャリストです。Microsoft Certified Technology Specialist(MCTS)資格を保有し、最新の技術動向を追いかけることに強い情熱を持っています。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い技術分野について数多くの記事を執筆しており、複雑な技術的概念を明快かつ簡潔に説明する能力で高く評価されています。その貢献は業界内で広く認められ、同業者からも厚い信頼を得ています。

  1. WinSCPでLinuxファイルを安全に管理するためのACL(アクセス制御リスト)活用ガイド

    WindowsのデスクトップPC、シンクライアント、ノートパソコン、モバイルデバイスのユーザーは、WinSCPクライアントを利用してLinuxサーバーに接続し、ファイル転送を行うことができます。ただし、その際には基本的なPOSIXの概念に従い、標準的なUnixファイル権限を遵守する必要があります。WinSCPは非常に強力なソフトウェアであり、重要なメタデータの編集や、リモートディレクトリへのファイルの追加・削除なども自由に行えます。しかし、WinSCPには弱点もあります。それは、Linuxディレクトリに設定されたアクセス制御リスト(Access Control List:ACL)を認識できない

  2. 【Bash入門】スペースを含むファイル名を正しく扱う方法|クォートとエスケープの使い方

    Linuxには、システム上でコマンドを実行するためのデフォルトシェルとしてBash(Bourne Again Shell)が搭載されています。Bashは柔軟性が高く、強力なコマンドラインインタプリタを提供するため、多くのプログラマーがcmdよりもBashを好んで使用しています。しかし、スペースを含むファイル名を渡そうとすると、多くのユーザーがつまずいてしまいます。これは、Bashにおいてスペースがファイル名内のスペースとは異なる意味を持つように解釈されるためです。 なぜBashはスペースを含むファイル名を正しく認識しないのか? Bashでは、エスケープ文字(\)や引用符なしに複数の単語を入力す