RHEL 7サーバーでのavahiの目的は何ですか?


19

CentOS 7でサーバーマシンを実行すると、デフォルトでavahiサービスが実行されていることに気付きました。

私はそれの目的が何なのかと思っています。

(私の環境では)行われているように思われることの1つは、IPv6接続をランダムに無効にすることです。ログでは次のようになります。

Oct 20 12:23:29 example.org 
  avahi-daemon[779]: Withdrawing address record for fd00::1:2:3:4 on eno1
Oct 20 12:23:30 example.org
  Withdrawing address record for 2001:1:2:3:4:5:6:7
Oct 20 12:23:30 example.org
  Registering new address record for fe80::1:2:3:4 on eno1.*.

(接尾辞1:2:3...は構成されています)

実際、その後、パブリック2001:1:2:3:4:5:6:7IPv6アドレスにはアクセスできなくなります。

そのため、次の方法でavahiサービスを無効にしました。

# systemctl disable avahi-daemon.socket avahi-daemon.service
# systemctl mask avahi-daemon.socket avahi-daemon.service
# systemctl stop avahi-daemon.socket avahi-daemon.service

これまでのところ、制限に気付いていません。

したがって、サーバーシステムでのavahiのユースケースに関する私の質問です。

回答:


21

AvahiはBonjour / Zeroconfのオープンソース実装です。

抜粋-http://avahi.org/

Avahiは、mDNS / DNS-SDプロトコルスイートを介してローカルネットワーク上のサービス検出を容易にするシステムです。これにより、ラップトップまたはコンピューターをネットワークに接続して、チャットできる他の人を即座に表示したり、印刷するプリンターを見つけたり、共有されているファイルを見つけたりすることができます。互換性のあるテクノロジーは、Apple MacOS X(Bonjourブランド、場合によってはZeroconf)に含まれています。

より詳細な説明はウィキペディアの記事とともにここにありますArchLinuxの記事は Avahiは恩恵を受けることができるサービスの種類を指定して、より有用です。

過去に私は一般的にサーバー上でそれを無効にしました。過去に管理していたすべてのサーバーは、アクセスする必要のあるさまざまなリソースについて明示的に知らされていたからです。

Avahiの2つの大きな利点は、名前解決とプリンターの検索ですが、管理された環境のサーバーではほとんど価値がありません。


私は主に最初の答えについてコメントしたいだけでした:「...しかし、管理された環境のサーバーでは、ほとんど価値がありません。」サーバーでavahiを実行するポイントは、クライアントにサービスを通知することです。そのため、サーバー上に置くことは完全に理にかなっています。しかし、実際にサーバーアナウンスを受信するには、クライアントでavahiも必要です(Macでない場合)。一般に、サービスを見つけるためにavahiを利用するクライアントも必要です。
削除は

2
@TommySvensson、おそらく「信頼できるネットワーク内の」「ホームサーバー」と、Webサイトをホストし、メールサービスなどを提供する「実際の」インターネットサーバー(ある種の悪環境)を区別する必要があります。AFAIU、avahiは、ホームネットワークの使用、つまり実際にはクライアントとサーバーを区別できない場所(つまり、多くのサービス提供マシンがクライアントでもある場所)のためにインデントされています。
maxschlepzig

@TommySvensson-私のキャリアで扱ったデータセンターのセットアップでは、サーバーのグループと別のグループとの間で許可されるさまざまな通信が厳しく制御されているため(ポート@ホストタイプの接続性)、Avahiのようなものは実際には何の目的も果たさず、許可されている通信の制限的な性質を考えると、働くことさえ許されません。
slm

2
役に立たず、問題があるようです。常にアンインストールします。無効にする方法を考え出すことすらしません。
sudo

5

次を実行することができます

systemctl disable avahi-daemon.socket avahi-daemon.service 

ただし、上記は一時的にのみavahiを無効にすることに注意してください。自動再有効化を防ぐには、マスクする必要があります。

systemctl mask avahi-daemon.socket avahi-daemon.service 

なぜ、ベンダーはavahiに依存関係を強制するパッケージを作成するのですか?


6
cronスクリプトを使用できるのはなぜか、systemctl maskそれらが再び有効になることを心配する必要がないのはなぜですか?
マイケルハンプトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.