この記事では、Ubuntu20.04で静的IPアドレスを設定する方法について説明します。
通常、ほとんどのネットワーク構成では、IPアドレスはルーターのDHCPサーバーによって動的に割り当てられます。静的IPアドレスの設定は、ポートフォワーディングの構成やメディアサーバーの実行など、さまざまな状況で必要になる場合があります。
DHCPを使用した静的IPアドレスの構成#
LAN上のデバイスに静的IPアドレスを割り当てる最も簡単で推奨される方法は、ルーターに静的DHCPを構成することです。静的DHCPまたはDHCP予約は、ほとんどのルーターに見られる機能であり、デバイスがDHCPサーバーにアドレスを要求するたびに、DHCPサーバーが特定のネットワークデバイスに同じIPアドレスを自動的に割り当てるようにします。これは、静的IPをデバイスの一意のMACアドレスに割り当てることで機能します。
DHCP予約を構成する手順は、ルーターごとに異なります。詳細については、ベンダーのドキュメントを参照してください。
Ubuntu 17.10以降では、デフォルトのネットワーク管理ツールとしてNetplanを使用しています。以前のUbuntuバージョンはifconfig
を使用していました およびその構成ファイル/etc/network/interfaces
ネットワークを構成します。
Netplan構成ファイルは、.yaml
を使用してYAML構文で記述されています ファイル拡張子。 Netplanを使用してネットワークインターフェイスを構成するには、インターフェイスのYAMLdescriptionを作成する必要があります。これにより、Netplanは、選択したレンダラーツールに必要な構成ファイルを生成します。
Netplanは、NetworkManagerとSystemd-networkdの2つのレンダラーをサポートしています。 NetworkManagerは主にデスクトップマシンで使用されますが、Systemd-networkdはGUIのないサーバーで使用されます。
Ubuntu 20.04では、システムは「予測可能なネットワークインターフェース名」を使用してネットワークインターフェースを識別します。
静的IPアドレスを設定するための最初のステップは、構成するイーサネットインターフェイスの名前を特定することです。これを行うには、ip link
を使用します 以下に示すように、コマンド:
ip link
このコマンドは、使用可能なすべてのネットワークインターフェイスのリストを出力します。この例では、インターフェースの名前はens3
です。 :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff
Netplan構成ファイルは/etc/netplan
に保存されます ディレクトリ。このディレクトリには、おそらく1つ以上のYAMLファイルがあります。ファイルの名前は、セットアップごとに異なる場合があります。通常、ファイルの名前は01-netcfg.yaml
のいずれかです。 、50-cloud-init.yaml
、またはNN_interfaceName.yaml
、ただし、システムによっては異なる場合があります。
Ubuntuクラウドインスタンスがcloud-initでプロビジョニングされている場合は、それを無効にする必要があります。これを行うには、次のファイルを作成します。
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg network: {config: disabled}
ネットワークインターフェースに静的IPアドレスを割り当てるには、テキストエディターでYAML構成ファイルを開きます。
sudo nano /etc/netplan/01-netcfg.yaml
/etc/netplan/01-netcfg.yaml network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
構成を変更する前に、コードについて簡単に説明しましょう。
各NetplanYamlファイルはnetwork
で始まります 少なくとも2つの必須要素を持つキー。最初に必要な要素はネットワーク構成フォーマットのバージョンであり、2番目の要素はデバイスタイプです。デバイスタイプはethernets
にすることができます 、bonds
、bridges
、またはvlans
。
上記の構成には、renderer
を示す行もあります。 タイプ。箱から出して、Ubuntuをサーバーモードでインストールした場合、レンダラーはnetworkd
を使用するように構成されます。 バックエンドとして。
デバイスのタイプ(ethernets
)、1つ以上のネットワークインターフェイスを指定できます。この例では、インターフェースens3
が1つだけあります。 DHCPサーバーからIPアドレスを取得するように構成されているdhcp4: yes
。
静的IPアドレスをens3
に割り当てるには インターフェイスで、ファイルを次のように編集します:
- DHCPを
dhcp4: no
に設定します 。 - 静的IPアドレスを指定します。
addresses:
ネットワークインターフェースに割り当てられる1つ以上のIPv4またはIPv6IPアドレスを追加できます。 - ゲートウェイを指定します。
-
nameservers
の下 、ネームサーバーのIPアドレスを設定します。
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
addresses:
- 192.168.121.221/24
gateway4: 192.168.121.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Yamlファイルを編集するときは、YAMLコードのインデント標準に準拠していることを確認してください。構文が正しくない場合、変更は適用されません。
完了したら、ファイルを保存し、次のコマンドを実行して変更を適用します。
sudo netplan apply
次のように入力して変更を確認します:
ip addr show dev ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 08:00:27:6c:13:63 brd ff:ff:ff:ff:ff:ff
inet 192.168.121.221/24 brd 192.168.121.255 scope global dynamic ens3
valid_lft 3575sec preferred_lft 3575sec
inet6 fe80::5054:ff:feb0:f500/64 scope link
valid_lft forever preferred_lft forever
それでおしまい! Ubuntuサーバーに静的IPを割り当てました。
Ubuntuデスクトップコンピューターで静的IPアドレスを設定するには、技術的な知識は必要ありません。
アクティビティ画面で「設定」を検索し、アイコンをクリックします。これにより、GNOME設定ウィンドウが開きます。変更するインターフェースに応じて、[ネットワーク]または[Wi-Fi]タブをクリックします。インターフェース設定を開くには、インターフェース名の横にある歯車のアイコンをクリックします。
「IPV4」方式タブで「手動」を選択し、静的IPアドレス、ネットマスク、ゲートウェイを入力します。完了したら、「適用」ボタンをクリックします。
変更を確認するには、Ctrl+Alt+T
を使用してターミナルを開きます。 キーボードショートカットまたはターミナルアイコンをクリックして実行します:
ip addr
出力には、インターフェースのIPアドレスが表示されます:
...
2: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 50:5b:c2:d8:59:7d brd ff:ff:ff:ff:ff:ff
inet 192.168.121.221/24 brd 192.168.31.255 scope global dynamic noprefixroute wlp1s0
valid_lft 38963sec preferred_lft 38963sec
inet6 fe80::45e3:7bc:a029:664/64 scope link noprefixroute