web-dev-qa-db-ja.com

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

静的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.yamlSudo netplan applyを実行していますが、それはインターネットへのサーバー接続を強制終了します。

26
final20

これは、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

[NOTE]:

  • /24255.255.255.0と同等です
  • ens160はイーサネット名です。$ ifconfigを使用して取得できます
  • Ubuntu 16.04および14.04network-interface configuration には異なる方法があります。
  • ファイルは YAML形式 です:タブを使用せずにスペースを使用します。
13
Benyamin Jafari

CloudInitが使用され、そのファイルが生成されるため、/etc/netplan/50-cloud-init.yamlを直接編集するように指示するすべての回答は間違っています。 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

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

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

ファイルの名前を変更することをお勧めします(50-cloud-init.yamlはまだCloudInitを使用していると考えてから、正しい名前ではありません)。

次に、以下の設定を含むファイル名/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]
8
Ludovic Kuty

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

これが私の問題でした。

5
HubbleT

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 applyを実行します。debugフラグはより多くの情報を出力し、エラーの検出に役立ちます。仮想でVM構成を確認する場合は、イーサネットケーブルを確認します。 WLANを使用している場合、セットアップするのが少し難しいと読みましたが、このサーバーバージョンでWiFiに接続されたマシンをまだセットアップしていません。

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

https://netplan.io/

5
badger_8007

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で確認します。

2
veperr

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

$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
Digerate

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

次に、$Sudo vim /etc/netplan/50-cloud-init.yamlを使用して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

0
yousif3350

使用可能なイーサネットインターフェイスを見つけるには、ip link showを使用します

次に、$Sudo nano /etc/netplan/50-cloud-init.yamlを使用して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