From 346369f5855ef6248b08fa8f54c5c2980cf5d99d Mon Sep 17 00:00:00 2001 From: Reisber Date: Sun, 22 Mar 2026 21:45:39 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=BD=D0=B0=2013=20=D0=B4=D0=B5=D0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Reisber --- NEBULA/nebula.md | 149 +---------------------------------------------- 1 file changed, 1 insertion(+), 148 deletions(-) diff --git a/NEBULA/nebula.md b/NEBULA/nebula.md index 0442e0b..090fec3 100644 --- a/NEBULA/nebula.md +++ b/NEBULA/nebula.md @@ -74,11 +74,7 @@ systemctl enable opennebula opennebula-fireedge opennebula-flow opennebula-gate В целом, нам, для начала, необходимо создать Host. Это место, где будут крутиться наши виртуалки Имя хоста обязательно должно совпадать с записью в `/etc/hosts`, так-же, если хост находится на одном с небулой сервере, то необходимо что-бы он был с ip 127.0.0.1 Далее -``` -su - oneadmin -c "ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa" -su - oneadmin -c "cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys" -chmod 600 /var/lib/one/.ssh/authorized_keys -``` + Проверим возможность Oneadmin общаться с самим собой ``` su - oneadmin @@ -87,13 +83,11 @@ ssh -o StrictHostKeyChecking=no localhost Если нас пустило без пароля - шик Пишем ``` -apt-get install -y qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils usermod -a -G libvirt,kvm oneadmin ``` После этого мы почти готовы поднимать VM, но ещё не совсем ``` ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu-kvm-one -chown -R oneadmin:oneadmin /var/lib/one/datastores systemctl restart libvirtd ``` Далее `nano /etc/libvirt/qemu.conf` @@ -111,17 +105,9 @@ systemctl restart libvirtd chown -R oneadmin:oneadmin /var/lib/one/datastores chmod -R 770 /var/lib/one/datastores ``` -После этого, ради работы VNC установим FireBridge -``` -echo "$(openssl rand -base64 32)" > /etc/one/fireedge_key -chown oneadmin:oneadmin /etc/one/fireedge_key -chmod 600 /etc/one/fireedge_key -systemctl enable opennebula-fireedge -systemctl start opennebula-fireedge ``` Установим "гуакд" ``` -apt-get install -y opennebula-guacd systemctl enable --now opennebula-guacd ``` Проверим его работоспособность @@ -136,137 +122,4 @@ nano /etc/one/sunstone-server.conf :public_fireedge_endpoint: http://ip_addr_of_your_server(Domain):2616 :fireedge_verify_ssl: false ``` -Затем нагенерим самописные-серты для fireedge -``` -# Create the directory -mkdir -p /etc/one/ssl -cd /etc/one/ssl -# Generate a self-signed certificate (valid for 365 days) -openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ - -keyout opennebula.key -out opennebula.crt \ - -subj "/C=US/ST=State/L=City/O=OpenNebula/CN=ip_addr_of_your_server" - -# Ensure the oneadmin user can read them -chown -R oneadmin:oneadmin /etc/one/ssl -chmod 600 /etc/one/ssl/opennebula.key -chmod 644 /etc/one/ssl/opennebula.crt -``` -Далее -``` -nano /etc/one/fireedge-server.conf -``` -Там проверяем, что -``` -:host: 127.0.0.1 -:port: 2617 меняем порт на 2617 -``` -``` -nano /etc/nginx/sites-available/fireedge -``` -Вставляем туда -``` -server { - listen 2616 ssl; - server_name ip_addr_of_your_server; - - ssl_certificate /etc/one/ssl/opennebula.crt; - ssl_certificate_key /etc/one/ssl/opennebula.key; - - location / { - proxy_pass http://127.0.0.1:2617; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - } -} -``` -Потом -``` -ln -s /etc/nginx/sites-available/fireedge /etc/nginx/sites-enabled/ -rm /etc/nginx/sites-enabled/default -systemctl restart nginx -systemctl restart opennebula-fireedge -``` -И в целом всё -Ваша небула будет доступна через браузер **http://your-server-ip:9869** - -iptables -A INPUT -p tcp --dport 5900:6000 -j ACCEPT - -# Но это ведь слишком скучно. Хочется домен, хочется ходить без порта. -Генерим конфигурационный файл для нашего облачка -``` -nano /etc/nginx/sites-available/sunstone.conf -``` -И вставим туда -``` -server { - server_name nebula.reisber.space; - - location / { - proxy_pass http://127.0.0.1:9869; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - - # Для WebSocket - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_read_timeout 3600; - proxy_send_timeout 3600; - - proxy_request_buffering off; - proxy_buffering off; - - } - location /fireedge/ { - proxy_pass http://127.0.0.1:2617; # порт FireEdge - proxy_http_version 1.1; - - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_set_header Host $host; - - proxy_read_timeout 3600; - proxy_send_timeout 3600; - - proxy_buffering off; -} -} -``` -Сохраним и проверим наш конфиг, а так-же растартнем nginx -``` -nginx -t -systemctl restart nginx -``` -После этого получим серт через Certbot (да, это правда особо не нужно, но лень каждый раз смотреть, что соединение не безопасно) -``` -certbot --nginx -d pu-pu-pu-pu-pu-pu.domain.com -``` -Вот и всё, мы прекрасны - - -Для загрузки ISO лучше всего использовать scp -```scp pupu.iso oneadmin@server:/var/lib/one/datastores/0/``` -Или грузить всё в домашнюю директорию рута и оттуда -Перед этим нужно подредачить настройки хранилища - -``` -onedatastore show 1 (ID_ХРАНИЛИЩА) - -Если видим дискомфортное количество или просто "/" в `RESTRICTED_DIRS` -То: -``` -onedatastore update 1 -``` -И просто сносим RESTRICTED_DIRS -После этого, через WEB-GUI можно будет добавлять ISO по их пути на сервере - -``` -sudo mv ~/pupu.iso /var/lib/one/datastores/0/ -sudo chown oneadmin:oneadmin /var/lib/one/datastores/0/pupu.iso -``` \ No newline at end of file