Tôi (rất cẩn thận) nghĩ đến việc mở một trong các máy ảo của mình (tất cả trên KVM) để truy cập bên ngoài. Hiện tại, chỉ thông qua đường hầm có đám mây, nhưng nó có thể thay đổi. Vì vậy, tôi cần một cách để chặn chắc chắn và an toàn quyền truy cập từ máy ảo cụ thể đó tới bất kỳ và tất cả các máy chủ trên mạng riêng, đề phòng trường hợp ai đó đột nhập và lấy được quyền root. VM cụ thể đó (hãy gọi nó là VM10) chỉ có quyền truy cập vào cổng và từ đó truy cập Internet. Đồng thời, tôi muốn có thể truy cập máy ảo cụ thể đó từ một IP trên (các) mạng riêng để bảo trì, sao lưu và phát triển thêm. Tôi đang sử dụng những cây cầu.
VM10 được kết nối qua br1 và br2.
Br1 kết nối với Internet. Br2 là một mạng riêng tốc độ cao.
Trên VM10, eth0 kết nối với br1 bằng IP 192.168.1.10; eth2 kết nối với br2 với IP 192.168.222.10
Bất kỳ ai đã đăng nhập vào VM10, ngay cả khi có quyền truy cập root, chỉ có thể truy cập 192.168.1.1 và hơn thế nữa là Internet. Bất kỳ ai đã đăng nhập vào VM10, ngay cả khi có quyền truy cập root, sẽ không thể truy cập bất kỳ thứ gì thông qua eth2. Tốt hơn là, eth2 thậm chí sẽ không hiển thị khi đăng nhập vào VM10.
Tôi không muốn làm điều đó với quy tắc tường lửa trên VM10, bởi vì nếu ai đó root trên VM10, tường lửa sẽ ngừng hoạt động sau vài giây.
Tôi không muốn làm điều đó với các quy tắc tường lửa trong các hộp trên mạng riêng, bởi vì đó là một rắc rối, dễ bị bỏ qua. Tôi muốn đưa một cái gì đó vào XML của VM10 và hoàn thành nó.
Đối với VM10:
- Cho phép vào và ra đến/từ 192.168.1.1 và Internet.
- Không cho phép truy cập vào bất kỳ ip nào khác trên br1. Cho phép xâm nhập.
- Không cho phép đi ra tất cả các ip trên br2. Cho phép xâm nhập.
- Thực hiện việc này theo cách sao cho người dùng root đã đăng nhập vào VM10 không thể thay đổi được
Tôi nghĩ bộ lọc mạng của libvirt có thể làm được điều đó, nhưng tôi e rằng tài liệu của họ là một chủ đề quá dày đặc đối với cái đầu già của tôi.
Một linh hồn tốt bụng có thể giúp đỡ? Có thể, với một quy tắc hoàn chỉnh?
Cảm ơn bạn.