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

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

FreeBSD 12にNeos CMSをインストールする方法

FreeBSD 12にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

完全なディスク暗号化でOpenBSD 5.6をセットアップする

完全なディスク暗号化でOpenBSD 5.6をセットアップする

このチュートリアルでは、Vultr VPSで完全に暗号化されたディスクを使用してOpenBSD 5.6を設定する方法を示します。暗号化の部分に関する注意:周りのほとんどのデータセンター

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

OpenBSD 6.2にWordPressをインストールする

OpenBSD 6.2にWordPressをインストールする

はじめにWordPressは、インターネット上の主要なコンテンツ管理システムです。ブログから動的コンテンツを備えた複雑なWebサイトまで、あらゆるものを強化します

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

OSの選択:CentOS、Ubuntu、Debian、FreeBSD、CoreOS、またはWindows Server

この記事では、Vultrでテンプレートとして提供されるサーバーオペレーティングシステムの概要を説明します。CentOS CentOSはRHEL(Re

X-Cart 5をFreeBSD 12にインストールする方法

X-Cart 5をFreeBSD 12にインストールする方法

別のシステムを使用していますか?X-Cartは、数多くの機能と統合を備えた非常に柔軟なオープンソースのeコマースプラットフォームです。X-Cartのソースコードはホストです

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

FreeBSD 11 FAMP VPSにOmeka Classic 2.4 CMSをインストールする方法

別のシステムを使用していますか?Omeka Classic 2.4 CMSは、デジタルを共有するための無料のオープンソースのデジタル出版プラットフォームおよびコンテンツ管理システム(CMS)です。

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

Directus 6.4 CMSをFreeBSD 11 FAMP VPSにインストールする方法

別のシステムを使用していますか?Directus 6.4 CMSは、強力で柔軟な無料のオープンソースヘッドレスコンテンツ管理システム(CMS)であり、開発者に提供します。

FreeBSD 11にPyroCMSをインストールする方法

FreeBSD 11にPyroCMSをインストールする方法

別のシステムを使用していますか?PyroCMSは、PHPで記述されたオープンソースのCMSです。PyroCMSソースコードはGitHubでホストされています。このガイドでは、entirをよく歩いてください

FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

FreeBSD 12.0にApache、MySQL、PHP(FAMP)スタックをインストールする方法

はじめにLinuxのLAMPスタックに相当するFAMPスタックは、通常一緒にインストールされるオープンソースソフトウェアのコレクションです。

FreeBSD 11で独自のメールサーバーを構築する

FreeBSD 11で独自のメールサーバーを構築する

独自の電子メールサーバーを実行することは、かなりやりがいがあります。あなたはあなたのデータを担当しています。また、配信オプションの柔軟性も向上します。しかしながら

FreeBSD 10でスワップファイルを作成する

FreeBSD 10でスワップファイルを作成する

デフォルトでは、Vultr FreeBSDサーバーはスワップスペースを含むように構成されていません。使い捨てのクラウドインスタンスを意図している場合は、おそらく必要ありません

FreeBSD 10でのiRedMailのセットアップ

FreeBSD 10でのiRedMailのセットアップ

このチュートリアルでは、FreeBSD 10の新規インストールにグループウェアiRedMailをインストールする方法を示します。少なくとも1ギガバイトのサーバーを使用する必要がありますo

FreeBSDでディスクのサイズを変更する方法

FreeBSDでディスクのサイズを変更する方法

FreeBSDオペレーティングシステムは、ルートパーティションファイルシステムにUFS(Unix File System)を利用しています。別名freebsd-ufsアップグレードの場合

OpenBSD 6でMariaDBを設定する

OpenBSD 6でMariaDBを設定する

この記事では、MariaDBをOpenBSD 6にインストールし、chrootされたWebサーバー(ApacheまたはNginx)からアクセスできるように構成する方法を紹介します。あなたはアルになります

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

FreeBSD 11 FAMP VPSにRedaxscript 3.2 CMSをインストールする方法

別のシステムを使用していますか?Redaxscript 3.2 CMSは、最新で超軽量の無料のオープンソースのコンテンツ管理システム(CMS)です。

FreeBSD 12にCraft CMSをインストールする方法

FreeBSD 12にCraft CMSをインストールする方法

別のシステムを使用していますか?はじめにCraft CMSは、PHPで記述されたオープンソースのCMSです。Craft CMSソースコードはGitHubでホストされています。このガイドはあなたを示します

OpenBSDとhttpdを使用してVultrでシンプルなWebサイトを作成する

OpenBSDとhttpdを使用してVultrでシンプルなWebサイトを作成する

はじめにこのガイドの目的は、OpenBSDとhttpdを使用してVultrでWebサイトのホームページを簡単に作成できることを示すことです。作成

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

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

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

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