静的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
を実行していますが、それはインターネットへのサーバー接続を強制終了します。
$ 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]:
/24
は255.255.255.0
と同等ですens160
はイーサネット名です。$ ifconfig
を使用して取得できます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.disabled
( https://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]
構成ファイルは YAML形式 :ファイルを構成するときにTABを使用しないでください。 SPACEでのみ機能します。
これが私の問題でした。
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サイトがあり、基本的な構成例がいくつかあります。
Cloud-initを使用する別の方法を見つけました。
/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
を編集します-内容は/ etc/netplanにあるものと同じように見えます。次のコマンドを使用して、cloud-init
のクリーンアップ、再起動、再初期化を行います。
Sudo cloud-init clean -r
それでおしまい!システムが再起動し、cloud-init
が再初期化され、/etc/cloud/cloud.cfg.d/50-curtin-networking.cfg
の変更が取得され、/etc/netplan/50-cloud-init.yaml
に適用されます。すべて正常に実行されます。 ifconfig
で確認します。
これが動作させる設定です。
$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を使用してアダプターを見つけます。
次に、$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
使用可能なイーサネットインターフェイスを見つけるには、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
を使用して変更を適用します。