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이면 해당 라우터가 기본 라우터가 아니며 기본 라우터 목록에 표시되어서는 안 된다는 의미입니다. 라우터 수명 주기는 기본 라우터로서의 라우터 유용성에만 적용되며 다른 메시지 필드나 옵션에 포함된 정보에는 적용되지 않습니다. 정보에 시간 제한이 필요한 옵션에는 고유한 수명 필드가 포함됩니다.

일반적인 "고객 에지 라우터"의 경우 제가 언급한 두 라우터 동작이 특히 권장됩니다.

다중 접두사 환경 [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. 그 이후로 로그가 더 깨끗해졌습니다.

추신: 저는 이러한 선택에 대해 편집증적입니다. 그중 하나만으로 충분할 것이라고 확신하지만, 모두 테스트할 인내심이 없습니다. 어느 것인지 아시는 분은 댓글 부탁드립니다.

답변4

anzo2001이 지적했듯이 dhcpcd는 Raspbian에서 기본적으로 활성화되어 있으며 dhcpv6을 사용합니다.

다음 옵션을 추가하여 /etc/dhcpcd.conf에서 dhcpv6을 비활성화합니다:

nodhcp6

IPV6은 계속 작동할 수 있지만SLAAC가 dhcpv6을 대체합니다.주소 속성에 사용되며 더 이상 자체 라우터 광고를 기록하지 않습니다.

관련 정보