Sự khác biệt giữa virbr # và vnet # là gì?


11

Tôi đang chạy KVM trên RHEL6 và tôi đã tạo ra một số máy ảo trong đó. ifconfigLệnh phát hành cho dòng lệnh hệ thống máy chủ hiển thị danh sách virbr0, virbr1 ... và vnet0, vnet2 ... Chúng có phải là địa chỉ IP của HĐH khách không? Sự khác biệt giữa virbr # và vnet # là gì?

Câu trả lời:


21

Đó là các giao diện mạng, không phải địa chỉ IP. Giao diện mạng có thể có các gói từ bất kỳ giao thức nào được trao đổi trên chúng, bao gồm cả IPv4 hoặc IPv6, trong trường hợp đó chúng có thể được cung cấp một hoặc nhiều địa chỉ IP.

virbrlà giao diện cầu. Chúng ảo ở chỗ không có thẻ giao diện mạng liên quan đến chúng. Vai trò của chúng là hoạt động như một cây cầu hoặc công tắc thực sự, đó là các gói chuyển đổi (ở lớp 2) giữa các giao diện (thực hoặc khác) được gắn vào nó giống như một công tắc ethernet thực sự.

Bạn có thể chỉ định một địa chỉ IP cho thiết bị đó, về cơ bản sẽ cung cấp cho máy chủ một địa chỉ IP trên mạng con mà cầu nối với. Sau đó, nó sẽ sử dụng địa chỉ MAC của một trong các giao diện được gắn vào cây cầu.

Thực tế là tên của họ bắt đầu bằng virkhông làm cho chúng khác với bất kỳ giao diện cầu nào khác, chỉ là những cái đó đã được tạo ra libvirtđể dành không gian tên cho bridgegiao diện

vnetgiao diện là các loại giao diện ảo khác được gọi là tapgiao diện. Chúng được gắn vào một quy trình (trong trường hợp này là quy trình chạy trên qemu-kvmtrình giả lập). Những gì quá trình ghi vào giao diện đó sẽ xuất hiện như đã được máy chủ nhận được trên giao diện đó và những gì máy chủ truyền trên giao diện đó có sẵn để đọc theo quy trình đó. qemuthường sử dụng nó cho giao diện mạng ảo hóa của nó trong máy khách.

Thông thường, một vnetsẽ được thêm vào một giao diện cầu có nghĩa là cắm VM vào một công tắc.


Cảm ơn bạn rất nhiều vì câu trả lời! Nhưng, nếu virbrlà giao diện cầu nối và vì cầu nối là thiết bị hai lớp, thì nó cần địa chỉ IP để làm gì (có địa chỉ IP theo sau mỗi giao diện virbr #)?
xczzhh

Tôi đã cập nhật câu trả lời. Ý tưởng là cung cấp cho máy chủ một địa chỉ IP trên mạng đó.
Stéphane Chazelas

Cảm ơn bạn một lần nữa cho câu trả lời. Tôi biết rằng hai HĐH khách khác nhau do KVM tạo ra có thể chia sẻ cùng một hệ thống virbr, nhưng nếu tôi có HĐH khách thứ ba được kết nối với một hệ điều hành khác virbrvà hai mạng virbrnày nằm trong các mạng IP khác nhau, tôi nên làm gì để hai mạng này có thể giao tiếp với nhau?
xczzhh

điều tương tự bạn sẽ làm với các công tắc thực. Một số máy, thường là máy chủ vì nó có địa chỉ IP trên cả hai mạng sẽ định tuyến giữa hai mạng. Nó có thể làm như vậy theo mặc định, nhưng có lẽ bạn cần thay đổi cấu hình tường lửa trên máy chủ.
Stéphane Chazelas

Vâng, tôi đã thử, nhưng vấn đề là OS A có thể ping OS B, nhưng OS B không thể ping OS A. Bạn có biết vấn đề có thể là gì không ...? Cảm ơn bạn một lần nữa :)
xczzhh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.