Cách thay đổi địa chỉ IP chính của Proxmox VE một cách an toàn
Trong quá trình vận hành môi trường ảo với Proxmox VE, bạn có thể cần thay đổi địa chỉ IP của một máy chủ Proxmox. Có nhiều lý do khác nhau – chẳng hạn như bạn muốn tái cấu trúc trung tâm dữ liệu tại chỗ, sắp xếp lại văn phòng hoặc di chuyển máy chủ sang nhà cung cấp trung tâm dữ liệu khác. Hãy tham khảo hướng dẫn từng bước dưới đây để biết cách thay đổi địa chỉ IP của máy chủ Proxmox.
Các điều kiện tiên quyết để thay đổi địa chỉ IP của Proxmox VE
Khi cài đặt Proxmox, trình cài đặt sẽ yêu cầu bạn định cấu hình địa chỉ IP tĩnh. Bạn cũng có thể lấy cấu hình IP qua DHCP (ví dụ: bạn có thể liên kết một địa chỉ IP được cấp qua DHCP với địa chỉ MAC của một card mạng trên máy chủ Proxmox), nhưng nên sử dụng cấu hình IP tĩnh.
Khi đề cập đến địa chỉ IP chính của Proxmox, chúng ta thường ám chỉ địa chỉ IP được sử dụng để quản lý máy chủ Proxmox. Các địa chỉ IP khác có thể tồn tại trên các bộ điều hợp mạng vật lý khác để kết nối lưu trữ chia sẻ, ví dụ, hoặc trên máy chủ Proxmox được sử dụng cho các mạng VM định tuyến (mạng NAT). Mục đích chính của bài viết này là thay đổi địa chỉ IP Proxmox được sử dụng để quản lý máy chủ.
Trong bài viết này, cấu hình ban đầu của một máy chủ Proxmox như sau:
- Địa chỉ IP: 192.168.101.229 (địa chỉ IP tĩnh của Proxmox)
- Mặt nạ mạng: 255.255.255.0
- Cổng mặc định: 192.168.101.2
- Tên máy chủ: deb-proxmox
- Một cầu nối mạng được cấu hình cho 192.168.101.229 để thiết lập kết nối giữa các máy ảo và mạng vật lý cũng như giữa các máy ảo với nhau.
- Máy chủ Proxmox (192.168.101.229) không phải là thành viên của cụm. Quy trình làm việc cho cụm là khác nhau.
Phương pháp chính và hiệu quả nhất để thay đổi địa chỉ IP của Proxmox là sử dụng dòng lệnh. Ngoài ra, có thể sử dụng giao diện web của Proxmox. Đọc bài viết blog này về Cách cài đặt Proxmox để tìm hiểu thêm về cài đặt và cấu hình ban đầu.
Thay đổi địa chỉ IP của Proxmox trên dòng lệnh
Kết nối với máy chủ Proxmox qua SSH và đăng nhập vào máy chủ. Để truy cập dòng lệnh Proxmox, bạn có thể sử dụng trình khách SSH hoặc nhấp vào nút Shell cho máy chủ đã chọn trong giao diện web Proxmox. Đảm bảo rằng máy chủ SSH đã được cấu hình trên máy chủ Proxmox và tường lửa không chặn kết nối nếu bạn sử dụng trình khách SSH.
- Bạn cần quyền root để thay đổi cấu hình hệ thống, bao gồm cấu hình IP. Để có quyền root, hãy sử dụng lệnh:
sudo -i - Kiểm tra cấu hình IP hiện tại của máy chủ Proxmox:
ifconfigTrong kết quả hiển thị, chúng ta có thể thấy giao diện cầu nối vmbr0 mà chúng ta cần cấu hình ( vmbr0 được cầu nối với ens33 ). Lưu ý rằng tên giao diện và địa chỉ IP của bạn có thể khác nhau. Trong ví dụ này, vmbr1 ( 10.10.101.229 ) kết nối với ens36 là giao diện mạng NAT cho máy ảo. Chúng ta sẽ không thực hiện bất kỳ thay đổi nào đối với mạng 10.10.101.0/24 được sử dụng cho các máy ảo phía sau NAT (phía sau bộ định tuyến trên Proxmox).

LƯU Ý: Thực hành được khuyến nghị là sao lưu tệp cấu hình trước khi thực hiện thay đổi. Bạn có thể tạo bản sao của tệp bằng lệnh cp, chẳng hạn như
cp file-original file-copy - Thay đổi địa chỉ IP bằng cách chỉnh sửa tệp
/etc/network/interfacestrong trình soạn thảo văn bản. Bạn có thể sử dụng trình soạn thảo tích hợp nhẹnanohoặc trình soạn thảo văn bản nâng caovim.nano /etc/network/interfaces- Nếu bạn đặt địa chỉ IP mới từ một mạng khác, bạn cần thay đổi địa chỉ IP cổng trong cấu hình mạng IP của Proxmox.
- Bạn có thể cần thay đổi địa chỉ IP máy chủ DNS. Các máy chủ DNS khác nhau có thể được sử dụng cho các mạng khác nhau.
LƯU Ý 1: Nếu bạn có mạng được định tuyến (mạng NAT) cho các máy ảo (VM), bạn có thể muốn thay đổi các địa chỉ IP, mạng và cổng tương ứng. Trong trường hợp này, hãy chỉnh sửa địa chỉ IP của các giao diện, mạng và iptables quy tắc định tuyến phù hợp.
LƯU Ý 2: Nếu bạn kết nối máy chủ với một mạng khác, ví dụ: /16 thay vì /24 (với mặt nạ mạng 255.255.0.0 thay vì 255.255.255.0 ), hãy điều chỉnh địa chỉ mạng và mặt nạ tương ứng trong cấu hình mạng IP.
Trong ví dụ này, chúng ta thay đổi 192.168.101.229 thành 192.168.105.229 làm địa chỉ IP cho giao diện mạng cầu nối và quản lý máy chủ Proxmox (chúng ta không chỉnh sửa cấu hình của mạng NAT).
Chúng ta thay đổi cổng mặc định (gateway) từ 192.168.101.2 thành 192.168.105.2 để phù hợp với mạng tương ứng 192.168.105.0/24.
- Nhấn Ctrl+O để lưu các thay đổi vào tệp và nhấn Ctrl+X để thoát khỏi nano .

- Chỉnh sửa tệp
/etc/hostsđể chỉnh sửa tên máy chủ vì tên máy chủ phải khớp với địa chỉ IP mới để giải quyết chính xác.nano /etc/hostsTrong ví dụ này, chúng tôi thay đổi 192.168.101.229 thành 192.168.105.229 cho deb-proxmox . Các giá trị của bạn có thể khác – hãy chỉnh sửa các giá trị tương ứng trong tệp cấu hình.
Sau khi đã chỉnh sửa các giá trị cần thiết, nhấn
Ctrl+Ođể lưu thay đổi vào tệp và nhấnCtrl+Xđể thoát khỏi nano , trình soạn thảo văn bản.
- Khởi động lại dịch vụ mạng để các thay đổi có hiệu lực.
systemctl restart networking
Nếu bạn không thể khởi động lại dịch vụ mạng hoặc việc khởi động lại không giải quyết được vấn đề, hãy khởi động lại máy chủ bằng lệnh init 6 . Đảm bảo các máy ảo đã được tắt nguồn trước khi thực hiện thao tác này.
Lưu ý rằng sau khi thay đổi địa chỉ IP của Proxmox và khởi động lại dịch vụ mạng, bạn cần sử dụng địa chỉ IP mới khi kết nối với máy chủ Proxmox qua giao diện web hoặc SSH. Trong trường hợp này, bạn nên kết nối lại với máy chủ Proxmox. Đảm bảo rằng bạn đang kết nối với mạng đúng.
Thay đổi địa chỉ IP của Proxmox trong giao diện web
Phương pháp thứ hai để thay đổi địa chỉ IP của Proxmox là sử dụng giao diện người dùng đồ họa, tức là giao diện web của Proxmox. Phương pháp này có thể được người dùng mới ưa chuộng, nhưng nguyên tắc cấu hình vẫn giữ nguyên – bạn chỉnh sửa cấu hình IP bằng cách thay đổi tệp /etc/network/interfaces và sau đó chỉnh sửa tên máy chủ bằng cách thay đổi tệp /etc/hosts. Các thiết lập này được thực hiện trong giao diện web quản lý Proxmox để thuận tiện hơn.
Cấu hình ban đầu của máy chủ Proxmox trong ví dụ này giống như khi bắt đầu cấu hình bằng phương pháp trước đó (khi chúng ta sử dụng dòng lệnh). Giao diện web Proxmox có thể được truy cập qua liên kết https://192.168.101.229:8006 trong trường hợp của chúng ta. 8006 là cổng mặc định của Proxmox cho giao diện web.
- Đăng nhập vào giao diện web của Proxmox VE và, trong thanh điều hướng, chọn máy chủ có địa chỉ IP mà bạn muốn thay đổi. Trong ví dụ này, chúng tôi chọn máy chủ có tên deb-proxmox .
- Truy cập
System>Network. Chọn giao diện mạng được sử dụng để quản lý máy chủ Proxmox (mà bạn muốn thay đổi địa chỉ IP) và nhấp vàoEdit. Chúng tôi chọn vmbr0 làm giao diện mạng.
- Cửa sổ cấu hình cho giao diện mạng đã chọn sẽ mở ra:
IPv4/CIDR:Nhập địa chỉ IP mới và mặt nạ mạng (CIDR).Gateway:Nhập cổng mặc định mới nếu bạn đã thay đổi địa chỉ IP sang địa chỉ IP thuộc mạng khác.- Bạn có thể giữ nguyên các cài đặt khác.
Chúng ta thay đổi 192.168.101.229/24 thành 192.168.105.229/24 và 192.168.101.2 thành 192.168.105.2 . Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, giao diện cầu nối vmbr0 được liên kết với bộ điều hợp mạng (giao diện) ens33 .
Nhấp vào
OKđể lưu cài đặt địa chỉ IP của Proxmox và đóng cửa sổ hiện tại.
- Truy cập
System>Hosts. Bạn có thể xem nội dung của tệp/etc/hostsđược hiển thị trong một trường đặc biệt của giao diện web, nơi bạn có thể chỉnh sửa trực tiếp nội dung của tệp hosts.Thay đổi địa chỉ IP cũ thành địa chỉ IP mới trong cấu hình máy chủ để giải quyết tên máy chủ chính xác và nhấp vào
Save. Chúng tôi thay đổi 192.168.101.229 thành 192.168.105.229 cho deb-proxmox .
- Bây giờ, quay lại
System>Network, nơi bạn đã chọn giao diện mạng để thay đổi địa chỉ IP của Proxmox. Nhấp vàoApply Configurationđể áp dụng các thay đổi mạng đã thực hiện trước đó.Bạn có muốn áp dụng các thay đổi mạng đang chờ xử lý không? Nhấp vào
Yes. Dịch vụ mạng sẽ khởi động lại.
- Chờ cho đến khi dịch vụ mạng khởi động lại.
- Kết nối máy chủ với một mạng vật lý khác nếu cần.
- Nhập địa chỉ IP mới của máy chủ Proxmox để đăng nhập vào giao diện người dùng. Đảm bảo bạn đã kết nối với mạng đúng có quyền truy cập vào máy chủ Proxmox với địa chỉ IP mới. Trong trường hợp của chúng tôi, liên kết mới đến giao diện web Proxmox là https://192.168.101.229:8006, trong đó 8006 là cổng mặc định của Proxmox.
Thay đổi địa chỉ IP trong cụm Proxmox
Nếu bạn có một cụm Proxmox, phương pháp được giải thích ở trên không thể áp dụng vì có thể xảy ra sự cố mặc dù một số thao tác là giống nhau trong cả hai trường hợp. Quy trình thay đổi địa chỉ IP trong cụm Proxmox bao gồm cập nhật cấu hình mạng, sửa đổi cấu hình cụm và điều chỉnh cấu hình corosync . Dưới đây, chúng tôi trình bày một quy trình làm việc cơ bản, có thể khác biệt trong môi trường của bạn tùy thuộc vào một số yếu tố, chẳng hạn như việc sử dụng Open vSwitch, cấu hình VLAN, số lượng nút cụm có địa chỉ IP bị thay đổi và các thông số cấu hình khác.
Bạn nên thay đổi địa chỉ IP của một nút cụm (một máy chủ Proxmox là thành viên của cụm) tại một thời điểm. Cách tiếp cận này giúp đảm bảo cụm vẫn duy trì trạng thái hoạt động.
- Để tránh gián đoạn, hãy dừng các dịch vụ liên quan đến cụm trên nút có địa chỉ IP đang được thay đổi:
systemctl stop pve-clustersystemctl stop corosync - Chỉnh sửa cấu hình mạng để phản ánh địa chỉ IP mới cho máy chủ Proxmox:
nano /etc/network/interfacesChỉnh sửa giao diện mạng tương ứng để sử dụng địa chỉ IP mới. Ví dụ:
iface vmbr0 inet staticaddressnetmask 255.255.255.0gatewaybridge_ports eth0bridge_stp offbridge_fd 0Lưu tệp và khởi động lại dịch vụ mạng trên máy chủ:
systemctl restart networking - Cập nhật tệp
/etc/hostsvới địa chỉ IP mới:nano /etc/hostsThay thế địa chỉ IP cũ bằng địa chỉ mới cho tên máy chủ tương ứng.
- Chỉnh sửa cấu hình cụm Proxmox để phản ánh địa chỉ IP mới:
nano /etc/pve/corosync.confTìm phần cấu hình của nút có địa chỉ IP đang được thay đổi và cập nhật địa chỉ IP:
node {name:nodeid:quorum_votes: 1ring0_addr:}Lưu tệp.
- Cập nhật cấu hình Corosync. Nếu sử dụng phiên bản Proxmox sử dụng
Corosync 3.x, bạn có thể cần điều chỉnh cài đặt vận chuyển Corosync và bindnetaddr :nano /etc/pve/corosync.confĐảm bảo bindnetaddr phản ánh địa chỉ mạng liên quan đến cấu hình IP mới:
totem {...interface {ringnumber: 0bindnetaddr:mcastport: 5405ttl: 1}...}Dịch vụ corosync được sử dụng để đồng bộ hóa cấu hình cụm giữa tất cả các nút trong cụm. Chỉ cần chỉnh sửa corosync cấu hình trên một nút là đủ, sau đó cấu hình đã thay đổi sẽ được đồng bộ hóa với các nút khác trong cụm.
- Khởi động lại các dịch vụ liên quan đến cụm trên nút đích:
systemctl start corosyncsystemctl start pve-cluster - Nếu bạn có bất kỳ quy tắc tường lửa hoặc cấu hình nào khác liên quan đến địa chỉ IP cũ, hãy cập nhật chúng cho phù hợp.
- Đảm bảo có thể truy cập nút này bằng địa chỉ IP mới và nút này đang hoạt động bình thường trong cụm:
pingpvecm status - Khi tất cả các bước đã hoàn tất và các dịch vụ được khởi động lại, cụm sẽ hoạt động với nút có cấu hình IP đã được cập nhật. Nếu bạn cần thay đổi địa chỉ IP của nút thứ hai, hãy lặp lại các bước cho nút thứ hai trong cụm Proxmox.
- Sau khi cấu hình trên tất cả các nút đã được cập nhật, hãy cập nhật tệp known_hosts với các địa chỉ IP mới trên tất cả các nút Proxmox. Như vậy, bạn đảm bảo rằng các nút có thể kết nối với nhau một cách trơn tru:
/etc/pve/priv/known_hostsBạn có thể thử kết nối từ mỗi nút đến tất cả các nút khác qua SSH.
Kết luận
Việc thay đổi địa chỉ IP chính của Proxmox trên một máy chủ không thuộc cụm có thể được thực hiện qua giao diện dòng lệnh và giao diện web Proxmox. Cả hai phương pháp đều yêu cầu chỉnh sửa các tệp cấu hình /etc/network/interfaces và /etc/hosts và thay đổi địa chỉ IP trong các tệp này. Sự khác biệt giữa các phương pháp này là cách bạn truy cập các tệp này. Nếu một máy chủ Proxmox là nút trong cụm, quy trình làm việc sẽ khác. Không sử dụng quy trình này để thay đổi địa chỉ IP trên một máy chủ không thuộc cụm nếu máy chủ đó là thành viên của cụm. Bạn nên sao lưu cấu hình gốc trước khi thực hiện thay đổi.