Linuxインフラ実践

Linuxのネットワーク設定ファイルを理解する【Netplan/NetworkManager】

Linuxインフラ実践
記事内に広告が含まれています。

Linuxのネットワーク設定はディストリビューションによって設定ファイルの場所と形式が異なります。「設定したはずなのに再起動で消えた」を防ぐために、永続化の仕組みを理解しましょう。

主要な設定ファイル一覧

ファイル役割ディストリ
/etc/netplan/*.yamlIPアドレス・GW・DNS設定(永続)Ubuntu 18.04以降
/etc/network/interfacesIPアドレス・GW・DNS設定(永続)Debian / 旧Ubuntu
/etc/sysconfig/network-scripts/ifcfg-*インターフェース設定(永続)RHEL/CentOS 7
/etc/NetworkManager/NetworkManager設定RHEL/CentOS 8以降
/etc/resolv.conf使用するDNSサーバー共通(自動生成の場合あり)
/etc/hostsローカルの名前解決(DNSより優先)共通
/etc/hostnameホスト名の設定共通

Ubuntu/Debian:Netplan

# /etc/netplan/00-installer-config.yaml
# ⚠️ YAMLはインデントが重要。スペースのみ使用(タブ不可)

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      # 静的IP設定
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

# 設定の確認(120秒後に自動ロールバック。その間に問題なければEnterで確定)
# SSH接続が切れた場合も120秒後に元の設定に戻るため安全
$ sudo netplan try

# 設定を適用
$ sudo netplan apply

# DHCP設定の場合
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true

RHEL/CentOS:NetworkManager

# nmcliでネットワーク設定を管理

# 接続一覧を表示
$ nmcli connection show

# 現在の接続状態を確認
$ nmcli device status

# 静的IPを設定
$ sudo nmcli connection modify eth0 \
  ipv4.method manual \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8,8.8.4.4"

# 設定を反映
$ sudo nmcli connection up eth0

# DHCPに戻す
$ sudo nmcli connection modify eth0 ipv4.method auto

/etc/hosts と /etc/resolv.conf

# /etc/hosts:ローカルの名前解決(DNSより優先)
127.0.0.1   localhost
::1         localhost
192.168.1.10 myserver myserver.local   # 独自のホスト名を追加

# /etc/resolv.conf:DNSサーバーの設定
# ⚠️ systemd-resolved が有効な環境では自動生成されるため直接編集しない
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com    # ショートホスト名の検索ドメイン

# systemd-resolved の設定(Ubuntu推奨)
$ sudo systemd-resolve --status
$ resolvectl status

まとめ

  • Ubuntu 18.04以降はNetplan(/etc/netplan/*.yaml)で設定。YAMLのインデントに注意
  • netplan try は120秒後に自動ロールバックするため、設定ミスでSSHが切れても安全に戻れる
  • RHEL/CentOS 8以降はNetworkManager(nmcliコマンド)で設定
  • /etc/hostsはDNSより優先される。開発環境のホスト名設定に便利
  • /etc/resolv.confはsystemd-resolved環境では直接編集せず自動生成に任せる

📋 Phase 3 ネットワーク基礎チートシートで全コマンドをまとめて確認できます。

コメント

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