Định cấu hình địa chỉ IP công cộng trong máy ảo KVM


12

Tôi có một máy chủ vật lý chạy CentOS 6.5 với một giao diện được kết nối với Internet (với một địa chỉ IP công cộng). Bên trong máy chủ này, tôi có hai máy ảo được tạo bằng KVM thông qua libvirt với mỗi giao diện. Tôi muốn chỉ định một địa chỉ IP công cộng cho mỗi VM và tiếp tục sử dụng kết nối với máy chủ vật lý.

Bức tranh này minh họa những gì tôi có màu đen và những gì tôi muốn có màu xanh lam : Cấu trúc mạng.

Tôi đã thử nhiều cách khác nhau, như thêm cầu Linux brctlvà gắn giao diện vật lý của máy chủ và cả giao diện ảo VM, nhưng nó không hoạt động và tôi mất kết nối với máy chủ vật lý.

Tôi đang mở để sử dụng các cầu nối Linux hoặc mạng libvirt.

Làm cách nào tôi có thể nhận địa chỉ IP công cộng trong cả máy ảo và máy chủ vật lý?


Cố gắng thêm bộ điều hợp thứ hai vào Máy ảo và kết nối chúng vào mạng máy chủ nội bộ.
shcherbak

Mạng máy chủ nội bộ nào? dù sao tôi muốn thiết lập câu hỏi, nếu có thể.
đăng xuất

Giả sử, điều này sẽ giúp đỡ: [KVM - Tạo một máy ảo với 2 cây cầu giao diện] ( askubuntu.com/questions/581771/... ), [cầu mạng KVM với hai NIC] ( serverfault.com/questions/130134/... )
shcherbak

một lần nữa, tôi muốn chỉ có một giao diện cho mỗi VM, nếu có thể.
đăng xuất

tôi đã trả lời một câu hỏi tương tự về chủ và khách của debian kvm ngày hôm qua. unix.stackexchange.com/questions/245073/ - - ngoài các chi tiết nhỏ về thiết lập giao diện, sẽ tương tự trên centos.
cas

Câu trả lời:


4

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:

  1. Xác định các giao diện KVM VM. Có lẽ tên giao diện bắt đầu bằngvnet*

Trong ví dụ này vnet0vnet1

  1. Tạo cầu nối Linux với:

    brctl addbr virbr1

  2. Đí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
  1. 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-eth0với các nội dung sau:

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
  1. 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-virbr1vớ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>
  1. 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)

  1. 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.

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.