Tôi đang cố gắng tạo quy tắc ghép nối IP-MAC trong ebtables . Có một vài hướng dẫn và câu hỏi liên quan [1] có sẵn nhưng tôi có loại cài đặt cụ thể.
MÔI TRƯỜNG: Tôi có nhiều vật chủ . Mỗi máy chủ lưu trữ có một vài thẻ ethernet, được nối với nhau và được sử dụng làm nô lệ cho cầu nối. Có nhiều máy ảo trên mỗi máy chủ (kvm, qemu, libvirt). Mỗi máy ảo được kết nối với một cây cầu của máy chủ vật lý của nó thông qua cổng mới gọi là vnet [0-9] +. Không có NAT. Mạng hoạt động tốt, tất cả các máy chủ vật lý có thể được ping, tất cả các máy ảo cũng vậy. Mỗi máy ảo có địa chỉ IP và địa chỉ MAC riêng.
VẤN ĐỀ: Bên trong một máy ảo, địa chỉ IP có thể được thay đổi thành một địa chỉ khác.
FOUND SOLUTION: Có giải pháp nổi tiếng trên ebtables trang web [2], nhưng giải pháp này là aplicable khi chỉ có một máy chủ được sử dụng. Nó cho phép tất cả lưu lượng truy cập và nếu có một gói từ IP với MAC khác ngoài mức cho phép, gói sẽ bị hủy. Nếu có nhiều hơn một máy chủ, nó yêu cầu tất cả các cặp IP-MAC hiện tại phải được đăng ký trên tất cả các máy chủ. Cần có giải pháp chính sách đảo ngược.
GIẢI PHÁP CRAFTED: Tôi đã cố gắng sử dụng ebtables theo cách đảo ngược. Đây là một ví dụ những gì tôi đã cố gắng.
VÍ DỤ 1
Bridge table: filter
Bridge chain: INPUT, entries: 2, policy: DROP
-i bond0 -j ACCEPT
-p IPv4 -s 54:52:0:98:d7:b6 --ip-src 192.168.11.122 -j ACCEPT
Bridge chain: FORWARD, entries: 0, policy: ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
VÍ DỤ 2
Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 1, policy: DROP
-p IPv4 -s 54:52:0:98:d7:b6 --ip-src 192.168.11.122 -j ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
Cốt lõi của những gì tôi muốn là có DROP chính sách mặc định và chỉ cho phép lưu lượng truy cập từ các máy ảo với cặp IP-MAC chính xác được triển khai trên máy chủ nhất định. Tuy nhiên, những giải pháp đó không hoạt động.
CÂU HỎI: Làm thế nào để chỉ cho phép lưu lượng truy cập trên cầu đối với các cặp máy ảo đang chạy IP-MAC được chỉ định và loại bỏ tất cả các cặp IP-MAC không xác định đến từ các cổng vnet [0-9] +?
Cảm ơn bạn rất nhiều cho bất kỳ câu trả lời.