Điểm:0

tc-mirred, luồng chuyển hướng khớp với giao diện giả

lá cờ za

Tôi đang mở rộng một thiết bị kiểm tra an ninh. Bước giới hạn tốc độ là một quy trình đơn luồng phân tích và trích xuất dữ liệu từ các luồng mạng.

Là một mục tiêu ngắn hạn, tôi muốn mở rộng quy mô này bằng cách cân bằng tải từ giao diện chụp vật lý sang giao diện giả hoặc nhấn bên trong và sau đó có nhiều phiên bản của quy trình một luồng đang chạy bằng cách sử dụng các phiên bản đó làm đầu vào. Mỗi phiên bản của quy trình luồng đơn yêu cầu các luồng mạng hoàn chỉnh (tức là bộ phù hợp - TCP hoặc UDP). Tôi không quan tâm đến lưu lượng truy cập sau khi nó chạm vào các giao diện giả - sau đó nó sẽ bị giảm nên tôi không cần lo lắng về đường dẫn trở lại hoặc bất cứ điều gì liên quan.

Sau khi đọc một số, tôi nghĩ rằng hành động chuyển hướng băm dựa trên luồng và tc-mirred có thể là giải pháp mà tôi đang tìm kiếm.

Vì vậy, tôi đã có điều này cho đến nay:

# Thiết lập giao diện
PHYS="eth1"
INT_COUNT=4 # Xuất phát từ số lõi CPU
# Tạo một số giao diện giả
cho tôi sau {1..$INT_COUNT}
   liên kết ip add dummy$i type dummy
   đặt liên kết ip dummy$i lên
xong

# Tạo qdisc
tc qdisc add dev $PHY xâm nhập

# Bộ lọc dựa trên bộ lưu lượng. Các lớp được tạo tự động do số chia
bộ lọc tc thêm dev $PHYS cha mẹ ffff: xử lý 1 \
   các khóa băm luồng src,dst,proto,proto-src,proto-dst \
   số chia $INT_COUNT

# Bây giờ bằng cách nào đó hãy áp dụng hành động chuyển hướng cho các lớp đã tạo
# cho mỗi giao diện giả
cho tôi sau {1..$INT_COUNT}
   do tc filter add dev $PHYS parent ffff: giao thức ip u32 khớp với u32 0 0 \
         hành động mirred egress chuyển hướng dev dummy$i
xong

Đó là phần cuối cùng mà tôi dường như không thể hiểu được. Các lớp được tạo tự động với câu lệnh số chia trong bộ lọc, Vì số chia đang sử dụng modulo của hàm băm nên tôi sẽ nhận được các lớp mà tôi có thể tham khảo.

Làm cách nào tôi có thể nói "lớp" N ", chuyển sang dummyN"?

Tôi đã đọc rất nhiều về điều này nhưng tôi nghĩ có một số phần quan trọng mà tôi không hiểu. Tôi đang nghĩ rằng tôi cần flowid trong hành động nhưng tôi không chắc lắm.

Bất kỳ mẹo hoặc đề xuất nào về điều này sẽ được đánh giá rất cao.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.