Linux "화성 소스" 로그를 읽는 방법은 무엇입니까?

Linux "화성 소스" 로그를 읽는 방법은 무엇입니까?

정책 기반 라우팅(업데이트, SSH 등과 같은 호스트 관련 트래픽을 위한 192.168.1.0/24 관리 네트워크, VM으로 라우팅되는 192.168.2.0/24 DMZ 네트워크)으로 KVM 가상화 호스트를 설정하고 있습니다.

설정은 다음과 같습니다(^^^ 내 말은위와 같이트리 구조를 표현하기 위해)

#external connectivity
eth0 -> vlan110 -> brhost (192.168.1.9)
^^^  -> vlan120 -> brguest (192.168.2.4)

#internal connectivity
brguestA (10.0.1.1) -> tapA0
^^^                 -> tapA1
^^^                 -> tapA2
brguestB (10.0.2.1) -> tapB0
^^^                 -> tapB1

# ... and so on for each VM group subnet

머신 An은 하나의 "스위치"에 있고 Bn은 두 번째 스위치에 있습니다. 호스트는 라우터처럼 작동하며 iptables가 설치되어 있습니다. 소스 IP는 iptables 수준의 브리지별로 검증됩니다.

일반적으로 모든 "정상"이 작동하지만 일부 경계선 작업을 수행할 때 여전히 예상대로 작동하지만 로그에 따르면 실제 제대로 작동하는 것보다 우연의 일치가 더 많다고 합니다. 예를 들어:

  • iptables 수준(tcp-reset)에서 작업이 차단된 VM(관리 네트워크의 다른 호스트)에서 192.168.1.3에 연결하면

    (iptables reject log) IN=brguestA OUT=brguest SRC=10.0.1.2 DST=192.168.1.3 ...
    IPv4: martian source 10.0.1.2 from 192.168.1.3 on dev brhost
    

인터페이스 는 OUT호스트/게스트 네트워킹 분리 논리를 고려하여 수행해야 하는 작업에 따라 실제로 정확하며 이러한 패킷이 호스트에 의해 전달되더라도 어쨌든 방화벽에서 삭제됩니다. 그럼에도 불구하고 호스트 iptables는 tcp-reset을 사용하여 제대로 거부할 수 없으므로 이러한 연결은 VM에서 중단되고 재설정을 받지 못합니다.

  • VM에서 192.168.1.9에 연결하면

    IPv4: martian source 192.168.1.9 from 10.0.1.2 on dev brguestA
    

그리고 다른 것은 없습니다. 해당 로그에서 10.0.1.x와 192.168.1.x의 위치를 ​​바꾸면 정말 혼란스럽고 그 의미가 무엇인지(어떤 것이 src IP이고 어떤 것이 dst IP인지) 이해하지 못합니다. 호스트가 무엇을 하려고 하는지, 왜 실패하는지 잘 모르겠습니다. my ip rule및 의 출력은 다음과 같습니다 ip route.

ip rule
0: from all lookup local
32763: from 10.0.0.0/16 lookup guest
32764: from 192.168.2.0/24 lookup guest
32765: from all iif lo lookup host
32766: from all lookup main
32767: from all lookup default

ip route show table host
default via 192.168.1.1 dev brhost proto static
192.168.1.0/24 dev brhost proto static

ip route show table guest
default via 192.168.2.1 dev brguest proto static
10.0.0.0/24 dev brguestA proto static
10.0.1.0/24 dev brguestB proto static
# ... so on for other networks

ip route show table main
192.168.1.0/24 dev brhost proto static
10.0.0.0/24 dev brguestA proto static
10.0.1.0/24 dev brguestB proto static
# ...

systemd-networkd네트워크 관리용으로 사용하고 있습니다 . 나생각호스트는 항상 장치를 설정된 패킷 유형 brhost으로 사용하여 응답하려고 시도하므로 규칙 에 따라 발생합니다 . 그러나 연결이 제대로 거부되어 항상 출력 소스로 선택되지는 않는 경우가 아닌 것 같습니다 .OUTPUTiiflofrom iif lookup host192.168.2.4brhost

관련 정보