熱門分類
載入中…
目錄0%

🐧 Linux ネットワーク設定 入門から実践まで:インターフェース命名、IP 設定、Gateway、DNS、ホスト名の完全ガイド

    🐧 Linux ネットワーク設定 入門から実践まで:インターフェース命名、IP 設定、Gateway、DNS、ホスト名の完全ガイド

    Linux サーバーの構築や運用において、ネットワーク設定は欠かせない基本作業です。 インターフェース名の確認、IP アドレスの設定、デフォルト Gateway、DNS、ホスト名の管理など、 どれも日常的に扱う重要な要素です。

    本記事では、初心者でも理解しやすく、かつ実務でそのまま使えるレベルまで踏み込み、 nmcli / ifcfg / systemd-networkd を使った設定方法、トラブルシューティング、 ネットワークの基礎知識を百科事典レベルで整理して紹介します。


    📌 1. Linux のインターフェース命名(Predictable Network Interface Names)

    近年の Linux では、従来の eth0 / eth1 といった名前ではなく、 「予測可能なインターフェース名」が採用されています。

    • ens160 – PCIe スロットを基準にした命名
    • enp0s3 – バスアドレスを反映した命名
    • eth0 – レガシー命名(最小構成などでは残る場合あり)

    🔍 インターフェース一覧の確認

    ip link

    🔍 詳細情報の確認

    ip addr show ens160

    Proxmox、VMware、KVM などの仮想化環境では、仮想 NIC の順番により インターフェース名が変わることもあります。


    📌 2. 静的 IP アドレス設定:3 つの主要方式

    Linux では、以下の 3 種類の方法が広く使われています:

    方式対象ディストリビューション難易度特徴
    ifcfg(従来方式) RHEL / CentOS / Rocky Linux 設定ファイルベース。企業環境で根強い
    nmcli / nmtui NetworkManager 採用環境 簡単 現代的・扱いやすい・推奨方式
    systemd-networkd Ubuntu Server / Debian / Container 軽量・高速。クラウド向け
    ---

    🟦 2-1. nmcli を使った静的 IP 設定(最も推奨)

    nmcli con mod ens160 ipv4.addresses 192.168.1.20/24
    nmcli con mod ens160 ipv4.gateway 192.168.1.1
    nmcli con mod ens160 ipv4.dns "8.8.8.8 1.1.1.1"
    nmcli con mod ens160 ipv4.method manual
    nmcli con down ens160; nmcli con up ens160
    
    ---

    🟦 2-2. ifcfg ファイルでの設定(RHEL/CentOS 系)

    設定ファイル:

    /etc/sysconfig/network-scripts/ifcfg-ens160

    例:

    BOOTPROTO=none
    DEVICE=ens160
    IPADDR=192.168.1.20
    PREFIX=24
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=1.1.1.1
    ONBOOT=yes
    

    設定の反映:

    systemctl restart NetworkManager
    ---

    🟦 2-3. systemd-networkd での設定(Ubuntu Server など)

    設定ファイル:

    /etc/systemd/network/10-ens160.network

    内容:

    [Match]
    Name=ens160
    
    [Network]
    Address=192.168.1.20/24
    Gateway=192.168.1.1
    DNS=8.8.8.8 1.1.1.1
    

    サービス有効化:

    systemctl enable systemd-networkd --now
    systemctl restart systemd-networkd
    

    📌 3. ネットワーク確認に必須のコマンド

    🔍 現在の IP を確認

    ip addr

    🔍 Gateway への疎通確認

    ping 192.168.1.1

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

    ip route

    🔍 DNS 動作確認

    dig google.com
    nslookup google.com
    

    🔍 ポートのリスニング状況を確認

    ss -tulnp

    📌 4. DNS(Resolver)設定

    🟪 方法 1:nmcli で設定

    nmcli con mod ens160 ipv4.dns "8.8.8.8 1.1.1.1"
    nmcli con up ens160
    

    🟪 方法 2:resolv.conf を編集(非推奨)

    systemd-resolved や NetworkManager が稼働している環境では /etc/resolv.conf は上書きされる可能性があります。

    どうしても固定化したい場合:

    chattr +i /etc/resolv.conf

    ※ 一般サーバー用途では推奨されません。


    📌 5. デフォルト Gateway の設定

    🔧 nmcli を使用

    nmcli con mod ens160 ipv4.gateway 192.168.1.1

    🔧 ip route(臨時設定)

    ip route add default via 192.168.1.1

    🔧 ルーティング確認

    ip route show

    📌 6. ホスト名(Hostname)設定

    🔍 現在のホスト名確認

    hostnamectl

    🔧 ホスト名を変更

    hostnamectl set-hostname web01.example.local

    📌 7. トラブルシューティング(よくある問題)

    ❗ IP が取得できない

    nmcli device status

    ❗ DNS 解決ができない

    dig @8.8.8.8 google.com

    ❗ Gateway は通るが外部に届かない

    • NAT が正しく構成されていない
    • Firewall のブロック
    • DNS が未設定

    ❗ インターフェース名が変わった

    ls -l /sys/class/net/

    仮想化環境で NIC 順序が変わることで発生する場合があります。


    📚 関連記事

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級