Ubuntu 18.04頃から、Ubuntu開発者は、ネットワークを構成する従来の/etc/init.d/networking
および/etc/network/interfaces
メソッドの使用を停止し、いくつかのthingnetplan
と呼ばれます。これは多くの人々を非常に怒らせ、広く悪い動きとみなされています。 netplan
を削除し、ネットワークの構成に正しい/etc/network/interfaces
メソッドを使用することは可能ですか?
次の手順は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)などを使用する場合にのみ関係します。
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の設定をブートアップ時にネットプランにリダイレクトする方法を教えてください。
Netplanチームは、FAQ here に公式の回答を投稿しました。
Ifupdownに戻る方法
...
実行中のシステムでは、ifupdownをインストールし、ユーザーが以前に行ったように/ etc/network/interfacesを手動で構成することにより、netplanを削除できます。
インストール時に、ユーザーはnetcfg/do_not_use_netplan = trueをpreseedすることでifupdownの使用を選択できます。これは、インストールメディアを起動するときにコマンドラインにpreseed行を追加することによって行われます(つまり、インストールメディアのブートメニューでF6を押し、「e」と入力して、コマンドラインに追加します)。
詳細な手順については、Nuxwinの回答を参照してください。
なぜネットプランで設定するだけではないのですか?
18.04-Desktopで構成されているため、NetworkManagerへのすべてのインターフェイスに制御を渡す1行です。
これはおそらく95%のユーザーに適していますが、NetworkManagerはセッションにログインした後にのみ実行されることに注意してください。
マシンをサーバー/デスクトップとして機能させたい場合、たとえば、ローカルマシンへのファイルの提供を開始したり、VNPサーバーとして機能したり...オンにすると、標準の18.04-Desktopでの設定方法に問題が生じます。
もちろん、別の方法はサーバーネットプラン構成を使用することです。これは、私が読んだ限り(自分ではチェックしていません)、代わりにsystemd-networkdに制御を渡します。この場合、古いSystem V initの代わりとしてsystemdがどのように動作するかを学習した方がよいでしょう。
このパスを使用する場合、デスクトップバージョンではNetworkManagerに制御が与えられるため、ネットプランyamlを変更する必要があります。
重要なのは、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ネットワークを構成 から来ました。
この回答によると、解決策は、動作中のすべての.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に追加します。
リブート。
改善はありますか?
脚注:これを行う正確なプロセスを見つけるのは困難です。進むにつれて、少し改良する必要があるかもしれません。