web-dev-qa-db-ja.com

Netplan ConfigによるDNSサーバーの上書きに関する問題

Netplan yaml構成のネームサーバー設定を上書きしようとしていますが、機能していないようです。 /etc/netplan/01-netcfg.yamlファイルは次のとおりです。

_network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      dhcp4-overrides:
        use-dns: no
      nameservers:
        addresses: [192.168.1.7]
_

_Ubuntu 18.04.3 LTS_を実行しています(ネームサーバーのIPアドレスを変更しましたが、他はすべて同じです)。また、_netplan --debug generate_を実行すると、次のようになります。

_** (generate:1951): DEBUG: 20:05:57.212: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:1951): DEBUG: 20:05:57.212: starting new processing pass
** (generate:1951): DEBUG: 20:05:57.212: eth0: setting default backend to 1
** (generate:1951): DEBUG: 20:05:57.212: Configuration is valid
** (generate:1951): DEBUG: 20:05:57.212: Generating output files..
** (generate:1951): DEBUG: 20:05:57.212: NetworkManager: definition eth0 is not for us (backend 1)
_

そして本当に混乱するのは、_/run/netplan_ディレクトリがないことです...

また、これは仮想プライベートサーバーであるため、ベアメタルにアクセスできません...それが重要かどうかはわかりません...また、私がeth0を使用している理由は、これが唯一のサーバーだからです。ループバックアドレス以外のifconfigを実行すると表示されます。ホスティング会社からサーバーを入手したときの元の_/etc/netplan/01-netcfg.yaml_ファイルは次のとおりです。

_network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
_

別の仮想プライベートサーバーをDNSサーバーとして使用できるように再構成したかったのですが...

[〜#〜] edit [〜#〜] _systemd-resolve --status_の出力について言及したいのは、DNSサーバーがDHCPによって構成された元のサーバーであり、上記のネットプラン構成。ネットプラン設定を受け入れていないようです。

編集2コメントに投稿されたいくつかの質問に答えて、ホスティング会社がデスクトップインストールではなくUbuntuサーバーをインストールしたと思います。私の知る限りでは、ターミナルからのみVPSにアクセスでき、GUIデスクトップにアクセスできないと思います。他の質問については、元の_/etc/netplan/01-netcfg.yaml_ファイルに戻し、サーバーを再起動しました。これで、元の構成に戻るはずです。

_# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
_

また、_ps aux | grep -i dhc_を実行すると、dhclientが実行されているようには見えません... dhclientが実行されていない場合、/ etc/netplan/01-netcfg.yamlファイルで_dhcp4: yes_を構成するにはどうすればよいですか?この機械?

_ip a_を実行すると、

_1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     ...
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
     ...
_

しかし、enp0s3についての言及はありません...同様に、ifconfigコマンドについては、enp0s3ではなくeth0についてのみ言及しています...

/etc/resolv.confファイルは次のとおりです。

_# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver <Some loopback IP>
options edns0
search home
_

上記のnameserverの値とseachオプションの値を変更しました。

_systemd-resolve --status_は、出力の最後に以下を含みます。

_Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: <IP1>
                      <IP2>
                      <IP3>
          DNS Domain: <domain1>
_

ここで、IP1、IP2、およびIP3は、DNSに使用したくない3つのIPv4アドレスであり、domain1は、私も使用しないドメイン名です。他に役立つ情報がありましたら、コメントでお知らせください。 dhclientが実行されていないため、/ etc/netplan/01-netcfg.yamlで静的IPを構成する必要がありますか?別の質問、_eth0_の実行時にネットワークデバイスが存在しないため、_enp0s3_の代わりに_ip a_をネットワークデバイスに使用する方が理にかなっていますか?

編集問題のサーバーがLinodeから提供されていることを知っておくと便利です。自分のDNSサーバーをセットアップするために、Linode Network Helperを無効にしました。知っておくと便利な情報だと思っただけです...これは通常の_Ubuntu 18.04_サーバーでなければなりません。

pdate 1への応答-Heynnemaの応答を参照

したがって、_/etc/netplan/01-netcnf.yaml_で再起動した後、

_# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      dhcp4-overrides:
        use-dns: no
      nameservers:
        addresses: [ 192.168.1.7 ]
_

および_/etc/systemd/resolved.conf_ as

_#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details

[Resolve]
#DNS=
DNS=192.168.1.7
#FallbackDNS=
#Domains=
Domains=mydomain.com
#LLMNR=no
LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
_

私は以下を持っています:

_/run/resolvconf/resolv.conf_がシステムに存在しません。

_cat /run/systemd/resolve/resolv.conf_は以下を生成します:

_# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 192.168.1.7
nameserver IP1
nameserver IP2
# Too many DNS servers configured, the following entries may be ignored.
nameserver IP3
search mydomain.com <domain1>
_

ここで、IP1、IP2、およびIP3は、_systemd-resolve --status_の元の出力のものと一致します。

_cat /run/systemd/resolve/stub-resolv.conf_は以下を生成します:

_# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
options edns0
search mydomain.com <domain1>
_

また、_dpkg -l *dnsmasq* | grep ii_は以下を生成します。

_ii  dnsmasq-base     2.79-1       AMD64        Small caching DNS proxy and DHCP/TFTP server
_

そして_dpkg -l *dhcp* | grep ii_は以下を生成します:

_ii  isc-dhcp-client      4.3.5-3ubuntu7.1 AMD64        DHCP client for automatically obtaining an IP address
ii  isc-dhcp-common      4.3.5-3ubuntu7.1 AMD64        common manpages relevant to all of the isc-dhcp packages
_

ただし、_ps aux | grep dns_および_ps aux | grep dh_を実行すると、grep以外の結果が返されません。

編集4

誰かが興味を持っている場合、コメントを除いた_/etc/systemd/network/05-eth0.network_の内容は次のとおりです。

_[Match]
Name=eth0

[Network]
DHCP=no
DNS=IP1 IP2 IP3
Domains=<domain1>
IPv6PrivacyExtensions=false

Gateway=the_gateway_ip
Address=my_public_ip
Address=my_private_ip
_

ここで、IP1、IP2、およびIP3は、オーバーライドする必要のあるネームサーバーIPであり、domain1は、ホスティングプロバイダーによって作成されたドメイン名です。ゲートウェイと2つのアドレス設定は、私が必要とした正しい設​​定でした。 DNS設定を上書きしたいだけなので、ファイルの名前を変更して、使用されないようにしました。

よろしくお願いします!

2
Andrew

ホスティングプロバイダーに電話をかけたところ、2つの構成ファイルを確認するように指示されました。 1つは私が知っていたネットプラン構成ファイルでしたが、もう1つは/etc/systemd/network/05-eth0.networkでした。名前の前に.を付けてファイルの名前を変更し、サーバーを再起動すると、/etc/netplan/01-netcfg.yamlに加えられた変更がデバイスeth0に反映されました。ファイルの内容を質問の最後の更新に追加しました。誰かの助けになるかもしれません。

0
Andrew

iP 192.168.1.7をプライマリDNSサーバーIPとして優先させるには、ネットプランでブラケットを使用します。 resolvectl statusまたはsystemd-resolve --statusで確認します。IPの順序は希望どおりです

先に進む前に、ネットワークをリセットする必要があるかもしれません

Sudo apt install resolvconf
Sudo systemctl start resolvconf.service
Sudo systemctl enable resolvconf.service

次に、すべてのネットワークをリセットします(ケースはeth0です。私のものはens33です):

Sudo resolvectl revert ens33

リセット後、ネットプランを編集できます

network:
    version: 2
    ethernets:
        ens33:            # mine is ens33. you use your network interface  
            nameservers:
                addresses: [
                 192.168.1.7,
                 192.168.1.10
                ]
                search: [mydomain, otherdomain]
1
Rommi

.yamlファイルを以前のeth0バージョンに戻します...

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      dhcp4-overrides:
        use-dns: no
      nameservers:
        addresses: [192.168.1.7]
  • Sudo netplan --debug generate
  • Sudo netplan apply
  • reboot

/etc/systemd/resolved.confは、おそらく次のように編集する必要があります...

[Resolve]
DNS=192.168.1.7
#FallbackDNS=
Domains=put_your_domain_here
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes

reboot

systemd-resolve --status

更新#1:

/etc/resolv.confの3つの可能なシンボリックリンクを確認してみましょう...

再起動後のeth0 .yamlファイルと変更された/etc/systemd/resolved.conf ...の使用...

見せて...

cat /run/resolvconf/resolv.conf

cat /run/systemd/resolve/resolv.conf

cat /run/systemd/resolve/stub-resolv.conf

アップデート#2:

Dhcp4-overridesが壊れていると仮定して、この.yamlを試してみましょう...

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses: [x.x.x.x/24]
      gateway4: x.x.x.1
      nameservers:
        addresses: [192.168.1.7]
        search: [mydomain, otherdomain]

Sudo netplan --debug generate

Sudo netplan apply

reboot

systemd-resolve --status

1
heynnema