Tôi có tình trạng mạng ảo (docker bridge) kỳ lạ
Tôi có hai docker được kết nối với cùng một cây cầu thông qua docker-compose. Một docker là "thăm dò" và một là "kim phun". Injector sử dụng tcpreplay để phát lại quá trình chụp và "thăm dò" sẽ nhận nó qua tcpdump. Không cần phải nói rằng quá trình chụp lại được phát lại không có bất kỳ mối liên hệ nào với IP hoặc máy Mac của NICS được gắn vào cầu nối.ping đang hoạt động tốt giữa các máy chủ.
Bây giờ có một NIC thứ ba tự động tiếp xúc với máy chủ bởi docker.
+--->NIC1 ["tiêm" docker / sử dụng tcpreplay để tiêm]
bridge +--->NIC2 [docker "thăm dò" / sử dụng tcpdump để nghe]
|
+--- Máy chủ NIC3 [được sử dụng để kiểm tra đôi khi với tư cách là người tiêm và đôi khi là người nghe]
Bây giờ điều thực sự xảy ra là khi tcpreplay được chạy từ HOST (chích chụp qua NIC3), mọi thứ đều hoạt động tốt và tcpdump trên "thăm dò" hiển thị lưu lượng được phát lại. Tuy nhiên, khi tcpreplay được sử dụng trên trình tiêm và thực hiện quá trình chụp qua NIC1, chỉ có thể nhìn thấy hai gói chụp đầu tiên trên "đầu dò" và sau đó tất cả lưu lượng truy cập trên "thăm dò" sẽ dừng (đồng thời việc tiêm từ máy chủ sẽ ngừng hoạt động). nếu tcpdump được chạy trên NIC3 thì nó sẽ nhận được tất cả lưu lượng truy cập bị bắt từ bộ tiêm một cách bình thường.
- ifconfig trên "thăm dò" không hiển thị bất kỳ gói bị rớt nào
- iptables trên máy chủ không làm tăng số lượng gói bị rớt (hy vọng tôi đang làm đúng "sudo iptables -L -v -n | grep -i drop")
- tcpdump tự động kích hoạt chế độ hỗn tạp trên đầu dò
Có ai có lời giải thích cho hành vi bất đối xứng này? Bất kỳ ý tưởng làm thế nào để gỡ lỗi nó?
Đầu phun và máy chủ - AlmaLinux:8, thăm dò -Centos:7
phiên bản tcpreplay 4.4.1