Ubuntu Server 18.04で静的IPをセットアップする方法


29

静的IPを設定するファイルはまだだと言っている人を見たことがあります /etc/network/interfaces

そして、私は18.04で、それは上の今だと言って他の人を見てきました/etc/netplan(人は不幸についてのように見えるもの)

私はこれを入れてみました:

version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.9/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

私の/etc/netplan/50-cloud-init.yamlやっていることでsudo netplan apply、それは単にインターネットへのサーバー接続を殺します。


デスクトップですか、それともサーバーですか?
-user68186

これは新しい18.04のインストールですか、別のバージョンからのアップグレードですか?
WinEunuuchs2Unix

申し訳ありませんが、18.04サーバーの新規インストールであるテキストでこれを言うべきでした。
-final20

私にとって最も簡単な解決策は、インストール時に(サブネット、ゲートウェイなどと共に)静的IPv4アドレスを指定することでした。いくつかのウィザードフィールドに入力するだけで、構成ファイルを変更する必要はありません。
ウーヴェ・ケイム

これはルーターでも実行できます。手順は、ルーター設定で一目瞭然です。
EODCraftスタッフ

回答:


13

これは、Ubuntu-Server 18.04で静的IP命令を設定します

$ sudo nano /etc/netplan/50-cloud-init.yaml

次に、構成、たとえば次の行を置き換えます。

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

変更を適用します。

$ sudo netplan apply

問題が発生した場合は、次を実行します。

$ sudo netplan --debug apply

[ ]:

  • /24 と同等です 255.255.255.0
  • ens160 あなたのイーサネット名です。 $ ifconfig
  • Ubuntu 16.04および14.04のネットワークインターフェイス構成には、異なる方法があります。
  • ファイルはYAML形式です。タブは使用せず、スペースを使用してください。

pingを実行することができません静的IPアドレスを割り当てた後で
user2763554を

OK ....私がやった後にpingすることができるよservice networking restart
user2763554を

1
そのファイルがCloudInitによって生成されるので、私はそれをしないだろう
ルドビクKuty

13

/etc/netplan/50-cloud-init.yamlCloudInitが使用され、そのファイルが生成されるため、直接編集するよう指示するすべての答えは間違っています。Ubuntu 18.04.2では、ファイル内に明確に記述されています。

$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eno1:
            dhcp4: true
    version: 2

その/etc/cloud/cloud.cfg.d/ため、CloudInitを引き続き使用する場合は、そのファイルではなく下のファイルを編集する必要があります。

もう1つの方法は、空のファイルを作成してCloudInitを完全に無効にすることです/etc/cloud/cloud-init.disabledhttps://cloudinit.readthedocs.io/en/latest/topics/boot.htmlを参照)。その後、他の答えは問題ありません。Ubuntu 18.04.2ではdpkg-reconfigure cloud-init、ファイルを考慮に入れるために使用する必要がありました/etc/cloud/cloud-init.disabled。これは少し奇妙だと思います。

ファイルの名前を変更することをお勧めします(正しい名前ではなく、50-cloud-init.yamlCloudInitを使用していると考えてください)。

次に/etc/netplan/01-netcfg.yaml、以下の構成を含むファイル名になる場合があります。構成がサーバー上にあるためではnetworkdなく、レンダラーの使用に注意してくださいNetworkManager

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      addresses: [192.168.1.246/24]
      gateway4: 192.168.1.1
      nameservers:
         addresses: [192.168.1.1]

2
それは素晴らしい作品です。これが最良の答えです。前述の50-cloud-init.yamlは変更しないでください。
遺物

2
まだCloudInitを使用している場合は、sudo cloud-init clean -rveperrの回答に従って(少なくとも、Ubuntu Server 18.04.3の場合)、変更を有効にするためにを行う必要があります。
スチュアートロシター

1
...さらに、そのrenderer行は有効ではないようです(編集するファイルの基本バージョンにはありません)。
スチュアートロシター

6

Ubuntu 18.04は現在、Netplanを使用してネットワークインターフェイスを構成しているため、構成はファイル/etc/netplan/50-cloud-init.yamlで行う必要があります/etc/network/interfaces。ドキュメントでは、古いファイルをもう混乱させないことを推奨しています。Ubuntu Server仮想マシンでこの構成を使用しましたが、これまでのところ機能しています。情報が正しいことを確認してください。optional: trueインターフェイスが接続されているかどうかの設定はおそらくも、彼らが存在しない場合、彼らは無効とみなされ、また、例えばDHCPのため使用されていない宣言値への必要は、ありません、これはデフォルトで、検証しないことにより、起動時間を高速化Ubuntu Serverのデフォルトレンダラーはnetworkd、宣言する必要がないためです。投稿から情報を取得すると、次のようになります。

network:
    ethernets:
        eht0:
            addresses:
            - 192.168.1.9/24
            gateway4: 192.168.1.1
            nameservers:
                addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]
            optional: true
    version: 2

ファイルを保存したらsudo netplan --debug applydebugフラグを実行すると詳細情報が出力され、エラーの検出に役立ちます。仮想でVM構成を確認する場合は、イーサネットケーブルを確認します。WLANを使用している場合、セットアップするのは少し難しいですが、このサーバーバージョンでWiFiに接続されたマシンをまだセットアップしていないことを読みました。

Netplanに関する詳細情報が必要な場合は、Webサイトがあり、基本的な構成例がいくつかあります。

https://netplan.io/


5

構成ファイルはYAML形式です。ファイルの構成時にTABを使用しないでください。SPACEでのみ機能します。

これが私の問題でした。


4

cloud-initを使用する別の方法を見つけました。

  1. ファイルを編集します/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg-内容は/ etc / netplanにあるものと同じように見えます。
  2. cloud-init次のコマンドを使用して、クリーンアップ、再起動、再初期化を行います。

    sudo cloud-init clean -r
    
  3. それでおしまい!システムが再起動し、cloud-init再初期化されて変更が反映され/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg、適用され/etc/netplan/50-cloud-init.yamlます。すべてが正常に実行されます。で確認しifconfigます。


0

これが動作させる設定です。

$sudo nano /etc/netplan/50-cloud-init.yaml

network:
   ethernets:
     eth0:          
     addresses:
     - 192.168.1.9/24
     dhcp: false
     gateway4: 192.168.1.1
     nameservers:
        addresses:
        - 192.168.1.1
        - 8.8.8.8
        - 8.8.4.4
        search: []
  version: 2  

$sudo netplan apply

サーバーを再起動します

eth0をアダプターに変更し、ifconfigを使用してアダプターを見つけます。


0

使用可能なイーサネットインターフェイスを検索するには ip link show

次に、次を使用して50-cloud-init.yamlファイルを編集します $sudo nano /etc/netplan/50-cloud-init.yaml

eth0:やeth1などの利用可能なインターフェイスの構成を追加します。

network:
   ethernets:
     eth0:          
     addresses:
     - 192.168.1.9/24
     dhcp: false
     gateway4: 192.168.1.1
     nameservers:
        addresses:
        - 192.168.1.1
        - 8.8.8.8
        - 8.8.4.4
        search: []
     eth0:
     addresses:
     - 192.168.1.9/24
     dhcp: false
  version: 2  

次に、コマンド$sudo netplan applyを使用して変更を適用します。


0

Ubuntu Server 18.04で静的IPをセットアップする方法

次に、次を使用して50-cloud-init.yamlファイルを編集します$sudo vim /etc/netplan/50-cloud-init.yaml


network:
  ethernets:
    eno1:
        addresses:
        - 10.0.1.10/24
        dhcp4: false
        gateway4: 10.0.1.1
        nameservers:
            addresses:
            - 10.0.1.2
            search: []
version: 2

変更を適用します。

$ sudo netplan apply


そのファイルはCloudInitによって生成されるため、私はそれを行いません。
ルドヴィッククティ

なぜ、18.04に静的IPを設定するためのすべてのガイドが、動的に作成されたファイルで永続的ではないというyamlファイルを編集するように指示しているのですか?デフォルトで物事を破るだけでいいと思うUbuntu開発者からの別の残酷なジョーク...
Bigtexun

0

18.04のネットワーク構成は、netplanで管理され、cloud-initで構成されます。ネットワーク構成を変更するには、50-curtin-networking.cfgファイルを編集します/etc/cloud/cloud.cfg.d/。このファイルが存在しない場合は作成してください。

インターフェース名を見つける

ip address show

cloud-initネットワーク構成ファイルを編集/作成します

sudo nano /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg

静的IPアドレスを設定するには、アドレスキーを使用します。これは、(IPv4またはIPv6)アドレスとサブネットプレフィックス長(/ 24など)のリストを取得します。ゲートウェイおよびDNS情報も提供できます。

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.9/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [192.168.1.1, 8.8.8.8, 8.8.4.4]

https://netplan.io/examplesでさらに構成オプションを見つけることができます

cloud-init構成を再ロードします。これにより、サーバーが再起動します。

sudo cloud-init clean -r
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.