48장. nmcli를 사용하여 네트워크 인터페이스 미러링
네트워크 관리자는 포트 미러링을 사용하여 한 네트워크 장치에서 다른 네트워크 장치로 전달되는 인바운드 및 아웃바운드 네트워크 트래픽을 복제할 수 있습니다. 인터페이스의 트래픽 미러링은 다음과 같은 상황에서 유용할 수 있습니다.
- 네트워킹 문제를 디버그하고 네트워크 흐름을 조정하려면 다음을 수행합니다.
- 네트워크 트래픽 검사 및 분석
- 침입 감지
사전 요구 사항
- 네트워크 트래픽을 미러링할 네트워크 인터페이스입니다.
프로세스
네트워크 트래픽을 미러링할 네트워크 연결 프로필을 추가합니다.
nmcli connection add type ethernet ifname enp1s0 con-name enp1s0 autoconnect no
# nmcli connection add type ethernet ifname enp1s0 con-name enp1s0 autoconnect noCopy to Clipboard Copied! Toggle word wrap Toggle overflow 10:handle를 사용하여 송신(outgoing) 트래픽에 대해prio유형의qdisc를enp1s0에 연결합니다.nmcli connection modify enp1s0 +tc.qdisc "root prio handle 10:"
# nmcli connection modify enp1s0 +tc.qdisc "root prio handle 10:"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 하위 항목 없이 연결된
qdisc를prio로 설정하면 필터를 연결할 수 있습니다.ffff:handle를 사용하여 수신 트래픽에qdisc를 추가합니다.nmcli connection modify enp1s0 +tc.qdisc "ingress handle ffff:"
# nmcli connection modify enp1s0 +tc.qdisc "ingress handle ffff:"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 수신 및 송신
qdiscs의 패킷과 일치하도록 다음 필터를 추가하고enp7s0에 미러링합니다.nmcli connection modify enp1s0 +tc.tfilter "parent ffff: matchall action mirred egress mirror dev enp7s0" nmcli connection modify enp1s0 +tc.tfilter "parent 10: matchall action mirred egress mirror dev enp7s0"
# nmcli connection modify enp1s0 +tc.tfilter "parent ffff: matchall action mirred egress mirror dev enp7s0" # nmcli connection modify enp1s0 +tc.tfilter "parent 10: matchall action mirred egress mirror dev enp7s0"Copy to Clipboard Copied! Toggle word wrap Toggle overflow matchall필터는 모든 패킷과 일치하며mirred작업은 패킷을 대상으로 리디렉션합니다.연결을 활성화합니다.
nmcli connection up enp1s0
# nmcli connection up enp1s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
tcpdump유틸리티를 설치합니다.yum install tcpdump
# yum install tcpdumpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 대상 장치에 미러링된 트래픽을 표시합니다(
enp7s0):tcpdump -i enp7s0
# tcpdump -i enp7s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow