GNU/Linux >> Linux の 問題 >  >> Cent OS

高速で軽量なDNSサーバーMaraDNSをCentOS7にインストールする方法

MaraDNSは、小型で無料の軽量ドメインネームサーバーです。これは代替のオープンソースDNSサーバーであり、キャッシング、再帰、または信頼できるネームサーバーとして機能します。 LinuxおよびWindowsプラットフォームでは、構成が非常に簡単で利用できます。こちらからダウンロードできます。 DNS、再帰DNS、権限のあるDNSについて詳しくは、こちらをご覧ください。

以下は、MarDNSのいくつかの興味深い特徴です。

  • インストールが簡単
  • メモリ使用量が少ない(約5MBのRAMを使用)
  • 権限のあるネームサーバーおよび再帰的なネームサーバーとして機能できます。
  • お見逃しなく、MaraDNSWebサイトのドキュメントは非常に簡単に理解できます。

CentOS 7でMaraDNSの使用を開始しましょう。以下の手順で、MaraDNSのインストールと構成について説明します。

MaraDNSのインストール

現在、CentOS 7用のMaraDNSで使用できるRPMはないため、ソースからインストールしてコンパイルします。

gccをインストールします:

sudo yum install gcc

ここから最新のソースアーカイブをダウンロードします。あなたはそれを次のように行うことができます:

wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2

アーカイブの内容を抽出します:

tar -xjf maradns-2.0.11.tar.bz2

抽出したMaraDNSディレクトリに移動し、プログラムをコンパイルしてインストールします。

cd maradns-2.0.11
sudo make
sudo make install

これでMaraDNSがインストールされました。 MaraDNSサービスは/etc/init.d/maradnsにインストールされます。次の方法でサービスを開始できます:

sudo /etc/init.d/maradns start

再帰的なデーモンを開始するには、次を実行します:

sudo /etc/init.d/maradns.deadwood start

デフォルトでは、権限のあるネームサーバーはポート127.0.0.1でリッスンし、再帰的なネームサーバーはポート127.0.0.2でリッスンします。

起動時に必ずMaraDNSを起動しましょう:

chkconfig maradns on


再帰DNSサーバーのinitスクリプトは、起動時に実行する前に、chkconfigと互換性を持たせる必要があります。以下のコンテンツをファイル/etc/init.d/maradns.deadwoodファイルの先頭に追加します。

# chkconfig: - 55 45
# description: MaraDNS is secure Domain Name Server (DNS)
# probe: true

起動時に実行するように設定します:

chkconfig maradns.deadwood on

権限のあるネームサーバーとしてのMaraDNSの構成

権限のあるDNSサーバーは、特定のドメインのURLからIPへのマッピングを「認識」しています。これらは、再帰DNSサーバーがブラウザー(Chrome、Firefox)などのWebクライアントに送信する情報のソースです。 MaraDNSを権限のあるネームサーバーとして次のように構成できます。

MaraDNSの構成ファイルを編集します。例:/ etc / mararc:

ipv4_bind_addresses = "127.0.0.1"
chroot_dir = "/etc/maradns"
csv2 = {} csv2["example.net."] = "db.example.net"

最初の行は、MaraDNSにIP-127.0.0.1でリッスンするように指示しています。カンマで区切って、さらにIPを追加できます。例:-127.0.0.1、x.x.x.x

2行目のchroot_dirは、すべてのゾーンファイルが保存されるディレクトリについて言及しています。

3行目は、csv2={}コマンドを使用してcsv2ハッシュを初期化します。

4行目は、ドメイン名example.netのdb.example.netという名前のゾーンファイルについて言及しています。

これは、自明のドメイン名example.netのdb.example.netという名前のゾーンファイルです。

example.net.      +14400    soa    ns1.example.net. [email protected] 2012010117 14400 3600 604800 14400 ~ 
example.net.      +14400    ns     ns1.example.net. ~ 
example.net.      +14400    ns     ns2.example.net. ~ 
ns1.example.net.  +14400    a      127.0.0.1 ~ 
ns2.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    a      127.0.0.1 ~ 
www.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    mx     10 mail.example.net. ~
mail.example.net. +14400    a      127.0.0.1 ~

Start Of Authority(SOA)行から始めます。次に、権限のあるネームサーバーとその他のレコードを指定します。レコードは、ドメイン名、TTL(存続時間)、レコードタイプ、およびレコードの値で構成されます。
2つの注意点は、すべてのドメイン名がピリオドで終わることです。つまり、完全修飾ドメイン名である必要があります。すべてのレコードはチルダ文字(〜)で終わります。詳細については、ゾーンファイルの形式に関するドキュメントを確認してください。

もっと簡単にするために、example.netを127.0.0.1にポイントしてみましょう。これがあなたのやり方です:

example.net.    127.0.0.1 ~

次のようにサービスを再起動します:

sudo /etc/init.d/maradns restart

MaraDNSを再帰的なネームサーバーとして構成する

WebブラウザがDNSクエリを送信すると(ブラウザのキャッシュにマッピングがまだ保存されていない場合)、再帰DNSサーバーに送信されます。 DNS転送とも呼ばれます。デフォルトではポート127.0.0.2でリッスンし、コンマで区切ってIPを追加できます。例:-127.0.0.2、x.x.x.x。 / etc / dwood3rcファイルに以下の行を追加することにより、MaraDNSを再帰的なネームサーバーとして構成できます:

upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Forwarding requests to Google DNS Servers

次のようにサービスを再起動します:

sudo /etc/init.d/maradns.deadwood restart

これで、MaraDNSサーバーのセットアップは完了です。 :)

ヒント-MaraDNSサーバーが外部DNSクエリに応答するようにする場合は、次のことを行う必要があります。

マシンのパブリックIPを両方の構成ファイル(/ etc/mararcと/etc/ dwood3rc)に追加し、次のように変更します。

/ etc / mararc:

ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Replace x.x.x.x with your machine's public address.

/ etc / dwood3rc:

bind_address="127.0.0.2, x.x.x.x" #Replace x.x.x.x with your machine's public address.

recursive_acl ="0.0.0.0/0"#どこからでも接続できるようにします。

これらのサンプルファイルはここから入手できます。もう一度サービスを再起動することを忘れないでください。

それだけです!


Cent OS
  1. RHEL 8 / CentOS8LinuxにDNSサーバーをインストールする方法

  2. CentOS7にTeamSpeakサーバーをインストールして使用する方法

  3. CentOS8にGitlabをインストールして構成する方法

  1. CentOS7にVNCをインストールして設定する方法

  2. CentOS8にNFSサーバーをインストールして構成する方法

  3. Centos8にPostgres13をインストールして設定する方法

  1. CentOS8にVNCをインストールして設定する方法

  2. CentOS7およびRHEL7サーバーにPHP7.4、7.3、7.2をインストールする方法

  3. CentOS7サーバーにFreeIPAをインストールして構成する方法