FreeBSD 10でDHCPからresolv.confを保護する

独自のリゾルバを実行している場合、またはサードパーティプロバイダのリゾルバを使用したい場合は/etc/resolv.conf、DHCPによってファイルが上書きされていることに気付く場合があります。この問題を解決する方法はいくつかあります。変更を確実に反映するために再起動する可能性があり、最初にネットワーク設定を変更するため、テストインスタンスまたはピーク以外の場所でこれを実行することを強くお勧めします時間。

さて、これが最悪から最高までの3つの方法です。このガイドのすべてのメソッドはFreeBSD 10向けに書かれていることに注意してください。Linuxユーザーはこのガイドを参照できます。

方法1:静的インターフェイス設定を使用する

私の限られたテストでは、DHCPがネットワーク設定を割り当てるのを待つ必要がないため、これにより起動時間がわずかに速くなります。ただし、いくつかのVultrのドキュメントで、静的インターフェイス設定の使用は推奨されないため、DHCPに固執する必要があると言及しました。これには正当な理由があると思いますので、私はDHCPを自分で使い続けました。それでも、このルートを選択する場合は、以下の手順に従ってください。

  • サーバーのIP、ネットワークマスク、ゲートウェイIPを決定します。
  • /etc/rc.confDHCPの代わりにこれらの値を使用するように変更します。
  • 再起動して設定をテストします。

IP /ネットマスク/ゲートウェイを決定する

インターフェイスがvtnet0であると仮定して、次の手順を実行します。

ifconfig vtnet0 | grep inet

これにより、サーバーのIPアドレスとネットマスクが取得されます。

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSDはネットマスクに16進数を使うのが好きです。上記255.255.255.0は、興味がある場合に変換されます。ここに便利な表がありますが、恐れる必要はありません。16進アドレスを構成ファイルにコピーするだけです(または、必要に応じて10進数に変換できます)。

ゲートウェイはいくつかの方法で見つけることができます。ここに一つあります:

route get default | grep gateway 次の行に沿って何かを返します:

gateway: 10.10.10.1

/etc/rc.conf新しい値で変更

IP、ネットマスク、ゲートウェイを装備したので、それらをシステム構成に追加します。変更を加える前に、このファイルをバックアップしておくことを強くお勧めします。次に、/etc/rc.conf選択したエディターで開き、次の変更を行います。

# Comment out this line:
# ifconfig_vtnet0="dhcp"

# Add these lines:
defaultrouter="10.10.10.1"
ifconfig_vtnet0="inet 10.10.10.10 netmask 0xffffff00"

明らかに、私の明らかな偽物を実際のIP、ネットマスク、およびゲートウェイ置き換えてください

再起動してテスト

を使用shutdown -r nowしてサーバーを再起動し、サーバーが正常に起動することを確認します。すべてが適切に機能していることを確認するために必要と思われるテストを実行します。ネットワークにアクセスできない場合は、コンソールからログインして変更を元に戻します。すべてが問題なければ、この時点resolv.confで、消去されることを恐れずに、好きなものを何でも入れることができます。

なんらかの理由で再起動できない場合、これ機能するはずですが、私があなたなら、適切に再起動します。

service netif restart && service routing restart

方法2:resolv.conf不変にする

これはちょっとしたハックですが、最も簡単な解決策です。これがオペレーティングシステムの新しいリリースにアップグレードするときに、将来的に奇妙なことが起こらないことを保証できず、dhclientが不平を言う可能性があるため、お勧めしません。とchflags schg /etc/resolv.confはいえ、必要なのはシンプルなものだけです。これで、ファイルはルートからでも完全に書き込み保護されました。次のように確認できます:

vultr [~]# chflags schg /etc/resolv.conf
vultr [~]# ls -ol /etc/resolv.conf
-rw-r--r--  1 root  wheel  schg 50 Nov 29 06:28 /etc/resolv.conf
vultr [~]# echo "so very untouchable" >> /etc/resolv.conf
/etc/resolv.conf: Operation not permitted.

元に戻す: chflags noschg /etc/resolv.conf

方法3:FreeBSDに設定をそのままにするよう丁寧に指示する

これは、これを実現するための最もクリーンで最も適切な方法です。あなたが取ることができる2つのアプローチがあります:

構成、設定 dhclient

上から例を見てみましょう。カスタムネームサーバーを配置するresolv.confだけで、DHCPが実行するたびにカスタムネームサーバーを失いたくないとしましょう。私の場合は、ローカルホストでリッスンするインストール済みのキャッシュリゾルバーを使用したいので、編集して/etc/dhclient.conf(コメント以外は空白になる可能性があります)、以下を追加します。

interface "vtnet0" {
    supersede domain-name-servers 127.0.0.1;
}

これにより、dhclientは必要な他のすべてのことを実行できますが、DHCPサーバーが使用するネームサーバーのリストを送信すると、提供されているネームサーバーがDHCPサーバーに置き換えられます(完全に置き換えられます)。提供されたものを(置き換えるのではなく)補足したい場合は、必要に応じて、「置き換え」の代わりに「追加」または「追加」することができます。

ちなみに、複数のカスタムサーバーが必要な場合は、次のように指定します。

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

変更を加えたら、再起動dhclientして変更をすぐに有効にします。

service dhclient restart vtnet0

を調べる/etc/resolv.confと、カスタムネームサーバーが含まれていることがわかります。

これを書いている時点で、ネームサーバーはVultrのDHCPサーバーがこれまでにに入れresolv.confた唯一のものであり、カスタマイズするために注意を払った唯一のものです。ただし、他の設定を上書きする必要がある場合は、優れたマニュアルで包括的なリストを確認してください。

man 5 dhclient.conf

一番下には、何ができるかを理解できる素晴らしい例があります。私の頭の上から、supersede domain-name "example.com";通常はそのような行をに持っているようなものを追加したいと思うかもしれませんresolv.conf。再度、ドキュメントを参照してください。

構成、設定 resolvconf

これをresolv.conf放っておくだけの場合は、これが最も簡単なソリューションです。マニュアルによると:

resolvconf manages resolv.conf(5) files from multiple sources, such as DHCP and VPN clients

その構成はに/etc/resolvconf.confありますが、システムには存在しない可能性があるため、自由に作成してください。あなたのようにするにはresolv.conf、不変の、これを追加します。

# prevent all updates to resolv.conf:
resolv_conf="/dev/null"

unboundローカルキャッシングリゾルバーとして使用する場合、それが追加される行です(それ自体にいくつかの行があります)。それは基本的にresolvconfあなた/etc/resolv.confがにいると考えるように騙すこと/dev/nullです。少し意味が少ないが、同等に効果的なものは次のとおりです。

# disable resolvconf from running any subscribers:
resolvconf="NO"

単にオフにするだけでなく、より高度なことをしたい場合は、manページを参照resolvconfresolvconf.confてください。



Leave a Comment

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、