- قابلیتی وجود دارد که میتوان از طریق VNC به کنسول ماشینمجازی متصل شد.
- برای این منظور ابتدا سرویس SSH را بر روی سرور ESXi فعال نمایید.
- سپس از طریق پروتکل SSH به سرور ESXi متصل شوید.
- حال دستورات زیر را اجرا نمایید.
# chmod 644 /etc/vmware/firewall/service.xml # chmod +t /etc/vmware/firewall/service.xml
- پروندهی service.xml را باز نمایید.
# vi /etc/vmware/firewall/service.xml
- در آخر پروندهی بالا قبل از </ConfigRoot> تکه کد زیر را قرار دهید.
<!-- VNC server --> <service id='0045'> <id>VNC</id> <rule id='0000'> <direction>inbound</direction> <protocol>tcp</protocol> <porttype>dst</porttype> <port> <begin>5900</begin> <end>5964</end> </port> </rule> <enabled>true</enabled> <required>false</required> </service>
- انتظار میرود انتهای پروندهی service.xml به شکل زیر باشد.
... </rule> <enabled>false</enabled> <required>false</required> </service> <!-- VNC server --> <service id='0045'> <id>VNC</id> <rule id='0000'> <direction>inbound</direction> <protocol>tcp</protocol> <porttype>dst</porttype> <port> <begin>5900</begin> <end>5964</end> </port> </rule> <enabled>true</enabled> <required>false</required> </service> </ConfigRoot>
- در ادامه سطح دسترسی ۴۴۴ برای پروندهی service.xml در نظر بگیرید.
# chmod 444 /etc/vmware/firewall/service.xml
- در نهایت دستورات زیر را اجرا نمایید.
# esxcli network firewall refresh # esxcli network firewall ruleset set --ruleset-id VNC --enabled true # esxcli network firewall ruleset list # esxcli network firewall ruleset rule list
- حال وارد سامانهی vCenter یا ESXi Web client شوید.
- بر روی ماشینمجازی مورد نظر خود کلیک کرده و گزینهی Edit Settings را انتخاب کنید.
- به قسمت VM Options بروید.
- گزینهی Advanced را کلیک نمایید.
- در نهایت بر روی Edit Configuration کلیک نمایید.
- در ادامه بر روی گزینهی Add Configuration Params کلیک کرده و متغیرهای زیر را ایجاد نمایید.
remoteDisplay.vnc.password='password' RemoteDisplay.vnc.keyMap="us" RemoteDisplay.vnc.enabled="TRUE" RemoteDisplay.vnc.port=5900
- در نهایت کافیست با یک ابزار VNC Viewer به ماشینمجازی متصل شوید.
- برنامهای برای فعال نمودن VNC در ESXi تهیه شده است که تمام فرآیند را به صورت خودکار انجام میدهد.
- برای این منظور ابتدا مخزن زیر را بر روی سیستم شخصی خود دریافت نمایید.
# git clone http://git.homayouni.info/git/iman/vnc_on_esxi.git
- وارد پوشهی vnc_on_esxi شوید.
# cd vnc_on_esxi
- پروندهی active.sh بر روی سرور ESXi اجرا خواهد شد. (نیازی به اجرای دستی نیست.)
- ابتدا پروندهی run.sh را باز نموده و متغیرهای مربوط به نامکاربری، کلمهی عبور و IP را تغییر دهید.
- در نهایت پروندهی run.sh را به صورت زیر اجرا کنید.
# bash run.sh
- با اجرای اسکریپت بالا، پروندهی active.sh به سرور ESXi منتقل و اجرا خواهد شد.
- تست شده بر روی ESXi 6.7
- منبع