Cách cài đặt Môi trường ảo Proxmox trên Debian 11
Mục Lục
- 1. Proxmox Virtual Environment là gì?
- 2. Điều kiện tiên quyết
- 3. Cài đặt môi trường ảo Proxmox
- Cài đặt môi trường ảo Proxmox
- Xác minh cài đặt PVE
- Giao diện quản lý phục vụ bằng Nginx
- Xác minh khả năng truy cập
- Hạn chế truy cập trực tiếp
- Bảo mật giao diện quản lý bằng chứng chỉ SSL
- Cài đặt Certbot
- Cài đặt chứng chỉ trên Nginx
- Xác minh khả năng truy cập
- Tự động gia hạn thử nghiệm
- Phần kết luận
1. Proxmox Virtual Environment là gì?
Proxmox Virtual Environment là một chương trình quản lý ảo hóa mã nguồn mở. Nó cung cấp một nền tảng duy nhất để quản lý các dịch vụ và chức năng như KVM Hypervisor, Linux Containers (LXC), lưu trữ & kết nối mạng. Ngoài ra, nó đi kèm với giao diện quản lý dựa trên web dễ sử dụng, cung cấp toàn quyền kiểm soát một cách dễ dàng.
Bài viết này giải thích việc cài đặt Môi trường ảo Proxmox, sử dụng Nginx làm proxy ngược để phục vụ giao diện quản lý & bảo mật giao diện quản lý bằng chứng chỉ SSL trên máy Debian 11.
2. Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn sẽ cần phải:
- Triển khai Máy chủ Debian 11 mới
- Trỏ tên miền phụ đến máy chủ của bạn
3. Cài đặt môi trường ảo Proxmox
Thay đổi tên máy chủ
Bạn được yêu cầu trỏ một tên miền phụ đến máy chủ của mình bằng bản ghi A. Tên miền phụ tương tự sẽ được sử dụng trong suốt bài viết. Ví dụ: pve.domain.tld
Thêm tên máy chủ vào/etc/hostname
# nano /etc/hostname
Ghi đè nội dung hiện có bằng tên miền phụ của bạn và lưu tệp bằng cách sử dụng CTRL+ Xsau đóENTER
Thêm tên máy chủ vào/etc/hosts
# nano /etc/hosts
Dán dòng sau bên dưới 127.0.0.1 localhost
và lưu tệp bằng cách sử dụng CTRL+ Xsau đóENTER
your_public_ip your_subdomain your_subdomain_name
Ví dụ: nếu IP công cộng của bạn là 169.254.169.254 và tên miền phụ là pve1.example.com thì dòng của bạn sẽ giống như
169.254.169.254 pve1.example.com pve1
Khởi động lại máy chủ để đảm bảo mọi thứ hoạt động
# reboot
Đang xác minh tên máy chủ
Sau khi máy chủ của bạn hoạt động, hãy chạy lệnh sau và kiểm tra xem đầu ra có khớp với tên miền phụ & địa chỉ IP của bạn không.
Kiểm tra tên máy chủ.
# hostname
Sản lượng dự kiến.
your_subdomain
Kiểm tra IP tên máy chủ.
# hostname --ip-address
Sản lượng dự kiến.
your_public_ip
Cấu hình mạng (Tùy chọn)
Bỏ qua phần này nếu mạng của bạn không được thiết lập bằng cloud-init. Bạn có thể xác minh điều đó bằng cách kiểm tra xem /etc/network/interfaces.d/50-cloud-init
tệp có tồn tại trên máy của bạn không.
Thay đổi cấu hình mạng mặc định.
- Xác định giao diện chính của bạn (tham khảo
ifconfig
lệnh). - Thêm cấu hình giao diện chính của bạn vào tệp
/etc/network/interfaces
.
Vô hiệu hóa mạng khởi tạo đám mây.
# nano /etc/cloud/cloud.cfg.d/99-custom-networking.cfg
Dán dòng sau và lưu tệp bằng cách sử dụng CTRL+ Xthen ENTER.
network: {config: disabled}
Xóa tệp cấu hình mạng cloud-init.
rm -f /etc/network/interfaces.d/50-cloud-init
Khởi động lại máy chủ để đảm bảo mọi thứ hoạt động.
# reboot
Thêm kho lưu trữ cần thiết
Thêm kho lưu trữ trong /etc/apt/sources.list
.
# nano /etc/apt/sources.list
Dán dòng sau và lưu tệp bằng cách sử dụng CTRL+ Xthen ENTER.
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
Thêm khóa GPG vào khóa nguồn APT.
# wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
Làm mới thông tin gói.
# apt update
Cài đặt môi trường ảo Proxmox
Cài đặt ifupdown2
gói.
# apt install -y ifupdown2
Cảnh báo: Cài đặt
ifupdown2
gói có thể gây gián đoạn mạng. Bạn nên kết nối thông qua bảng điều khiển web để không bị mất quyền truy cập trong trường hợp mạng bị gián đoạn.
Cài đặt Proxmox VE.
# apt install -y proxmox-ve open-iscsi
Khởi động lại máy chủ để khởi động bằng kernel của Proxmox.
# reboot
Xác minh cài đặt PVE
Sau khi máy chủ của bạn hoạt động, bạn có thể xác minh xem quá trình cài đặt đã được thực hiện thành công hay chưa bằng cách mở liên kết sau trong trình duyệt web của mình.
https://your_subdomain:8006/
Bạn có thể đăng nhập vào giao diện quản lý bằng chính thông tin đăng nhập mà bạn sử dụng cho SSH.
Giao diện quản lý phục vụ bằng Nginx
Một số môi trường không cho phép kết nối với các cổng không chuẩn và không nên thay đổi cấu hình cổng của PVE. Sử dụng Nginx là giải pháp tốt nhất để chuẩn hóa cổng và xử lý lưu lượng truy cập cao.
Cài đặt Nginx
# apt install -y nginx
Thêm vhost cho giao diện quản lý
Thêm tệp vhost vào thư mục sites-available
.
# nano /etc/nginx/sites-available/pve
Dán nội dung sau (thay thế your_subdomain bằng tên miền phụ thực tế của bạn) và lưu tệp bằng cách sử dụng CTRL+ Xthen ENTER.
server {
listen 80;
server_name your_subdomain;
proxy_redirect off;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass https://localhost:8006;
proxy_buffering off;
client_max_body_size 0;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
send_timeout 3600s;
}
}
Thêm một liên kết mềm của tập tin vhost trong thư mục sites-enabled
.
# ln -s /etc/nginx/sites-available/pve /etc/nginx/sites-enabled/pve
Kiểm tra cấu hình.
# nginx -t
Sản lượng dự kiến.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tải lại Nginx.
# systemctl reload nginx
Xác minh khả năng truy cập
Bạn có thể xác minh xem proxy ngược có hoạt động bình thường hay không bằng cách mở liên kết sau trong trình duyệt web của bạn.
http://your_subdomain/
Hạn chế truy cập trực tiếp
Khi bạn đã xác minh rằng proxy ngược của mình hoạt động, bạn có thể thay đổi IP người nghe của giao diện quản lý để hạn chế quyền truy cập trực tiếp.
Thêm IP người nghe vào /etc/default/pveproxy
.
# nano /etc/default/pveproxy
Dán dòng sau và lưu tệp bằng cách sử dụng CTRL+ Xthen ENTER.
LISTEN_IP="127.0.0.1"
Khởi động lại pveproxy
dịch vụ.
systemctl restart pveproxy
Bảo mật giao diện quản lý bằng chứng chỉ SSL
Chúng tôi sẽ sử dụng Let’s Encrypt để lấy Chứng chỉ SSL miễn phí. Vui lòng đảm bảo rằng bạn đã trỏ tên miền phụ của mình tới địa chỉ IP của máy chủ. Các bước đưa ra dưới đây sẽ chỉ hoạt động nếu bạn đang phục vụ giao diện quản lý bằng Nginx.
Cài đặt Certbot
apt install -y certbot python3-certbot-nginx
Cài đặt chứng chỉ trên Nginx
Bạn sẽ được yêu cầu nhập địa chỉ email của mình khi chạy lệnh sau, vui lòng nhập địa chỉ email của bạn và để phần còn lại làm mặc định.
certbot --nginx -d your_subdomain
Xác minh khả năng truy cập
Bạn có thể xác minh xem Chứng chỉ SSL có được định cấu hình đúng hay không bằng cách mở liên kết sau trong trình duyệt web của bạn.
https://your_subdomain/
Tự động gia hạn thử nghiệm
Chứng chỉ Let’s Encrypt chỉ có hiệu lực trong 90 ngày, nhưng vì chúng tôi đang sử dụng certbot nên nó sẽ xử lý việc tự động gia hạn cho chúng tôi. Bạn có thể xác minh xem tính năng tự động gia hạn có hoạt động hay không bằng cách chạy lệnh sau.
certbot renew --dry-run
Nếu lệnh trên không báo lỗi, điều đó có nghĩa là chứng chỉ SSL của bạn sẽ được gia hạn tự động mà không gặp sự cố nào.
Phần kết luận
Trong bài viết này, bạn đã cài đặt Môi trường ảo Proxmox, sử dụng Nginx làm proxy ngược cho giao diện quản lý của PVE và cài đặt Chứng chỉ SSL bằng certbot
.