IPv6を無効にせずにIPv6「ルーター広告」がsyslogを埋めるのを止めることはできますか?

IPv6を無効にせずにIPv6「ルーター広告」がsyslogを埋めるのを止めることはできますか?

私のシステムログは次のとおりです。

Apr  1 19:05:25 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:07:35 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:10:26 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:13:10 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:15:13 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:17:01 raspberrypi CRON[8809]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Apr  1 19:18:05 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:20:41 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:24:41 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:27:49 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:29:30 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:29:43 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:31:25 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:35:23 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:36:25 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170

これが何であるかを理解するのは困難ですが、システムログをスキャンするのは少し面倒です。 (私はLinuxに初めてアクセスし、Raspbian Jessie Liteで設定していることを確認するために見続けるつもりです。問題を引き起こすものは何も設定していません。)

オンラインで入力しなければならないという情報がたくさん見つかりましたが、マニュアルにはそうではnoipv6rsあり/etc/dhcpcd.confませんでしたDisable solicitation and receipt of IPv6 Router Advertisements。これが何を意味するのかよく分からない。ちょうど私のログにスパムを送信せず、どのような動作も変更しないことを願っています。

私は今からDHCPクライアントや他のものを変更することに本当に興味がありません(Raspbian Jessie Liteのイメージをできるだけ少なく変更しようとしています)。

それでは、設定の意味は何ですか、noipv6rsより良い方法はありますか?logfileDHCPを別の場所にログインするように設定し、それを無視する必要がありますか?

答え1

Raspbianはrsyslogをシステムログサービスとして使用します。 rsyslog ドキュメントを見るとフィルタ条件すべてのフィルタ操作に対してこれを行う方法を教えてください。

特定の質問に答えるには、rsyslog設定ファイル(通常は/etc/rsyslog.confにあります)の上部近くに次の行を置くことができます。

:msg, contains, "Router Advertisement from" stop

分解してみましょう...

:msgこれは、syslogメッセージテキストを表示するように指定します。

containsメッセージのどこにでも存在できます。

"Router Advertisement from"これがあなたが探しているものです

~削除操作です。

また、操作は順番に実行されるため、ファイルの場所が関連していることに注意してください。文書の廃棄例では、これについてさらに詳しく説明する。

答え2

なぜ役に立たないのか探してみましたが、おそらく興味深いでしょう。 IPv6をサポートするOpenWrtルーターを使用するときは、この事実を知りませんでした。

/* We don't want to spam the log with the fact we got an RA every
 * 30 seconds or so, so only spam the log if it's different. */
if (options & DHCPCD_DEBUG || rap == NULL ||
    (rap->expired || rap->data_len != len ||
     memcmp(rap->data, (unsigned char *)icp, rap->data_len) != 0))
{
    if (rap) {
        free(rap->data);
        rap->data_len = 0;
    }
    syslog(LOG_INFO, "%s: Router Advertisement from %s",
        ifp->name, sfrom);

これがメッセージの原因である可能性があるかどうかは確認できませんでしたが、上記のテストを見て容疑者を見つけました。次のRAが受信される前にRAが「期限切れ」になると記録される。以降のバージョンでは、このメッセージをデバッグステートメントにレベルを下げ、理由を説明しました。

/* We could change the debug level based on new_data, but some
     * routers like to decrease the advertised valid and preferred times
     * in accordance with the own prefix times which would result in too
     * much needless log spam. */
    logger(ifp->ctx, new_rap ? LOG_INFO : LOG_DEBUG,
        "%s: Router Advertisement from %s",
        ifp->name, ctx->sfrom);

即時期限切れのルーター広告を送信することは完全に合法的です。明らかに、ソースをデフォルトのルーターとして使用してはいけないことを示す必要がありますが、宣言は独自のライフサイクルを持つ追加情報を提供できます。 (たとえば、特定のルーティングまたはDNSサーバーです。)

ルーターの寿命

16ビット符号なし整数。プライマリルータに関連する寿命(秒)。このフィールドには最大65535の値を含めることができ、受信者はすべての値を処理する必要があり、セクション6の転送ルールは寿命を9000秒に制限します。寿命が0の場合、そのルーターはデフォルトルーターではなく、デフォルトルーターリストに表示されてはいけません。ルーターのライフサイクルは、デフォルトのルーターとしてのルーターの有用性にのみ適用され、他のメッセージフィールドまたはオプションに含まれる情報には適用されません。情報に時間制限が必要なオプションには、一意の寿命フィールドが含まれます。

一般的な「顧客エッジルーター」の場合、私が言及した2つのルーターの動作が特に推奨されます。

マルチプレフィックス環境 [MULTIHOMING-WITHOUT-NAT] でマルチホーミングを処理しないホストの実装をサポートするには、IPv6 CE ルータは、次の要件で詳しく説明するように、ルータが存在しない場合に LAN インターフェイスで自分をプライマリ ルータとして宣伝する必要があります。します。 IPv6 接続または IPv6 アドレスが設定されていない場合。

正しく機能するためにIPv4に依存する以前の設定がある場合、この概念は壊れる可能性があります(以前のDHCPはマルチルータをサポートしていません)。古いネットワークプリンタでも、LinuxがAvahiのMDNS実装を使用して、デフォルトでIPv6が無効になっている他のコンピュータやプリンタを検索することもできます。

答え3

私のRaspbianが付属していますDHCPCDサービスデフォルトで実行します。

/etc/dhcpcd.conf最後に私のユニークなオプションのいくつかを追加して設定ファイルを変更しました(これはman dhcpcd.conf興味のある方のために):

# the rest of the options are above
ipv4only
noipv6
nodhcp6

その後、サービスを再起動してくださいsudo service dhcpcd restart。それ以来、ログはよりきれいになりました。

PS:私はこれらの選択について編集的です。そのうちの1つだけで十分だろうと確信していますが、すべてテストするための忍耐力はありません。どれかご存知の方はコメントお願いします。

答え4

anzo2001が指摘したように、dhcpcdはRaspbianでデフォルトで有効になっており、dhcpv6を使用しています。

次のオプションを追加して、/etc/dhcpcd.confでdhcpv6を無効にします。

nodhcp6

IPV6は引き続き機能できますが、SLAACはdhcpv6を置き換えます。住所属性に使用され、独自のルーター広告は記録されません。

関連情報