GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu:systemd-resolved が使用するポート 53 を共有する方法

Ubuntu には、デフォルトでポート 53 でリッスンする systemd-resolved があります。独自の DNS サーバーを実行したい場合、ポート 53 が既に使用されているため実行できません。そのため、次のようなエラー メッセージが表示されます。「listen tcp 0.0.0.0:53:bind:address already in use」 /P>

この記事では、systemd-resolved が Ubuntu でポート 53 を使用しないようにする方法について説明します。手順は Ubuntu 20.04 でテストされていますが、他の Ubuntu バージョンでも機能するはずです。 Ubuntu 18.04、近日公開予定の Ubuntu 20.10、および Pop! などの Ubuntu ベースの Linux ディストリビューション。 _OS、Zorin OS、Elementary OS、Linux Mint など。 基本的に、これは systemd バージョン 232 以降のすべてのシステムで機能します。

システムでポート 53 が使用されているかどうかを確認するには:

sudo lsof -i :53

systemd-resolved が標準の Ubuntu 20.04 システムでポート 53 を使用していることを示す出力の例:

$ sudo lsof -i :53
COMMAND   PID            USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 610 systemd-resolve   12u  IPv4  19377      0t0  UDP localhost:domain
systemd-r 610 systemd-resolve   13u  IPv4  19378      0t0  TCP localhost:domain (LISTEN)

出力が得られない場合は、ポート 53 が使用されていないことを意味します。

Ubuntu で systemd-resolved がポート 53 を使用しないようにする方法

DNSStubListener のコメントを外すだけで、ポート 53 を共有できることに注意してください。 no に設定します /etc/systemd/resolved.conf で .その他の手順は、DNS サーバーを有効にすることです。DNS サーバーがないと、システムがドメイン名を解決できないため、Web ブラウザーなどで Web サイトにアクセスできません。

1. /etc/systemd/resolved.conf を編集するには テキストエディタで(ルートとして)開きます。 Nano Console テキスト エディターを使用:

sudo nano /etc/systemd/resolved.conf


コメントを外します (# を削除します) 前から) DNS= 行と DNSStubListener= 管理。次に、 DNS= を変更します このファイルの値を、使用する DNS サーバーに指定し (例:ローカル プロキシを使用するには 127.0.0.1、Cloudflare DNS を使用するには 1.1.1.1 など)、DNSStubListener= も変更します。 yes の値 no へ .

これらの変更を行った後のファイルは次のようになります (DNS サーバーとして 1.1.1.1、Cloudflare DNS を使用しています):

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

nano テキスト エディターを使用してファイルを保存するには、Ctrl + x を押します。 、次に y と入力します Enterを押します .

2. /run/systemd/resolve/resolv.conf のシンボリック リンクを作成する /etc/resolv.conf で 目標として:

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

ここでは、-s ハードリンクではなくシンボリックリンクを作成するために使用され、 -f 既存のターゲット ファイルを削除するために使用されます (したがって、/etc/resolv.conf を削除します) 可能な場合)

3. システムを再起動してください。

Ubuntu システムでポート 53 が解放され、「listen tcp 127.0.0.1:53:bind:address already in use」などのエラーが表示されなくなります。

sudo lsof -i :53 を実行すると、ポート 53 が使用されているかどうかを確認できます。 – ポート 53 が使用されていない場合、このコマンドは出力を表示しません。

あなたは好きかもしれません:

  • Linux で DNS キャッシュをクリアする方法 (systemd-resolved、BIND、Dnsmasq、または nscd の場合)
  • Linux で MAC アドレスを恒久的に変更する方法

変更を元に戻す方法

この記事の指示に従って行った変更を元に戻しますか?これはあなたがしなければならないことです。

1. /etc/systemd/resolved.conf の編集を開始 テキストエディタで(ルートとして)開きます。 Nano Console テキスト エディターを使用:

sudo nano /etc/systemd/resolved.conf

コメントアウト (# を追加) 行の前) DNS=DNSStubListener=no 次に、ファイルを保存します。 nano テキスト エディターを使用してファイルを保存するには、Ctrl + x を押します。 、次に y と入力します Enterを押します .

2 .その /etc/resolv.conf を削除します シンボリックリンク:

sudo rm /etc/resolv.conf

3 .システムを再起動してください。


Ubuntu
  1. Ubuntu20.04にアップグレードする方法

  2. 学術論文でUbuntuを引用する方法は??

  3. Ubuntu20.04でSamba共有を作成する方法

  1. Ubuntu20.04にRをインストールする方法

  2. Ubuntuを20.10にアップグレードする方法

  3. Ubuntuを21.10にアップグレードする方法

  1. Ubuntuを21.04にアップグレードする方法

  2. Ubuntu21.10にアップグレードする方法

  3. UbuntuLinuxにWindows共有をマウントする方法