このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linux基礎:ネットワークの設定と管理

ネットワークの設定と管理

 Linux システムを利用する上で、ネットワークの設定と管理は非常に重要な役割を持ちます。サーバやクライアント PC が正しく通信できるためには、ホスト名や IP アドレス、DNS などの基本的な設定を正しく行う必要があります。また、ネットワークの動作確認やトラブルシューティングを行うためには、インタフェース情報、ポート、ルーティングテーブルを確認することが欠かせません。

 ここでは、Rocky Linux を例に、ネットワーク設定に関わる主要な設定ファイルや管理コマンドについて詳しく解説します。特に /etc/hostname/etc/hosts/etc/resolv.conf の役割、そして ipssroute コマンドなどの活用方法を理解することで、効率的なネットワーク管理が可能となります。

1.ネットワーク設定ファイル

1.1. /etc/hostname

 システムのホスト名を指定するファイルです。ホスト名はコンピュータを識別する名前で、システム内部やネットワーク上で利用されます。

【例】/etc/hostname

[user@rocky9 ~]$ cat /etc/hostname 
rocky9

ホスト名を確認するコマンド

hostname

出力例

[user@rocky9 ~]$ hostname
rocky9

変更後は再起動、または hostnamectl set-hostname コマンドで反映可能です。

1.2. /etc/hosts

 IP アドレスとホスト名を対応付けるファイルです。DNS サーバを利用せずに名前解決を行う場合に利用されます。

【例】/etc/hosts

[user@rocky9 ~]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

現在、使用しているホストのIPv4アドレスを確認します。

[user@rocky9 ~]$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:c0:dc:12 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
       valid_lft 84117sec preferred_lft 84117sec
    inet6 fd17:625c:f037:2:a00:27ff:fec0:dc12/64 scope global dynamic noprefixroute 
       valid_lft 86327sec preferred_lft 14327sec
    inet6 fe80::a00:27ff:fec0:dc12/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

IPv4アドレスが「10.0.2.15/24」であることが確認できます。

/etc/hosts を以下のように編集します。

「10.0.2.15 rocky9 rocky9.localdomain」を末尾に追加します。

※IPv4アドレスは実行環境により異なるため、ご自身の環境のIPv4アドレスする必要があります。

[user@rocky9 ~]$ sudo nano /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.2.15   rocky9 rocky9.localdomain

この設定により、10.0.2.15 というアドレスに対して rocky9 というホスト名でアクセスできます。

pingコマンドを実行します。

[user@rocky9 ~]$ ping rocky9
PING rocky9 (10.0.2.15) 56(84) bytes of data.
64 バイト応答 送信元 rocky9 (10.0.2.15): icmp_seq=1 ttl=64 時間=0.037ミリ秒
64 バイト応答 送信元 rocky9 (10.0.2.15): icmp_seq=2 ttl=64 時間=0.040ミリ秒
64 バイト応答 送信元 rocky9 (10.0.2.15): icmp_seq=3 ttl=64 時間=0.040ミリ秒
64 バイト応答 送信元 rocky9 (10.0.2.15): icmp_seq=4 ttl=64 時間=0.042ミリ秒
^C
--- rocky9 ping 統計 ---
送信パケット数 4, 受信パケット数 4, 0% packet loss, time 3081ms
rtt min/avg/max/mdev = 0.037/0.039/0.042/0.002 ms

Ctrl + c で終了します。

1.3. /etc/resolv.conf

利用する DNS サーバを指定するファイルです。

【例】/etc/resolv.conf

[user@rocky9 ~]$ cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 10.0.2.3

/etc/resolv.conf を以下のように編集します。

「nameserver 8.8.8.8」を末尾に追加します。

[user@rocky9 ~]$ sudo nano /etc/resolv.conf 
[sudo] user のパスワード:

# Generated by NetworkManager
nameserver 10.0.2.3
nameserver 8.8.8.8
  • 10.0.2.3: ローカルルータの DNS 機能
  • 8.8.8.8: Google Public DNS

このように複数指定すると、上から順に利用されます。

2.ネットワークインタフェースとコマンド

2.1. ip コマンド

ip コマンドはネットワーク設定を確認・管理するための基本コマンドです。

書式

ip [オプション] [対象] [操作]

主なサブコマンド

サブコマンド説明
addr showIP アドレスの確認
link showインタフェース情報を表示
route showルーティング情報を表示

使用例

[user@rocky9 ~]$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:c0:dc:12 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
       valid_lft 84117sec preferred_lft 84117sec
    inet6 fd17:625c:f037:2:a00:27ff:fec0:dc12/64 scope global dynamic noprefixroute 
       valid_lft 86327sec preferred_lft 14327sec
    inet6 fe80::a00:27ff:fec0:dc12/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ここでは、enp0s3 に 10.0.2.15 が割り当てられていることが確認できます。

2.2. ss コマンド

システムで開いているポートを確認するコマンドです。

書式

ss [オプション]

主なオプション

オプション説明
-aすべてのソケット情報を表示
-lLISTEN 状態のポートを表示
-tTCP のみを表示

使用例

[user@rocky9 ~]$ ss -atl
State     Recv-Q    Send-Q       Local Address:Port        Peer Address:Port    
LISTEN    0         128                0.0.0.0:ssh              0.0.0.0:*       
LISTEN    0         4096             127.0.0.1:ipp              0.0.0.0:*       
LISTEN    0         128                   [::]:ssh                 [::]:*       
LISTEN    0         4096                 [::1]:ipp                 [::]:*   

ここでは SSH(22) が待ち受け状態であることがわかります。

2.3. ルーティング確認

ネットワーク経路はルーティングテーブルで管理されます。

route コマンド

[user@rocky9 ~]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3

ip route コマンド

[user@rocky9 ~]$ ip route
default via 10.0.2.2 dev enp0s3 proto dhcp src 10.0.2.15 metric 100 
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15 metric 100 

どちらもデフォルトゲートウェイが 10.0.2.2 であることを示しています。

3.ネットワーク管理の実践的注意点

  • ホスト名の変更は慎重に行う(サービスやログに影響する場合あり)。
  • /etc/hosts の最初の行(127.0.0.1 の設定)は削除しない。
  • ネットワーク障害時は ip addrssping を組み合わせて原因を切り分ける。

まとめ

  • ホスト名や DNS の基本設定は /etc/hostname/etc/hosts/etc/resolv.conf で行う。
  • ip コマンドでインタフェースとルーティングの確認、ss コマンドでポートの確認ができる。
  • routeip route で経路を確認し、デフォルトゲートウェイが正しく設定されているか確認することが重要。
  • Rocky Linux 環境では、これらの知識がトラブルシューティングやシステム運用に直結する。