ウェブサイト検索

Linuxの基本 - Ubuntuで静的IPを設定する


Linuxの基本 - Ubuntuで静的IPを設定する

このページで

  1. Ubuntu 22.04、Ubuntu 20.04、及びUbuntu 18.04のネットワーク設定

    1. UbuntuでNetplanを使用して静的IPアドレスを設定する
    2. NetplanでDHCPアドレスを設定する
    3. さらにNetplanの設定オプション
  2. Ubuntu 12.04 - 17.04(Ubuntu 16.04 LTSを含む)

    1. ステップ1:ネットワークインターフェースを構成します
    2. ステップ2:DNSサーバーを設定する
    3. ステップ3:ネットワーキングを再起動する
  3. ホスト名を設定する

このチュートリアルでは、コマンドラインからUbuntuシステムで静的IPアドレスを設定する方法を説明します。すべての現在のUbuntuバージョンのネットワーク設定をカバーし、静的IPアドレスの設定、ホスト名の設定、および名前解決の設定に関する指示を含んでいます。

Ubuntu 22.04、Ubuntu 20.04、および Ubuntu 18.04 のネットワーク設定

Ubuntuのネットワーク構成は、netplanと呼ばれるツールを使って行います。これは従来の/etc/network/interfacesファイルに取って代わりました。

UbuntuでNetplanを使用して静的IPアドレスを設定する

スタティックIPアドレスをNetplanで設定する手順は以下の通りです。Netplanの設定ファイルは/etc/netplan/ディレクトリにあります。デフォルトの設定ファイルは/etc/netplan/01-netcfg.yamlです。

エディタでネットワーク設定ファイルを開いてください。netplanの設定ファイル名は、Ubuntuのバージョンによって異なります。

Ubuntu 22.04 と Ubuntu 20.04:

sudo nano /etc/netplan/00-installer-config.yaml

Ubuntu 18.04:の

sudo nano /etc/netplan/01-netcfg.yaml

設定構文はPythonプログラミング言語(.yaml形式)であるため、行のインデントが重要です!

ファイルの内容は、Ubuntu 22.04 - 18.04で同じです。

ここに、最初のネットワークインターフェースens33上の静的IPv4アドレス192.168.1.100とゲートウェイIP192.168.1.1の例があります。サーバーは、名前解決に無料のGoogle DNSサーバー8.8.8.8と8.8.4.4を使用します。

This file describes the network interfaces available on your system
For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

または、Ubuntuサーバーからのスクリーンショットとして:

IPv6アドレスは、addresses行にカンマで区切って追加できます。例:

This file describes the network interfaces available on your system
For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.100/24, '2001:1::1/64']
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

IPv6アドレスは単一引用符で囲む必要があります。そうしないと構文エラーが発生します。

変更を適用するには、次のコマンドを実行します:

sudo netplan apply

また、netplan構成ファイルの解析が成功した場合は、--debugスイッチを使用して有用な出力を取得できます。

sudo netplan --debug apply

NetplanでDHCPアドレスを設定する

ここにDHCPサーバーからIPv4およびIPv6のネットワーク構成を取得するための設定があります。

This file describes the network interfaces available on your system
For more information, see netplan(5).
network:
 version: 2
 renderer: networkd
 ethernets:
   ens33:
     dhcp4: yes
     dhcp6: yes

変更を適用するには、次を実行してください:

sudo netplan apply

さらにNetplanの設定オプション

Netplanは、Ubuntu 18.04でネットワークカード、仮想デバイス、VLANおよびブリッジを設定するための複雑な新しい構成システムです。より多くの例や構文の詳細な説明についてはマニュアルページを参照してください。

Ubuntu 12.04 - 17.04(Ubuntu 16.04 LTSを含む)でのネットワーク設定

ステップ1:ネットワークインターフェースを構成します

このステップでは、好みのテキストエディタ(nano、gedit、vi)を使用して、次のファイルを編集することによってネットワークインターフェイスを手動で構成します。この例では「nano」エディタを使用します。適切なファイルを編集するには、次のコマンドをターミナルに入力してください:

この行から直接コピー&ペーストできます。

sudo nano /etc/network/interfaces

ルートパスワードを入力してください。お気に入りのエディタがファイルを開いたら、古いUbuntuのバージョンではこれを見ることができます:

auto lo eth0
iface lo inet loopback
iface eth0 inet dynamic

systemdを使用しているUbuntuシステム(Ubuntu 16.04以降)では、ネットワークインターフェースの名前がeth0ではなくens33になり、'dynamic'という言葉が'dhcp'に置き換えられました。

DHCPによってIPアドレスが自動的に割り当てられる構成は、次のようになります:

This file describes the network interfaces available on your system
and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
The loopback network interface
auto lo
iface lo inet loopback
The primary network interface
auto ens33
iface ens33 inet dhcp

古いUbuntuバージョンでは、静的に構成されたネットワークカードにこのようなセクションがあります:

auto lo eth0
iface lo inet loopback
iface eth0 inet static
        address xxx.xxx.xxx.xxx(enter your ip here)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)

こちらは古いUbuntuリリースの例です:

auto lo eth0
iface lo inet loopback
iface eth0 inet static
	address 192.168.1.100
	netmask 255.255.255.0
	gateway 192.168.1.1

そして、ここにUbuntu 16.04以降の例があります:

This file describes the network interfaces available on your system
and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
The loopback network interface
auto lo
iface lo inet loopback
test
The primary network interface
auto ens33
iface ens33 inet static
 address 192.168.1.100
 netmask 255.255.255.0
 network 192.168.1.0
 broadcast 192.168.1.255
 gateway 192.168.1.1
 dns-nameservers 8.8.8.8 8.8.4.4

そして、こちらがUbuntu 16.04システムからの完全なネットワーク構成ファイルです。

設定ファイルを編集するために「nano」エディタを使用する場合は、変更を保存するためにCtrl+xを押してください。

変更を保存しますか?(「いいえ」と答えると変更が破棄されます)?

<---'y'と入力してください

書き込むファイル名: インターフェース

<---エンター

ステップ2:DNSサーバーを設定する

/etc/resolv.confの変更は、Ubuntu 14.04未満のシステムにのみ必要です。新しいUbuntuバージョンでは、名前解決サーバーは/etc/network/interfacesファイルまたはnetplan設定ファイルで設定されます。

a) Ubuntu 20.04

エディタでnetplan設定ファイルを開きます。この例ではnanoエディタを使用します:

sudo nano /etc/netplan/00-installer-config.yaml

DNSサーバーのIPアドレスを太字でマークしました:

This file describes the network interfaces available on your system
For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

b) Ubuntu 18.04

nanoエディタでnetplan設定ファイルを開いてください:

sudo nano /etc/netplan/01-netcfg.yaml

DNSサーバーのIPアドレスを太字でマークしました:

This file describes the network interfaces available on your system
For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]

c) Ubuntuのバージョン14.04および16.04

再度 /etc/network/interfaces ファイルを開き、ゲートウェイの行のすぐ後に dns-nameservers 8.8.8.8 の行を追加してください。

sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
iface ens33 inet static
        address xxx.xxx.xxx.xxx(enter your ip here)
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx(enter gateway ip here,usually the address of the router)
        dns-nameservers 8.8.8.8

ネームサーバー8.8.8.8と8.8.4.4はGoogleによって提供されており、公共の使用のために利用可能ですので、ネットワーク構成で使用できます。

「nano」エディタを使用する場合、Ctrl+xを押して変更を保存します。

変更を保存しますか?(「いいえ」と答えると変更が破棄されます)?

<---'y'と入力してください

書き込むファイル名: インターフェース

<---エンター

d) Ubuntu バージョン < 14.04

このステップでは、DNS構成ファイルを手動で設定します。

sudo nano /etc/resolv.conf

編集者がファイルを開いたら、次の情報を入力してください...

nameserver xxx.xxx.xxx.xxx(enter your dns server ip)
nameserver xxx.xxx.xxx.xxx(enter your alt dns server ip)

「nano」エディタを使用する場合、Ctrl+xを押して変更を保存します。

変更を保存しますか?(「いいえ」と答えると変更が破棄されます)?

<---'y'と入力してください

書き込むファイル名: resolv.conf

<---エンター

ここに一例があります:

nameserver 8.8.8.8
nameserver 8.8.4.4

ステップ3:ネットワーキングを再起動する

新しい設定でネットワークインターフェースを手動で再起動してください。

Ubuntu 20.04および18.04の場合、netplanコマンドを使用して変更を適用し、ネットワークを再起動します。コマンドは次のとおりです:

sudo netplan apply

Ubuntu 14.04および16.04の場合は、代わりにsystemctlを使用します:

systemctl restart ifup@eth0

この時点で、設定が正しいかどうか確認できます:

ifconfig

すべてが正しければ、この結果が得られます。

eth0      Link encap:Ethernet  direcciónHW 00:33:27:46:2v:34
          Direc. inet:192.168.1.101  Difus.:0.0.0.0  Másc:255.255.255.0
 ...

Ubuntu 14.04未満の場合は、ネットワーキング初期化スクリプトを使用してください:

sudo /etc/init.d/networking restart

これは次のような結果を返すべきです:

*Reconfiguring network interfaces… [OK]

ホスト名を設定する

Ubuntuサーバーまたはデスクトップのホスト名は、/etc/hostnameおよび/etc/hostsのファイルで設定されています。/etc/hostnameファイルは実際のシステムホスト名を設定し、/etc/hostsはローカルの名前解決に使用されます。

この例では、私のシステムのホスト名を obelix.example.com に変更します。

まず、/etc/hostname ファイルを編集します。

sudo nano /etc/hostname

ホスト名ファイルにはホスト名のローカル部分のみが含まれています。ここでのローカル部分は「オベリクス」です。/etc/hostnameファイルの内容を次のように変更します:

obelix

ファイルを保存します。編集後のnanoでのホスト名ファイルは次のようになります:

次に、エディタで/etc/hostsファイルを開きます:

sudo nano /etc/hosts

システムのIPアドレスで始まる行を次のように変更します:

192.168.1.100   obelix.example.com     obelix

ここに /etc/hosts ファイルのスクリーンショットがあります。

フォーマットはこのようになります:

[IPアドレス] [完全ホスト名(ドメインを含む)] [ホスト名のローカル部分]

最後に、ホスト名の変更を適用するためにシステムを再起動してください。

関連記事: