スキップしてメイン コンテンツに移動

systemd-resolveの設定(Ubuntuなどの動的DNS設定)

systemd-resolveの設定(動的DNS設定)


  • Ubuntuなど、systemd-resolveがデフォルトのDNSリゾルバーとなっているディストリビューションについて。
  • NetworkManagerやavahi-daemonの無効化、/etc/network/interfacesの設定はしなくて大丈夫です。
  • なお、下記のDNS設定を行わないと、Firefox Syncに失敗してしまいます。Google Chromeでのウェブ検索には影響はありませんが、Firefoxでは「support.mozilla.org」、「accounts.firefox.com」、「bugzilla.mozilla.org」などのサポートサイトの名前検索に失敗しますので、Mozilla のサービスを使うために、なんだか妙なのですが、Google の DNS を設定しましょう。

/etc/systemd/resolved.conf の編集

  • 設定は下記のファイル順に構築されます。
/etc/systemd/resolved.conf
/etc/systemd/resolved.conf.d/*.conf
/run/systemd/resolved.conf.d/*.conf
/usr/lib/systemd/resolved.conf.d/*.conf

$ sudo vi /etc/systemd/resolved.conf

  • おすすめはGoogleのPublic DNSを設定です。Googleを使うユーザーにとってはヒット率が高いようです。

[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:

  • 他のDNSとしては、ISPが提供しているDNSサーバーを指定する。プロバイダが提供しているDNSは接続ルータの管理者画面等で確認します。

[Resolve]
DNS=xxx.xx.xxx.250 xxx.xx.xxx.254

systemd-resolve サービス再起動


$ sudo systemctl restart systemd-resolved.service

設定確認


  • GoogleのPublic DNSサーバー(8.8.8.8、8.8.4.4)が設定されてます。

$ systemd-resolve --status

Global
         DNS Servers: 8.8.8.8
                      8.8.4.4
                      2001:4860:4860::8888
                      2001:4860:4860::8844
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa

          ・・・中略・・・

Link 3 (wlp3s0)
      Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: allow-downgrade
    DNSSEC supported: yes
         DNS Servers: 192.168.0.1

Link 2 (enp4s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: allow-downgrade
    DNSSEC supported: yes

  • ローカルプロバイダーのDNSサーバー(192.168.0.1)が設定されてます。
$ systemd-resolve --status
Global
         DNS Servers: xxx.xx.xxx.250
                      xxx.xx.xxx.254
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa



関連する設定や、PCの現状設定確認


/etc/resolv.conf のnameserver設定はローカルのアドレスとなります。(下記の例では127.0.0.53)

$ cat /etc/resolv.conf

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53


systemd-resolveを使っているか、dnsmasqを使っているか調べるには

$ sudo lsof -i:53

COMMAND    PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 1079 systemd-resolve   12u  IPv4  22948      0t0  UDP localhost:domain

/etc/nsswitch.conf の設定

「hosts:」行について、「resolve」を「[!UNAVAIL=return]」や「dns」よりも先に記述します。
$ cat /etc/nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns
networks:       files
(以下略)


ネットワークインターフェース名の確認

ifconfigコマンド、iwconfigコマンド、ip addrコマンド、ip aコマンドで確認します。

ネットワークインターフェースデバイスの設定状態の確認

$ nmcli device show <インターフェース名>

GENERAL.デバイス:                       <インターフェース名>
GENERAL.タイプ:                         wifi
GENERAL.ハードウェアアドレス:           (MACアドレス)
GENERAL.MTU:                            0
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           (接続しているアクセスポイント)
GENERAL.CON パス:                    
/org/freedesktop/NetworkManager/ActiveConnection/0
IP4.アドレス[1]:                        (DHCPで割り当てられたIPアドレス)
IP4.ゲートウェイ:                       (DHCPでデフォルトゲートウェイ、192.168.0.1など)
IP4.ルート[1]:                          dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS[1]:                             (接続ルータから取得したDNS、192.168.0.1など)
IP6.アドレス[1]:                         (DHCPで割り当てられたIPv6アドレス)
IP6.ゲートウェイ:
  

digコマンドでDNSサーバーを指定して名前解決する方法

$ dig @216.239.32.10 www.google.com

;; ANSWER SECTION:
www.google.com. 300 IN A 216.58.200.196


参考サイト

resolved.conf について
resolved.conf https://www.freedesktop.org/software/systemd/man/resolved.conf.html#

systemd-resolved.service について
systemd-resolved.service https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

/etc/systemd/network で設定したい場合
systemd.network https://www.freedesktop.org/software/systemd/man/systemd.network.html#

How to switch from NetworkManager to systemd-networkd on Linux - Xmodulo http://xmodulo.com/switch-from-networkmanager-to-systemd-networkd.html

コメント

このブログの人気の投稿

iTunes Store と Amazon MP3ストアのどちらから購入すべきか

iTunes Store と Amazon MP3ストアではどちらも同じような価格で音楽ファイルが購入できますがどちらを選択すべきでしょうか?
 2013年6月現在の両ストアを比較しますと、曲数、音質はほぼ同じです。

iTunes Store

2,600万曲以上256 kbps AAC エンコーディング(AAC形式)、ビットレート256kbit/sのm4aファイル・・・現在のiTunes Plus バージョン(2003年4月販売開始当初は128kbit/s)iTunes(MacあるいはWindows PC用)にてダウンロード購入可能ですし、Apple Storeで無料のiPhone、iPad、iPod用のiTunesアプリで購入することも可能です。また、PC用のiTunesで購入し、音楽プレーヤーに同期転送することもできます。
Amazon MP3ストア

2000万曲以上のタイトル256kbpsの可変ビットレートでMP3ファイルAmazon MP3ダウンローダー(Windows版、Mac版)、Kindle FireのAmazon Cloud Player、Google Playストア、Apple Storeで無料のAndroid用やiPhone/iPod用のAmazon Mobile (Tablet)アプリやAmazon MP3アプリ、ChromeウェブストアのAmazonアプリで購入できます。そもそも、オンラインショッピングサイトのAmazon.comで購入できますのでブラウザがあれば、どのPCやスマートデバイスでも購入できるでしょうし、購入した音楽ファイルは自由に音楽プレーヤーに同期・転送・コピーすることができます。

AAC、MP3のどちらがよいのか?
 気になりますが、128kbpsでエンコードする場合はAACの方が高い周波数がカットされず良さそうですが、192kbps以上ではMP3の方が元の周波数の音が残って良いそうです。販売されているのは256kbpsなので、どちらも変わらない、と言えそうです。どちらも十分に音楽鑑賞できる音質です。

より一層、音質重視であれば
 音楽CDをAmazon.comやCDショップで買うのがよいです。AACもMP3もサイズ圧縮と引き換えに音質が劣化する可能性があり、元の音楽データに戻せない規格ですから(不可逆圧縮)、元の音源ファイルがパッ…

Salesforce Trailheadチャレンジメモ(Apex の基礎とデータベース)

(チャレンジの回答がどうしてもわからないとき) Trailblazer CommunityやStack Overflowで、問題文のタイトルやエラーメッセージで調べてみると回答についての投稿が見つかることがあります。
Salesforce Trailblazer Community https://success.salesforce.com/successHome
Stack Overflow - Where Developers Learn, Share, & Build Careers https://stackoverflow.com/

モジュール「Apex の基礎とデータベース」 Apex の使用開始 Create an Apex class that returns an array (or list) of strings.public class StringArrayTest {    public static String[] generateStringArray(Integer numbers) {        List<String> arraylist = new List<String> ();        for(Integer i=0; i<numbers; i++) {            arraylist.add('Test ' + i);            // System.debug(arraylist[i]);        }       return arraylist;    }} あるいは、整数部分を文字列(String)にしてもチャレンジに成功します。
            arraylist.add('Test ' + i);
            arraylist.add('Test ' + i.format());

DML を使用したレコードの操作Create a method for inserting accounts.public class AccountHandler {    public static Account insertNewAccount(String name) {  …