Cuối cùng tôi tìm thấy cách thích hợp để đạt được mục tiêu câu hỏi. Nó ám chỉ Linux bắc cầu, vì tôi không thể giải quyết vấn đề với mạng libvirt.
Các bước:
- Xác định các giao diện KVM VM. Có lẽ tên giao diện bắt đầu bằng
vnet*
Trong ví dụ này vnet0
vàvnet1
Tạo cầu nối Linux với:
brctl addbr virbr1
Đính kèm giao diện vật lý và giao diện KVM VM vào cầu mới:
CẢNH BÁO: nếu bạn được kết nối với máy chủ vật lý thông qua mạng (SSH, Telnet, v.v.), bạn sẽ mất kết nối. Sử dụng một thiết bị đầu cuối hoặc một phương pháp thay thế (như giao diện khác có kết nối).
brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
- Cấu hình giao diện máy chủ vật lý không được gán địa chỉ IP:
Trong CentOS 6.5, chỉnh sửa tệp /etc/sysconfig/network-scripts/ifcfg-eth0
với các nội dung sau:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
- Cấu hình cầu máy chủ vật lý để có địa chỉ IP:
Trong CentOS 6.5, chỉnh sửa tệp /etc/sysconfig/network-scripts/ifcfg-virbr1
với các nội dung sau:
DEVICE=virbr1
BOOTPROTO=none
ONBOOT=yes
IPADDR=<physical_server_public_ip_address>
NETMASK=<physical_server_public_ip_netmask>
GATEWAY=<physical_server_gateway_ip_address>
NAME=virbr1
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=no
DNS1=<physical_server_primary_dns_server_ip_address>
DNS2=<physical_server_secondary_dns_server_ip_address>
- Khởi động lại mạng máy chủ vật lý:
service network restart
LƯU Ý: bạn nên khôi phục kết nối mạng máy chủ vật lý (thông qua giao diện và cầu nối)
- Cấu hình giao diện mạng của máy ảo KVM:
Điều này phụ thuộc vào hệ điều hành của máy ảo. Dù sao, nó nên bao gồm địa chỉ IP, netmask và cổng mặc định, ít nhất. Rõ ràng máy chủ DNS sẽ hoàn thành cấu hình.
Tất cả các cấu hình này là tĩnh và có thể được thay thế bằng gán DHCP. Trong trường hợp này, địa chỉ MAC của cầu nối và giao diện KVM VM có thể hữu ích.