設置vnc登錄遠程虛擬機
原理簡介:
vnc分為vnc server 和vnc view,我們經常用來連接遠端服務器的是vnc view客戶端,server端部署在服務器端。vnc 能夠與遠端服務器實現通信,是需要做一定的代理設置的。比如本地A機器,B機器能夠被公網訪問,C機器是內網機器只能和B機器互訪。我們從A機器通過vnc訪問C機器,是需要做一次代理跳轉的。VNC是把被遠程機的屏幕做成圖像,經過壓縮后傳送到本地,本地的操作信息則被傳送到消息隊列,是基於tcp/ip的。
我們在使用vnc連接我們集群里的虛擬機實際上是因為有nova vnc proxy服務,vnc proxy 將公網和私網隔離,vnc client 運行在公網上,vnc server 運行在私網上,vnc proxy作為二者的橋梁連接起來。在控制節點上我們可以找到nova-novncproxy服務,用戶的vnc client會直接連接這個服務。控制節點一般有兩個網卡,一個是public network,設置外網IP,一個management network,一般設置內網IP。相關配置信息可以查看 nova.conf。
參考網址:https://www.cnblogs.com/popsuper1982/p/3800227.html
以目標虛擬機:1xx83.3.x 虛擬機所在宿主機:10.110.81.109為例,如果只知道虛擬機不知道宿主機,需要登錄控制節點查詢所在宿主機
1.控制節點上查詢虛擬機對應宿主機命令:
登錄10.83.3.100所在控制節點10.110.81.246,查詢信息如下:
root@cld-master1-29:~# nova list --all --ip 10.83.3.100 +--------------------------------------+------------------------+----------------------------------+--------+------------+-------------+--------------------------------+ | ID | Name | Tenant ID | Status | Task State | Power State | Networks | +--------------------------------------+------------------------+----------------------------------+--------+------------+-------------+--------------------------------+ | 18fd35ea-1a70-4e15-b90b-37501facb215 | newbie_common_aba88ef7 | 6f1710f5b71b4af0b4da65309c643594 | ACTIVE | - | Running | BJ_OwnCloud_NEWBIE=10.83.3.100 | +--------------------------------------+------------------------+----------------------------------+--------+------------+-------------+-------------------------------- root@cld-master1-29:~# nova show 18fd35ea-1a70-4e15-b90b-37501facb215 | OS-EXT-SRV-ATTR:hypervisor_hostname | cld-cnode10-29.i.nease.net | | OS-EXT-SRV-ATTR:instance_name | instance-00000082 --實例名 root@cld-master1-29:~# ping cld-cnode10-29.i.nease.net PING cld-cnode10-29.i.nease.net (10.110.81.109) 56(84) bytes of data. 64 bytes from cld-cnode10-29.i.nease.net (10.110.81.109): icmp_seq=1 ttl=64 time=0.191 ms
根據上面查到信息:宿主機IP為:10.110.81.109,虛擬機實例名為: instance-00000082
2、先用crt軟件配置監聽轉發:
打開crt,創建一個連接宿主機10.110.81.109的連接,並在打開會話選項—》端口轉發–》點擊添加
在名稱里輸入任意名稱,這里輸入:zhuanfa ,在本地一欄的端口輸入一個監聽端口,這里是 12345 ,下面再勾選 “使用socket 4 或5 動態轉發” 選項,點擊確定。
其他的公鑰登錄,啥的跟平時一樣。
3、打開vnc view :
找到 file—>preference—>proxy 窗口
選擇: user these proxy settings:
sever : 127.0.0.1:12345 —這里端口是前面設置的,IP是本地回環ip。
type : socket 5
其他不用填
4、crt登錄宿主機,根據虛擬機的實例名查看vnc端口:
root@cld-cnode10-29:~# virsh vncdisplay instance-00000082
127.0.0.1:6
vnc分配的端口為6
5、再從vnc view上直接輸入:
127.0.0.1:6
然后彈窗選擇 continue ,輸入賬號密碼 即可!
ifconfig 可以確認當前IP。