【初心者向け】LinuxでIPアドレスを確認・設定する方法まとめ

Linux

「Linuxで自分のIPアドレスってどうやって調べるの?」
「固定IPアドレスに変更したいけど、どこを設定すればいいかわからない」
そんな疑問を持つ方は多いのではないでしょうか。

サーバー運用やラズベリーパイの設定、ホームネットワークの構築など、LinuxでIPアドレスを扱う場面は数多くあります。

でも、コマンドや設定ファイルがたくさんあって、どれを使えばいいか迷ってしまいますよね。

この記事では、LinuxでIPアドレスを確認する方法設定する方法を、初心者の方にもわかりやすく解説します。実際のコマンド例や設定ファイルの書き方も詳しく紹介するので、すぐに実践できる内容になっています。

スポンサーリンク

IPアドレスとは?基本的な仕組み

IPアドレスの役割

IPアドレスは、ネットワーク上でコンピューターを識別するための住所のようなものです。

インターネットや社内ネットワークで通信するために、すべてのデバイスにはユニークなIPアドレスが割り当てられています。

プライベートIPとグローバルIPの違い

プライベートIPは、家庭や会社内のネットワークで使われるアドレスです。

以下の範囲で使われます:

  • 192.168.0.0 〜 192.168.255.255
  • 172.16.0.0 〜 172.31.255.255
  • 10.0.0.0 〜 10.255.255.255

グローバルIPは、インターネット上でユニークなアドレスです。
プロバイダーから割り当てられて、世界中どこからでもアクセスできます。

DHCPと固定IPの違い

DHCPは、ルーターが自動的にIPアドレスを割り当てる仕組みです。パソコンやスマホを家のWi-Fiにつなぐと、自動的にIPが設定されるのはDHCPのおかげです。

固定IPは、手動で設定したIPアドレスです。サーバーや特定の機器には、いつも同じIPアドレスを使いたい場合に設定します。

LinuxでIPアドレスを確認する方法

現在主流のコマンド:ip addr

最新のLinuxディストリビューションでは、ipコマンドが標準的に使われています。

基本的な使い方

ip addr

このコマンドを実行すると、次のような出力が表示されます:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/8 scope host lo
    
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP
    inet 192.168.0.101/24 brd 192.168.0.255 scope global dynamic ens33

ここで注目すべきは:

  • lo:ループバックインターフェース(自分自身への通信用)
  • ens33:実際のネットワークインターフェース
  • inet 192.168.0.101/24:IPv4アドレス(192.168.0.101)とサブネットマスク(/24)

IPv4アドレスだけを表示

IPv6アドレスは不要で、IPv4だけを確認したい場合:

ip -4 addr

または

ip -4 addr show

特定のインターフェースだけを表示

特定のネットワークインターフェースの情報だけを見たい場合:

ip addr show ens33

短縮形のコマンド

ipコマンドは短縮して書くことができます:

ip a        # ip addr と同じ
ip -4 a     # ip -4 addr と同じ

従来のコマンド:ifconfig

古いLinuxや、慣れ親しんだ方にはおなじみのifconfigコマンドもまだ使えます。

インストールが必要な場合

最近のLinuxディストリビューションでは、ifconfigがデフォルトで入っていないことがあります。

CentOS/RHEL/Rocky Linux系の場合

sudo yum install -y net-tools

Ubuntu/Debian系の場合

sudo apt update
sudo apt install -y net-tools

使い方

ifconfig

出力例:

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.101  netmask 255.255.255.0  broadcast 192.168.0.255
        ether 00:0c:29:xx:xx:xx  txqueuelen 1000  (Ethernet)

その他の確認方法

hostname コマンド

自分のIPアドレスを簡単に確認:

hostname -I

このコマンドは、すべてのIPアドレスを空白区切りで表示します。

route コマンドでゲートウェイ確認

デフォルトゲートウェイ(通常はルーターのIP)を確認:

ip route

または

route -n

グローバルIPアドレスを確認する方法

自分のサーバーがインターネットからどのように見えているかを確認したい場合があります。

外部サービスを使った確認

基本的な方法

curl ifconfig.me

これで、インターネット上から見た自分のIPアドレスが表示されます。

その他のサービス

curl -4 ifconfig.co
curl ipecho.net/plain
curl icanhazip.com

どのサービスも同じ結果を返しますが、サービスが停止している場合に備えて複数知っておくと便利です。

IPv6アドレスも確認したい場合

curl -6 ifconfig.co

LinuxでIPアドレスを設定する方法

一時的な設定(再起動まで有効)

システムの再起動や、ネットワークサービスの再起動まで有効な設定方法です。テスト用途に適しています。

ip コマンドを使った設定

sudo ip addr add 192.168.0.150/24 dev ens33

この例では:

  • 192.168.0.150:設定したいIPアドレス
  • /24:サブネットマスク(255.255.255.0と同じ意味)
  • ens33:ネットワークインターフェース名

設定を削除する場合

sudo ip addr del 192.168.0.150/24 dev ens33

ifconfig を使った設定(従来の方法)

sudo ifconfig ens33 192.168.0.150 netmask 255.255.255.0

デフォルトゲートウェイの設定

sudo ip route add default via 192.168.0.1

永続的な設定(再起動後も有効)

サーバーとして継続的に使用する場合は、設定ファイルを編集して永続的な設定を行います。

Ubuntu/Debian系:Netplan を使った設定

Ubuntu 18.04以降では、Netplanという新しい設定方法が採用されています。

設定ファイルの場所:

ls /etc/netplan/

通常は01-netcfg.yaml50-cloud-init.yamlなどの名前のファイルがあります。

設定例

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      addresses:
        - 192.168.0.150/24
      gateway4: 192.168.0.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

設定を適用:

sudo netplan apply

設定に問題がないか確認:

sudo netplan try

CentOS/RHEL/Rocky Linux系:ifcfg ファイルの編集

設定ファイルの場所

/etc/sysconfig/network-scripts/ifcfg-ens33

設定例

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.0.150
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4

設定を適用:

sudo systemctl restart network

または

sudo nmcli connection reload
sudo nmcli connection up ens33

古いUbuntu/Debian系:interfaces ファイルの編集

Ubuntu 16.04以前や、Netplanを使わない場合の設定方法です。

設定ファイル

/etc/network/interfaces

設定例

auto ens33
iface ens33 inet static
    address 192.168.0.150
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-nameservers 8.8.8.8 8.8.4.4

設定を適用:

sudo systemctl restart networking

NetworkManager を使った設定

デスクトップ環境やGUIが使えるLinuxでは、NetworkManagerというツールが使えます。

コマンドラインでの設定

# 現在の接続を確認
nmcli connection show

# 新しい接続を作成
sudo nmcli connection add type ethernet con-name static-ip ifname ens33 \
  ip4 192.168.0.150/24 gw4 192.168.0.1

# DNS設定
sudo nmcli connection modify static-ip ipv4.dns "8.8.8.8,8.8.4.4"

# 接続を有効化
sudo nmcli connection up static-ip

IPアドレス設定時のトラブルシューティング

よくある問題と解決方法

ネットワークインターフェース名がわからない

ip link show

または

ls /sys/class/net/

これで利用可能なネットワークインターフェースの一覧が表示されます。

設定が反映されない

ネットワークサービスの再起動

# systemd系の場合
sudo systemctl restart networking

# NetworkManager使用の場合
sudo systemctl restart NetworkManager

インターフェースの再起動

sudo ip link set ens33 down
sudo ip link set ens33 up

IPアドレスの重複

同じネットワーク内で重複したIPアドレスを設定すると通信できません。

確認方法

ping -c 3 192.168.0.150

設定前にpingを実行して、応答がないことを確認しましょう。

DNS設定の確認

名前解決ができない場合は、DNS設定を確認:

cat /etc/resolv.conf

正しいDNSサーバーが設定されているか確認してください。

設定の確認コマンド

現在のIP設定を確認

ip addr show
ip route show

DNS設定を確認

cat /etc/resolv.conf
nslookup google.com

通信テスト

# ローカルネットワーク内の通信
ping 192.168.0.1

# インターネットへの通信
ping 8.8.8.8
ping google.com

実践的な設定例

例1:家庭用サーバーの固定IP設定

家庭のルーターが192.168.1.1で、サーバーに192.168.1.100を割り当てる場合:

Ubuntu(Netplan)の場合

network:
  version: 2
  ethernets:
    ens33:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 192.168.1.1
          - 8.8.8.8

例2:複数IPアドレスの設定

1つのネットワークインターフェースに複数のIPアドレスを設定する場合:

sudo ip addr add 192.168.0.150/24 dev ens33
sudo ip addr add 192.168.0.151/24 dev ens33

Netplanでの設定

network:
  version: 2
  ethernets:
    ens33:
      addresses:
        - 192.168.0.150/24
        - 192.168.0.151/24
      gateway4: 192.168.0.1

例3:DHCPから固定IPへの変更

現在DHCPで動的にIPを取得している環境を固定IPに変更する手順:

  1. 現在のIP設定を確認:
ip addr show
ip route show
  1. 現在使用中のIPアドレス、ゲートウェイ、DNSサーバーをメモ
  2. 設定ファイルを編集(上記の方法を参照)
  3. 設定を適用して動作確認

セキュリティ面での注意点

ファイアウォール設定の確認

IPアドレスを変更した後は、ファイアウォール設定も確認しましょう:

# UFW(Ubuntu)の場合
sudo ufw status

# firewalld(CentOS/RHEL)の場合
sudo firewall-cmd --list-all

SSH接続の注意点

リモートでIPアドレスを変更する場合は、SSH接続が切れる可能性があります。事前に以下を確認してください:

  • 新しいIPアドレスでのSSH接続方法
  • コンソールアクセスが可能かどうか
  • 設定ミス時の復旧方法

設定ファイルのバックアップ

設定変更前には必ずバックアップを取りましょう:

# Netplanの場合
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.backup

# ifcfgの場合
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.backup

まとめ

LinuxでのIPアドレスの確認と設定について、基本から実践的な内容まで解説しました。

重要なポイントをまとめると

  • 確認方法ip addrが現在の主流、ifconfigは従来の方法
  • グローバルIP確認curl ifconfig.meで外部から見たIPを確認
  • 一時的設定ip addr addで再起動まで有効
  • 永続的設定:ディストリビューションごとに設定ファイルが異なる
    • Ubuntu:Netplanを使用
    • CentOS/RHEL:ifcfgファイルを編集

コメント

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