Alpine LinuxでIPアドレスを確認する方法|軽量ディストリ向けネットワークチェック

Linux

軽量で人気があるLinuxディストリビューション「Alpine Linux」。

Dockerコンテナや小型サーバーで使う方が増えていますが、最初につまずきやすいのが「IPアドレスの確認方法」です。

DebianやCentOSと少しコマンドの挙動が違うため、慣れていないと「どのコマンドでIPを調べればいいの?」と戸惑うかもしれません。

この記事では、Alpine LinuxでのIPアドレス確認方法をわかりやすく説明し、さらにネットワークトラブルの簡単な切り分け方まで紹介します。

スポンサーリンク

Alpine LinuxでIPアドレスを確認する基本コマンド

ipコマンドが標準の確認方法

Alpine Linuxでは、標準でiproute2パッケージがインストールされており、ifconfigは入っていないことが多いです。

そのため基本的にはipコマンドを使用します。

実際のコマンド例

ip addr

または短縮形で:

ip a

このコマンドを実行すると、ネットワークインターフェースの情報が一覧で表示されます。

出力例の見方

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.5/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever

この出力で重要なのは、inetに続く192.168.1.5の部分です。これがそのインターフェースのIPアドレスになります。

特定のインターフェースのみを確認する方法

すべてのインターフェースではなく、特定のものだけを見たい場合は次のコマンドを使います:

ip addr show eth0

eth0の部分は、環境によってens3wlan0などに変わる場合があります。

ifconfigコマンドを使用する方法

ifconfigはデフォルトでは利用できない

他のLinuxディストリビューションでよく使われるifconfigコマンドは、Alpine Linuxではデフォルトでインストールされていません。

BusyBox版の簡易的なものが入っている場合もありますが、詳細な情報を得るにはnet-toolsパッケージをインストールする必要があります。

net-toolsのインストール方法

apk add net-tools

インストール後は、従来のLinuxと同様に使用できます:

ifconfig

または特定のインターフェースのみを確認:

ifconfig eth0

スクリプト向けのIPアドレス抽出方法

IPアドレスのみを取得するコマンド

シェルスクリプトなどでIPアドレスの値だけが必要な場合は、以下のようなワンライナーが便利です:

ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

このコマンドの説明:

  • ip -4:IPv4アドレスのみを対象
  • addr show eth0:eth0インターフェースの情報を表示
  • grep -oP:Perlの正規表現でマッチした部分のみを出力

より簡単な抽出方法

正規表現が複雑に感じる場合は、このような方法もあります:

ip route get 1 | awk '{print $7}' | head -1

これは、デフォルトルート経由でのIPアドレスを取得する方法です。

ネットワークトラブルの診断と切り分け

外部への疎通確認(ping)

IPアドレスは取得できているのに「インターネットに接続できない」という場合は、まず外部への疎通を確認します:

ping -c 4 8.8.8.8

このコマンドでGoogleのパブリックDNSサーバーに4回pingを送信します。応答があれば、基本的なネットワーク接続は問題ありません。

DNS名前解決の確認

IP直打ちでは通信できるが、ドメイン名での通信ができない場合はDNSの問題が考えられます:

ping -c 4 google.com

もしこのコマンドが失敗する場合は、/etc/resolv.confファイルを確認しましょう:

cat /etc/resolv.conf

DNSサーバーが正しく設定されているかをチェックします。

ルーティングテーブルの確認

より詳細なネットワーク診断が必要な場合は、ルーティングテーブルを確認します:

ip route

または:

route -n

デフォルトゲートウェイが正しく設定されているかを確認できます。

よくある質問と解決方法

なぜifconfigが使えないの?

Alpine Linuxは軽量性を重視しているため、使用頻度の低いパッケージはデフォルトでインストールされていません。ifconfigを含むnet-toolsも同様です。

DockerコンテナでIPが確認できない場合

Dockerコンテナ内でIPアドレスを確認する場合、ホストとは異なるネットワーク設定になっています:

# コンテナ内のIPアドレス確認
ip addr show eth0

# ホストからコンテナのIPを確認
docker inspect コンテナ名 | grep IPAddress

Alpine Linuxでネットワーク設定ファイルはどこにある?

Alpine Linuxでは、ネットワーク設定は以下のファイルで管理されています:

  • /etc/network/interfaces:インターフェース設定
  • /etc/resolv.conf:DNS設定
  • /etc/hostname:ホスト名設定

まとめ

Alpine LinuxでのIPアドレス確認は、以下のポイントを押さえておけば問題ありません:

  • 基本はip addrコマンド(短縮形はip a
  • ifconfigを使いたい場合はapk add net-tools
  • トラブル診断にはpingとDNS確認が有効
  • スクリプト用にはIPアドレス抽出コマンドを活用

コメント

タイトルとURLをコピーしました