web-dev-qa-db-ja.com

Ubuntu 18.04:/ etc / network / interfacesに戻る

Ubuntu 18.04頃から、Ubuntu開発者は、ネットワークを構成する従来の/etc/init.d/networkingおよび/etc/network/interfacesメソッドの使用を停止し、いくつかのthingnetplan と呼ばれます。これは多くの人々を非常に怒らせ、広く悪い動きとみなされています。 netplanを削除し、ネットワークの構成に正しい/etc/network/interfacesメソッドを使用することは可能ですか?

39
jdgregson

次の手順はUbuntuで機能します18.04(Bionic Beaver)

I。再インストールifupdownパッケージ:

# apt-get update
# apt-get install ifupdown

II。次のような構成スタンザで/ etc/network/interfacesファイルを構成します

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
  address 192.168.1.133
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  # Only relevant if you make use of RESOLVCONF(8)
  # or similar...
  dns-nameservers 1.1.1.1 1.0.0.1

III。設定を有効にします(再起動は不要です):

# ifdown --force enp0s3 lo && ifup -a
# systemctl unmask networking
# systemctl enable networking
# systemctl restart networking

IV。不要なサービスを無効にして削除します。

# systemctl stop systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl disable systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl mask systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# apt-get --assume-yes purge nplan netplan.io

これで完了です。

注:あなたMUST、もちろん、システム(ネットワーク、インターフェース名...)に応じて値を調整します。

V。 DNSリゾルバー

Ubuntu Bionic Beaver(18.04)はSYSTEMD-RESOLVED.SERVICE(8)で提供されるDNSスタブリゾルバーを使用するため、SHOULDまた、/ etc/systemd /に接続するDNSを追加します。 resolve.confファイル。例えば:

....
DNS=1.1.1.1 1.0.0.1
....

その後、systemdで解決されたサービスを再起動してください:

# systemctl restart systemd-resolved

上記のように、ifupdown INTERFACES(5)ファイルのDNSエントリは、RESOLVCONF(8)などを使用する場合にのみ関係します。

39
Nuxwin

Netplanとyamlは、せいぜいサーバーのみの環境では脆弱です(インデントを間違えるとコストがかかります)。インターフェイスは、サーバー上のネットワーク設定の管理を非常に簡単にするほど十分に寛容でした。
Netplanは新しいレイヤーを導入します。しかし、実際の問題は、U18がifupdownを破壊し、NetPlanでジョブを完了しないことです。 DNSを管理するifupdownを再インストールして/ etc/network/interfacesに戻ると、interfacesファイルで機能しなくなります。 dns-nameserversエントリはすべて無視されます。代わりに、dnsは/etc/resolv.confに設定されます。ただし、マシンを起動するたびに書き換えられるため、このファイルを編集することはできません。 WTF? NetplanはGUIによって管理されるように設計されているため、サーバーのみのキャンプにいる私たちは、つま先を動かさなければならない壊れやすいシステムを残しています。よくないUbuntu!
ネットプランの終了中に、/ etc/network/interfacesの設定をブートアップ時にネットプランにリダイレクトする方法を教えてください。

8
Dan Desjardins

Netplanチームは、FAQ here に公式の回答を投稿しました。

Ifupdownに戻る方法

...

実行中のシステムでは、ifupdownをインストールし、ユーザーが以前に行ったように/ etc/network/interfacesを手動で構成することにより、netplanを削除できます。

インストール時に、ユーザーはnetcfg/do_not_use_netplan = trueをpreseedすることでifupdownの使用を選択できます。これは、インストールメディアを起動するときにコマンドラインにpreseed行を追加することによって行われます(つまり、インストールメディアのブートメニューでF6を押し、「e」と入力して、コマンドラインに追加します)。

詳細な手順については、Nuxwinの回答を参照してください。

6
jdgregson

なぜネットプランで設定するだけではないのですか?

18.04-Desktopで構成されているため、NetworkManagerへのすべてのインターフェイスに制御を渡す1行です。

これはおそらく95%のユーザーに適していますが、NetworkManagerはセッションにログインした後にのみ実行されることに注意してください。

マシンをサーバー/デスクトップとして機能させたい場合、たとえば、ローカルマシンへのファイルの提供を開始したり、VNPサーバーとして機能したり...オンにすると、標準の18.04-Desktopでの設定方法に問題が生じます。

もちろん、別の方法はサーバーネットプラン構成を使用することです。これは、私が読んだ限り(自分ではチェックしていません)、代わりにsystemd-networkdに制御を渡します。この場合、古いSystem V initの代わりとしてsystemdがどのように動作するかを学習した方がよいでしょう。

このパスを使用する場合、デスクトップバージョンではNetworkManagerに制御が与えられるため、ネットプランyamlを変更する必要があります。

1
Zakhar

重要なのは、cloud.initが実際の制御プログラムであることを知ることです。
これは、netplan構成ファイルの行「optional:true」は必須です。
それを知ることで簡単になりました。

01-network-manager-all.yamlを削除して、/root/save/にコピーしました。次に、その代わりに既知の適切な設定を配置します。50-cloud-init.yaml:その内容は次のとおりです。

network:
  version: 2
  renderer: networkd
  ethernets:
    eports:
      match: 
        name: enp*
        optional: true
  bonds:
    bond0:
      interfaces: [eports]
      addresses: [192.168.2.5/24]
      gateway4: 192.168.2.1
      nameservers:
        addresses: [127.0.0.1, 8.8.4.4]          
      parameters:
        mode: 0          
        mii-monitor-interval: 100

次に再起動すると、正常に動作するはずです。

既知の適切な構成は、 buntu 18.04でnetplanを使用して結合802.3adネットワークを構成 から来ました。

1
pksings

この回答によると、解決策は、動作中のすべての.yamlファイルを削除することです。 buntu 17.10 disable netplan

バックアップせずに何も削除しません。ファイルを脇に移動するだけで簡単にできます。まず、ファイルを見つけます:

Sudo updatedb
locate netplan | grep yaml

18.04システムでは、唯一の操作ファイルは/etc/netplan/01-network-manager-all.yamlであるように見えます。それを動かしましょう:

mkdir ~/netplan
Sudo mv /etc/netplan/01-network-manager-all.yaml  /home/user/netplan

... userはユーザー名です。

次に、ファイルが本当になくなったことを確認します。

ls /etc/netplan

ここで、必要に応じて/ etc/network/interfacesに追加します。

リブート。

改善はありますか?

脚注:これを行う正確なプロセスを見つけるのは困難です。進むにつれて、少し改良する必要があるかもしれません。

0
chili555