Ubuntu Server 18.04LTSでdnsmasqを構成する方法

How Configure Dnsmasq Ubuntu Server 18



dnsmasq 非常に軽量なローカルDNSサーバーです。 dnsmasqは、DNSキャッシュサーバーおよびDHCPサーバーとして構成することもできます。 dnsmasqには、DHCPv4およびDHCPv6を含むIPv4およびIPv6のサポートがあります。 dnsmasqは小規模ネットワークに最適です。

この記事では、dnsmasqを使用してローカルDNSサーバーを構成し、DNSサーバーとDHCPサーバーをキャッシュする方法を紹介します。それでは、始めましょう。







ネットワークトポロジー:

これは、この記事のネットワークトポロジです。ここで、構成します ルーター dnsmasqを使用したDNSおよびDHCPサーバーとして。 ルーター 2つのネットワークインターフェイスがあり、1つは( ens33 )に接続します インターネット およびその他( ens38 )に接続します ネットワークスイッチ 。他のすべてのホスト( host1host2host3 )ネットワーク上で設定されたDHCPサーバーを使用します ルーター IPアドレスの自動割り当てと名前解決のためのDNSサーバー用。





静的IPの構成:

私のネットワークトポロジでは、あなたが見た、私の ルーター 2つのインターフェースがあります ens33ens38 。 ens33はルーターをインターネットに接続し、 ens38 に接続されています ネットワークスイッチ 、ネットワーク上の他のコンピュータが接続する。 DHCPを使用してのIPアドレスを取得する必要があります ens33 インターネット接続用のISPからのインターフェース。しかし ens38 インターフェイスは手動で構成する必要があります。





ネットワークを使ってみましょう 192.168.10.0/24 ens38インターフェイスおよびネットワーク上の他のコンピューター用。ネットワーク192.168.10.0/24を使用する場合は、 ens38 ルーターのインターフェースは192.168.10.1/24である必要があります。これは、dnsmasqDNSサーバーとDHCPサーバーのIPアドレスです。

ノート: ネットワークインターフェース名が異なる場合があります。あなたはそれがあなたにとって何であるかを知ることができます ip a 指図。



Ubuntu Server 18.04 LTSでは、次を使用できます ネットプラン ネットワークインターフェイスを構成します。デフォルトのネットプラン設定ファイルは /etc/netplan/50-cloud-init.yaml

まず、構成ファイルを開きます /etc/netplan/50-cloud-init.yaml 次のコマンドを使用します。

$sudo ナノ /NS/ネットプラン/50-cloud-init.yaml

次に、次の行を入力し、を押してファイルを保存します + NS に続く

今、あなたの再起動 ルーター 次のコマンドを使用します。

$sudoリブート

一度 ルーター ブート、IPアドレスは期待どおりに割り当てる必要があります。

dnsmasqのインストール:

dnsmasqは、Ubuntuの公式パッケージリポジトリで入手できます。そのため、APTパッケージマネージャーを使用して簡単にインストールできます。

Ubuntuは システム解決済み デフォルトでは、DNSサーバーとDNSキャッシングを管理します。 dnsmasqをインストールする前に、停止して無効にする必要があります システム解決済み サービス。そうしないと、dnsmasqをまったく実行できなくなります。

停止するには システム解決済み サービスを実行するには、次のコマンドを実行します。

$sudosystemctl stopsystemd-解決済み

を無効にするには システム解決済み サービスを実行するには、次のコマンドを実行します。

$sudosystemctl disablesystemd-解決済み

デフォルトでは、 /etc/resolv.conf 以下のスクリーンショットに示されているように、ファイルは別のsystemd構成ファイルにリンクされています。しかし、私たちはもうそれを望んでいません。

だから、削除します /etc/resolv.conf 次のコマンドでリンクします。

$sudo rm -v /NS/resolv.conf

今、新しいを作成します /etc/resolv.conf 次のコマンドを使用して、ファイルを作成し、GoogleDNSサーバーをデフォルトのDNSサーバーとして設定します。

$捨てた 「ネームサーバー8.8.8.8」 | sudo ティー /NS/resolv.conf

ここで、次のコマンドを使用してAPTパッケージリポジトリキャッシュを更新します。

$sudoaptアップデート

次に、次のコマンドを使用してdnsmasqをインストールします。

$sudoaptインストールdnsmasq

dnsmasqをインストールする必要があります。

dnsmasq DNSサーバーの構成:

dnsmasqの設定ファイルは /etc/dnsmasq.conf 。 dnsmasqをDNSサーバーとして構成するには、このファイルを変更する必要があります。

デフォルト /etc/dnsmasq.conf ファイルには多くのドキュメントとコメントアウトされたオプションが含まれています。ですから、名前を変更したほうがいいと思います /etc/dnsmasq.conf にファイルする /etc/dnsmasq.conf.bk 新しいものを作成します。

次のコマンドを使用して、構成ファイルの名前を変更できます。

$sudo mv -v /NS/dnsmasq.conf/NS/dnsmasq.conf.bk

次に、構成ファイルを作成します /etc/dnsmasq.conf 次のように:

$sudo ナノ /NS/dnsmasq.conf

次に、次の行を入力し、を押してファイルを保存します + NS に続く

#DNS構成
=53

ドメインが必要
偽のプライベート
厳密な順序

エキスパンドホスト
ドメイン= example.com

ノート: 変化する example.com あなた自身のドメイン名に。

ここで、次のコマンドを使用してdnsmasqサービスを再起動します。

$sudosystemctl restart dnsmasq

いいえ、エラーです。素晴らしい!

今、あなたは設定する必要があります 192.168.10.1 のデフォルトDNSサーバーアドレスとして /etc/resolv.conf

これを行うには、 /etc/resolv.conf 次のコマンドでファイルします。

$sudo ナノ /NS/resolv.conf

ここで、入力します ネームサーバー192.168.10.1 行の前 ネームサーバー8.8.8.8 以下のスクリーンショットに示すように。次に、ファイルを保存します。

それでおしまい。

DNSレコードの追加:

これで、DNSエントリをに追加できます / etc / hosts ファイル。

まず、 / etc / hosts 次のコマンドでファイルします。

$sudo ナノ /NS/ホスト

次に、DNSエントリを次の形式で入力します。

IP_ADDR DOMAIN_NAME

4つのエントリを追加しました router.example.com(192.168.10.1)host1.example.com(192.168.10.51)host2.example.com(192.168.10.52) 、 と host3.example.com(192.168.10.53) 以下のスクリーンショットに示されているように。 DNSエントリはいくつでも追加できます。

完了したら、を押してファイルを保存します + NS に続く

ここで、次のコマンドを使用してdnsmasqサービスを再起動します。

$sudosystemctl restart dnsmasq

DNSサーバーのテスト:

ご覧のとおり、ローカルDNS解決は機能します。

$あなたrouter.example.com

インターネットの名前解決も機能します。

$あなたGoogle COM

DHCPサーバーの構成:

DHCPサーバーを構成するには、dnsmasq構成ファイルを開きます /etc/dnsmasq.conf 再び次のように:

$sudo ナノ /NS/dnsmasq.conf

次に、マークされた行をファイルの最後に追加します。次に、ファイルを保存します。

#DHCP構成
dhcp-range = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option:router、192.168.10.1
dhcp-option = option:dns-server、192.168.10.1
dhcp-option = option:netmask、255.255.255.0

dhcp-host = 00:0C:29:A5:BD:4A、192.168.10.51
dhcp-host = 00:0C:29:A5:BD:5B、192.168.10.52
dhcp-host = 00:0C:29:A5:BD:6C、192.168.10.53

ここ、 dhcp-range DHCPサーバーがホストに割り当てるIPアドレスの範囲を設定するために使用されます。

dhcp-option ゲートウェイを設定するために使用されます( オプション:ルーター )、DNSサーバーアドレス( オプション:dns-server )、およびネットマスク( オプション:ネットマスク )。

dhcp-host 指定されたMACアドレスに応じて、特定のIPアドレスをホストに設定するために使用されます。

ここで、次のコマンドを使用してdnsmasqサービスを再起動します。

$sudosystemctl restart dnsmasq

DHCPサーバーのテスト:

ご覧のとおり、コンピューター host1 IPアドレスを取得しました 192.168.10.51/24 DHCPサーバーから。

DNS解決はからも機能します host1

同じ方法、 host2host3 また、DHCPサーバーから正しいIPアドレスを取得し、DNS解決はそれらのそれぞれで機能します。

次に進む場所:

dnsmasqについて詳しく知りたい場合は、デフォルトの構成ファイルをチェックアウトしてください /etc/dnsmasq.conf (現在は名前が変更されています /etc/dnsmasq.conf.bk )。 dnsmasqのすべての構成オプションの詳細な説明があります。

$以下 /NS/dnsmasq.conf.bk

Ubuntu Server 18.04LTSのデフォルトのdnsmasq構成ファイル。

つまり、Ubuntu Server 18.04LTSでdnsmasqを構成する方法です。この記事を読んでくれてありがとう。