рджреЛрд╕реНрддреЛрдВ рдЯреАрд▓реНрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд░рд┐рдореЛрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЧреБрдгреА-рдкреНрд░рдмрдВрдзрдХ

рдХрд╛рдо рдкрд░, рд╣рдо libemirt рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ qemu / kvm- рдЖрдзрд╛рд░рд┐рдд рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ ред рдореИрдВ рд╕реНрд╡рдпрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рднреА qemu / kvm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ рдЕрдХреНрд╕рд░ рд╡рд┐рднрд┐рдиреНрди VM рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░рдордп рдЧреБрдг-рдкреНрд░рдмрдВрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд╣реЛрдЧрд╛ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рдЕрдиреБрд╡рд╛рдж рд╣реИ рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рд▓реЗрдЦрди рдХреЗ "рдПрдХ рдореЗрдВ рдорд┐рд╢реНрд░рдг")ред



рдЯреНрд░реЗрдирд┐рдВрдЧ



рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХрд╛рд░реНрдп "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдб" (рдЬрд╣рд╛рдВ libvirtd рдЦрдбрд╝рд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ CentOS 6) рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реЗрд▓рд┐рдирдХреНрд╕ рдЕрдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:



mkdir /tmp/certs cd /tmp/certs
      
      





рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдПрдВ



 mkdir ca cd ca
      
      





рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ (CA) рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рдХрд╛ рдмрдирд╛рдПрдБ:



 cat > certificate_authority_template.info << 'EOF' cn = Name of your organization ca cert_signing_key expiration_days = 3650 EOF
      
      



"рдЖрдкрдХреЗ рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо" - рддрджрдиреБрд╕рд╛рд░, рд▓реИрдЯрд┐рди рдореЗрдВ рдЖрдкрдХреЗ рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо, рдкреНрд░рдорд╛рдг рдкрддреНрд░ 10 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реИред



CA рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ:



 (umask 277 && certtool --generate-privkey > certificate_authority_key.pem)
      
      





рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╕реАрдП рдмрдирд╛рдПрдВ:



 certtool --generate-self-signed \ --template certificate_authority_template.info \ --load-privkey certificate_authority_key.pem \ --outfile certificate_authority_certificate.pem
      
      





рд╣рдо "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдб" (рдЬрд╣рд╛рдВ libvirtd рдЦрдбрд╝рд╛ рд╣реИ) рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ



 cd .. mkdir kvm_host cd kvm_host
      
      





рд╣рдо "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдб" рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ:



 cat > host_server_template.info << 'EOF' organization = Name of your organization cn = server.name tls_www_server encryption_key signing_key EOF
      
      



"Server.name" - "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдб" рдХрд╛ рдирд╛рдо dns, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ,



рд╣рдо "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдб" рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ:



 (umask 277 && certtool --generate-privkey > host_server_key.pem)
      
      





рд╣рдо рдЕрдкрдиреЗ "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдб" рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ:



 certtool --generate-certificate \ --template host_server_template.info \ --load-privkey host_server_key.pem \ --load-ca-certificate ../ca/certificate_authority_certificate.pem \ --load-ca-privkey ../ca/certificate_authority_key.pem \ --outfile host_server_certificate.pem
      
      





рд╣рдо рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред



 cd .. mkdir client cd client
      
      





рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рдХрд╛ рдмрдирд╛рдПрдБ:



 cat > client_template.info << 'EOF' country = RU state = State locality = City organization = Name of your organization cn = client.host tls_www_client encryption_key signing_key EOF
      
      



"Client.host" - рдЖрдкрдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдо, рд░рд╛рдЬреНрдп рдФрд░ рдЗрд▓рд╛рдХреЗ рднрд░рддрд╛ рд╣реИред



рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ:



 (umask 277 && certtool --generate-privkey > client_key.pem)
      
      





рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:



  certtool --generate-certificate \ --template client_template.info \ --load-privkey client_key.pem \ --load-ca-certificate ../ca/certificate_authority_certificate.pem \ --load-ca-privkey ../ca/certificate_authority_key.pem \ --outfile client_certificate.pem
      
      





рдкреНрд░рдорд╛рдгрдкрддреНрд░ / рдХреБрдВрдЬрд┐рдпрд╛рдБ libvirt рд╕реЗ рдЬреЛрдбрд╝рдирд╛



 cd /tmp/certs
      
      





рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рд╕рднреА рдпрд╛ рддреЛ sudo рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:



 mkdir -p /etc/pki/libvirt/private chmod 755 /etc/pki/libvirt chmod 750 /etc/pki/libvirt/private cp ./ca/certificate_authority_certificate.pem /etc/pki/libvirt/cacert.pem cp ./kvm_host/host_server_certificate.pem /etc/pki/libvirt/servercert.pem cp ./kvm_host/host_server_key.pem /etc/pki/libvirt/private/serverkey.pem ln -s /etc/pki/libvirt/cacert.pem /etc/pki/CA/ chgrp qemu /etc/pki/libvirt \ /etc/pki/libvirt/servercert.pem \ /etc/pki/libvirt/private \ /etc/pki/libvirt/private/serverkey.pem chmod 440 /etc/pki/libvirt/servercert.pem chmod 444 /etc/pki/libvirt/cacert.pem chmod 640 /etc/pki/libvirt/private/serverkey.pem
      
      





Server-key.pem рдкрд░ 640 рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк vnc рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ, рдЬрдмрдХрд┐ рдЧреБрдг-рдкрдХреНрдХреА-рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдпрд╣ рдХрд╕рдо рдЦрд╛рдПрдЧреА рдХрд┐ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ 600- рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдкреНрд░рдорд╛рдгрдкрддреНрд░ / рдЪрд╛рдмрд┐рдпрд╛рдБ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП vnc



рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рд╕рднреА рдпрд╛ рддреЛ sudo рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:



 mkdir /etc/pki/libvirt-vnc ln -s /etc/pki/libvirt/cacert.pem /etc/pki/libvirt-vnc/ca-cert.pem ln -s /etc/pki/libvirt/servercert.pem /etc/pki/libvirt-vnc/server-cert.pem ln -s /etc/pki/libvirt/private/serverkey.pem /etc/pki/libvirt-vnc/server-key.pem chgrp qemu /etc/pki/libvirt-vnc chmod 750 /etc/pki/libvirt-vnc
      
      





Libvirtd рдбреЗрдорди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛



/Etc/libvirt/libvirtd.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдирд┐рдореНрди рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



 listen_tls = 1 tls_port = "16514" auth_tls = "none" key_file = "/etc/pki/libvirt/private/serverkey.pem" cert_file = "/etc/pki/libvirt/servercert.pem" ca_file = "/etc/pki/libvirt/cacert.pem" crl_file = "/etc/pki/libvirt/crl.pem" #tls_allowed_dn_list = ["DN1", "DN2"] log_level = 3 log_outputs="4:syslog:libvirtd 3:file:/var/log/libvirt/libvirt.log" audit_level = 2 audit_logging = 1 keepalive_interval = 5 keepalive_count = 5
      
      





рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо tls рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред

Tls_allowed_dn_list рдореЗрдВ, рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ dn (рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо) рдкрдВрдЬреАрдХреГрдд рд╣реИ, рдЬрд┐рд╕реЗ libirirtd рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

/ Etc / sysconfig / libvirtd рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, LIBVIRTD_ARGS рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ "--listen" рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



 LIBVIRTD_ARGS="--listen"
      
      





Qemu / kvm рдбреЗрдорди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди



/Etc/libvirt/qemu.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдирд┐рдореНрди рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



 vnc_tls = 1 vnc_tls_x509_verify = 1 vnc_allow_host_audio = 0 cgroup_controllers = [ "cpu", "devices", "memory", "blkio", "cpuset", "cpuacct" ] save_image_format = "lzop" clear_emulator_capabilities = 1
      
      





рдЗрд╕рд▓рд┐рдП рд╣рдо vnc рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП tls рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ, рдСрдбрд┐рдпреЛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ (рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЪрд╛рд▓реВ рдЫреЛрдбрд╝ рджреЗрдВ), рдореЗрдореЛрд░реА рд╕реНрдиреИрдкрд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреАрдбрд╝рди рдЪрд╛рд▓реВ рдХрд░реЗрдВ (рд▓рд╛рдЗрд╡ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА, рдпрджрд┐ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рд╣рдо рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкрд╣рд▓реЗ рдереЗ рд╣рдордиреЗ рдмреИрдХрдЕрдк рд▓рд┐рдпрд╛ рд╣реИред рд╡рд╣рд╛рдВ рд░рдЦреА рдЧрдИ, рдореИрдВ рдЗрд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрджреНрдзреГрдд рдХрд░рддрд╛ рд╣реВрдВ), рдФрд░ рдЗрд╕реА cgroups рд╕рдореВрд╣реЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рднреА рдХрд░рддрд╛ рд╣реВрдВ (рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдард┐рди рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ)

рдЗрд╕ рд╕рдВрдкрд╛рджрди рдХреЗ рдмрд╛рдж рд╣реА рд╣рдо libvirtd рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ:



 service libvirtd restart
      
      





рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣реА рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЯреАрдПрдирдПрд╕ рдкрд░ рд╡реАрдПрдирд╕реА рдХрдиреЗрдХреНрд╢рди рдХреЗрд╡рд▓ рддрдм рд╣реА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬрдм рд╡реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ (рд╡рд╛рдпрд░рд▓ рд╢рдЯрд░ / рдЯреА)



Iptables рд╕реЗрдЯрдЕрдк



Libvirtd рдФрд░ vnc рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо INPUT рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдЖрдк ipadables рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ):



 iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 16514 -j ACCEPT iptables -I INPUT -m state --state NEW -s 192.168.40.0/24 -m tcp -p tcp --dport 5900:6000 -j ACCEPT
      
      





рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ vnc рдХрдВрд╕реЛрд▓ 5900 рд╕реЗ 6000 рддрдХ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдкрд░ рд╕реАрдЯреА рдмрдЬрд╛рдПрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди iptables рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ:



 iptables-save>/etc/sysconfig/iptables
      
      





рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ / рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реИ



рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, 1. рдФрд░ 2. рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ, рд░реВрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдФрд░ рдЙрдЪрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдЗрд╕рдХреА рдХреБрдВрдЬреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП (- рд▓реЛрдб-рд╕реАрдП-рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ, рд▓реЛрдб-рд╕реАрдП-рдкреНрд░рд╛рдЗрд╡реЗрдЯ), рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЖрдЗрдЯрдо рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ 4. рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВред



рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗрдЯрдЕрдк (рд▓рд┐рдирдХреНрд╕)



рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдорддрд▓рдм рд╕реЗрдВрдЯреЛрд╕ / рдлреЗрдбреЛрд░рд╛ рд╣реИ

рдпрд╣ рд░рд┐рдореЛрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдбреНрд╕" рдХреЛ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



 mkdir -m 750 -p /etc/pki/libvirt/private mkdir -m 700 ~/.pki/libvirt-vnc
      
      





рдЕрдЧрд▓рд╛, рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдЖрд╡рд╢реНрдпрдХ рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд╕реЗ рдЙрдкрдпреБрдХреНрдд рдлрд╛рдЗрд▓реЗрдВ рдбрд╛рд▓реЗрдВ, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рд╣реЛрдЧрд╛:



/tmp/certs/ca/certificate_authority_certificate.pem /etc/pki/CA/cacert.pem рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛

/tmp/certs/client/client_key.pem /etc/pki/libvirt/pStreet/clientkey.pem рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛

/tmp/certs/client/client_certificate.pem /etc/pki/libvirt/clientcert.pem рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛



 chmod 444 /etc/pki/CA/cacert.pem chmod 440 /etc/pki/libvirt/clientcert.pem \ /etc/pki/libvirt/private/clientkey.pem chown -R root:wheel /etc/pki/libvirt cd ~/.pki/libvirt-vnc/ ln -s /etc/pki/libvirt/clientcert.pem clientcert.pem ln -s /etc/pki/libvirt/private/clientkey.pem clientkey.pem
      
      





рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде, рд╡реНрд╣реАрд▓ рд╕рдореВрд╣ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ libvirtd / vnc рд╕реЗ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЙрджрд╛рд╣рд░рдг:


virsh:


 virsh -c qemu+tls://server.name/system, virsh -c qemu+tls://kvm_server.local/system
      
      





рдорд╣рддреНрд╡рдкреВрд░реНрдг! server.name рдпрд╣рд╛рдВ рдареАрдХ рдЙрд╕реА рдирд╛рдо рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдб" (рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ cn рдХреНрд╖реЗрддреНрд░) рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рддреЗ рд╕рдордп рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдерд╛, рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЖрдИрдкреА рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



Virt-manager:


рдкреБрдгреНрдп-рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ, рдХрдиреЗрдХреНрд╢рди рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ - "рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде ssl / tls", рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд░рд┐рдХреНрдд рд╣реИ, рд╣реЛрд╕реНрдЯ рдирд╛рдо server.name рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдКрдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



Virt-рджрд░реНрд╢рдХ:


рдЧреБрдг-рджрд░реНрд╢рдХ -c qemu + tls: //server.name/system vm_name



рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗрдЯрдЕрдк (Windows, vnc рдХрдВрд╕реЛрд▓ рдПрдХреНрд╕реЗрд╕ рдХреЗрд╡рд▓)



рдпрд╣ рд░рд┐рдореЛрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ "рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдиреЛрдбреНрд╕" рдХреЛ рдкреНрд░рд╢рд╛рд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



virt-рджрд░реНрд╢рдХ


рдореБрдЭреЗ рдХрд╛рдо рдирд╣реАрдВ рдорд┐рд▓рд╛



ssvnc


Ssvnc рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдХреБрдВрдЬреА рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЙрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдП рдереЗ):

 cd /tmp/certs/client cat client_certificate.pem client_key.pem >client.pem
      
      





рд╣рдо рд╕рд░реНрд╡рд░ рдФрд░ /tmp/certs/ca/certificate_authority_certificate.pem рд╕реЗ рдкрд░рд┐рдгрд╛рдореА рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЗрддреЗ рд╣реИрдВред

рд╣рдо ssvnc рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рд╕реЗрдЯ рдореЗрдВ "SSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ", "MyCerts" рдореЗрдВ "Certs" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, "ServerCem" рдореЗрдВ рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ, "ServerCert" рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░_authority_certificate.pem рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдлрд┐рд░ "рд╡рд┐рдХрд▓реНрдк" -> "рдЙрдиреНрдирдд" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕реЗрдЯ рдХрд░реЗрдВред "рд╕рд░реНрд╡рд░ Vencrypt ssl рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ" рдХреЗ рд╡рд┐рдкрд░реАрдд рдПрдХ рдЪреЗрдХрдорд╛рд░реНрдХред рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдореЗрдВ, "Vnc Host: Display" рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдХреНрд░рдорд╢рдГ рд╕рд░реНрд╡рд░ рдПрдбреНрд░реЗрд╕ рдФрд░ vnc рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред "рдХрдиреЗрдХреНрдЯ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред



рдкрд░рд┐рдгрд╛рдо:



рдирддреАрдЬрддрди, рд╣рдо рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЛ virsh, virt-manager (рдХреЗрд╡рд▓ рдЙрди рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИрдВ рдХрд┐ VM рдХрд╛ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд▓реЙрдЧреНрд╕ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдпрд╛ рдореИрдВ рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛), рдЕрд░реНрдерд╛рдд, рдпрд╣ рд▓реЙрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ рдХрд┐ рд╢рдЯрдбрд╛рдЙрди / рдЖрджрд┐ рдХреА рд╢реБрд░реБрдЖрдд рдРрд╕реЗ рдФрд░ рдРрд╕реЗ рдЖрдИрдкреА рд╕реЗ рдРрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреА рдЧрдИ рдереАред



рд╕рдВрдмрдВрдзрд┐рдд рд▓рд┐рдВрдХ



wiki.libvirt.org/page/TLSSetup

wiki.libvirt.org/page/VNCTLSSetup



upd



рдЬреИрд╕рд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рд░реВрдЯ рдХреЗ рд▓рд┐рдП ssh c рдмрд┐рдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реЗрдВрдЯреЛ рдХреЗ рд▓рд┐рдП libvirt рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ), рд╣рд╛рдБ, рд▓реЗрдХрд┐рди vnc рд╕реАрдзреЗ рдЬрд╛рдПрдЧрд╛ рдФрд░ "рд╕реНрдХреНрд░реАрди рдХреЛ рджреЗрдЦрдиреЗ" рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЕрднреА рднреА рд╣реИ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ vnc рдХреЗ рд▓рд┐рдП ssh рд╕реБрд░рдВрдЧреЗрдВред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рд╣рд░ рдмрд╛рд░ ssh рд╕реБрд░рдВрдЧреЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред



All Articles