커널 링 버퍼에서 화성 패킷에 대한 경고를 수정하는 것이 중요합니까?

커널 링 버퍼에서 화성 패킷에 대한 경고를 수정하는 것이 중요합니까?

다음은 내가 실행할 때 표시되는 출력입니다.dmesg

[1373335.656608] device eth0 entered promiscuous mode
[1373364.891962] device eth1 entered promiscuous mode
[1374537.599978] IPv4: martian source 10.5.0.2 from 203.115.192.116, on dev eth0
[1374562.256536] device eth1 left promiscuous mode
[1375229.342282] device eth1 entered promiscuous mode
[1376178.967446] device eth0 left promiscuous mode
[1376182.455498] device eth0 entered promiscuous mode
  • Q1) 화성 패킷의 소스 주소가 라우팅이 불가능한 IP를 사용하고 있는 것으로 알고 있습니다. 호스트는 임시 공개 IP를 사용하는 Google Compute 인스턴스입니다. "203.115.192.116의 화성 소스 10.5.0.2"는 무엇을 의미합니까?
  • Q2) iptables가 이를 필터링해야 합니까(보안상의 이유로)?

답변1

가상의 응답 패킷이 다른 인터페이스를 통해 라우팅되는 경우 해당 인터페이스에 도착하는 패킷은 "화성"으로 간주됩니다. 귀하의 경우 203.115.192.116은 eth0 인터페이스에 도착하는 10.5.0.2로 패킷을 보냅니다. 10.5.0.2가 귀하의 주소이고 ip route get 203.115.192.116eth0과 다른 인터페이스를 올바르게 보고하며 실제로 그러한 비대칭 라우팅을 수행하려는 경우 이러한 화성 로그를 비활성화해야 합니다. 예:

echo 0 > /proc/sys/net/ipv4/conf/eth0/log_martians

또한 rp_filter비활성화되어야 합니다. 그렇지 않으면(그리고 이것이 가능성이 더 높은 것 같습니다) 어딘가에 해결해야 할 라우팅 문제가 있습니다. 수정할 수 없는 경우(주로 호스팅된 클라우드 환경에서) 위와 같이 로깅을 완전히 비활성화하거나 보다 선택적으로 제거할 수 있습니다 iptables(필터하지만 체인에 비해 너무 늦을 수도 있습니다.)

답변2

Martian 패킷은 해당 인터페이스에 예상된 로컬 주소가 표시되는 경우입니다(예: 패킷이 패킷이 전송된 네트워크와 다른 로컬 네트워크에 대한 것임).

이는 권장되는 네트워크 설계는 아니지만 일부 네트워크는 "mars" 패킷을 갖도록 설계될 수 있습니다(예: 여러 논리 네트워크가 있는 VLAN/물리적 네트워크).

서버에서 이를 사용하는 경우 iptables표시되어서는 안 되는 패킷을 필터링하는 것은 아마도 나쁜 생각이 아닐 것입니다.

그러나 사전 프로덕션 설정에서 Martian 로깅을 수행하는 동안 Martian은 일반적으로 많은 로그를 생성하고 I/O 작업에 세금을 부과하므로 Martian 로깅을 수행하지 않을 것입니다.

관련 정보