设为首页 收藏本站
查看: 1087|回复: 0

[经验分享] 文字模式管理 VirtualBox 虛擬機器

[复制链接]

尚未签到

发表于 2016-1-10 16:19:22 | 显示全部楼层 |阅读模式
文字模式管理 VirtualBox 虛擬機器

by Jamyy on 十月.15, 2008, under Linux

環境:

    VirtualBox 2.0.2
    Fedora 9 (x86_64), runlevel 3, 未安裝 X window 相關套件

安裝 VirtualBox

    至 http://www.virtualbox.org/wiki/Linux_Downloads 下載 VirtualBox for Fedora 9 ("Sulphur") - AMD64

    # yum -y install kernel-devel kernel-headers gcc libxslt.x86_64

    # rpm -ivh --nodeps VirtualBox-2.0.2_36488_fedora9-1.x86_64.rpm

    # usermod -a -G vboxusers someone (讓 someone 可建立虛擬機器)

    日後若更新 kernel, 需執行 /etc/init.d/vboxdrv setup 重新編譯 VirtualBox kernel module

建立 Virtual Machine

    建立並登錄虛擬機器
    VBoxManage createvm -name "CentOS 5" -register

    虛擬機器基本設定: 記憶體大小、是否啟用 ACPI、第一開機順位裝置、網路類型
    VBoxManage modifyvm "CentOS 5" -memory "256MB" -acpi on -boot1 dvd -nic1 nat

    建立並登錄虛擬硬碟
    VBoxManage createvdi -filename "CentOS_5.vdi" -size 10000 -register

    設定虛擬機器使用剛剛登錄的虛擬硬碟
    VboxManage modifyvm "CentOS 5" -hda "CentOS_5.vdi"

    登錄光碟映像檔, 並讓虛擬機器掛載之
    VBoxManage registerimage dvd ~/CentOS-5.2-i386-bin-DVD.iso
    VBoxManage modifyvm "CentOS 5" -dvd ~/CentOS-5.2.i386-bin-DVD.iso

    或直接掛載本機光碟
    VBoxManage modifyvm "CentOS 5" -dvd host:/dev/cdrom

    設定虛擬機器使用的遠端桌面埠口 (預設: 3389)
    VBoxManage modifyvm "CentOS 5" -vrdp on -vrdpport 3390

    啟動虛擬機器
    VBoxManage startvm "CentOS 5" -type vrdp

    以遠端桌面連線虛擬機器所在之主機即可操作虛擬機器畫面

    若虛擬機器使用非標準 port (3389), 只要在連線時, 於 IP 或 Host name 後面加上 :3390 (自定埠口) 即可

    遠端桌面相關網頁:

        Wikipedia - 遠端桌面協定
        Microsoft Remote Desktop Connection 6.0 用戶端更新
        rdesktop 官方網站

啟用虛擬桌面登入驗證

    # ln -sf /lib64/libpam.so.0 /lib64/libpam.so (x86 則為 /lib)

    VBoxManage modifyvm "CentOS 5" -vrdpauthtype external

    Linux Client 使用 rdesktop 連入虛擬機器: rdesktop -u someone -p - 192.168.0.1:3390

    其中 someone 係該虛擬機器的擁有者

從外部連入 NAT VM (相關限制請見文末)

    通訊協定
    VBoxManage setextradata "CentOS 5" \
    "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP

    虛擬機器聆聽埠口
    VBoxManage setextradata "CentOS 5" \
    "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22

    本機聆聽埠口
    VBoxManage setextradata "CentOS 5" \
    "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort" 2222

    重新啟動 VM 之後, 即可經由本機 tcp 2222 port 連入 VM:22

    以上紫色部份, "CentOS 5" 係虛擬機器名稱, "ssh" 為自定名稱, 最後一個參數是設定值

    bridging 做法可參閱官方 User Manual (PDF File) -- 6.8 Host Interface Networking and bridging on Linux hosts

    Ref:

        有事就記: VirtualBox NAT port forwarding
        hpeter 心得分享測試站: VirtualBox 使用 NAT 方法讓 vm 連上網路

開機自動啟動虛擬機器、關機自動保存虛擬機器狀態

    # vi /etc/rc.d/rc.local

        su - someone -c "VBoxManage startvm 'Name of Virtual Machine' -type vrdp"

    # vi /etc/default/virtualbox

        SHUTDOWN_USERS="userA userB"
        SHUTDOWN=savestate

    # vi /etc/init.d/vboxdrv

        搜尋 start(), 往下找到 succ_msg 的位置 (約 184 行), 於 succ_msg 之上新增一列:

        touch /var/lock/subsys/vboxdrv

    # chkconfig vboxdrv on

    # touch /var/lock/subsys/vboxdrv

    Ref: LinuxQuestions.org - Scripts under rc0.d and rc6.d do not seem to run during shutdown, reboot

參考資料

    HowToForge :: VBoxHeadless - Running Virtual Machines With VirtualBox 2.0 On A Headless Ubuntu 8.04 Server



--- 2008.11.03 補充:

    只能從 "內部 IP" (10.; 172.32.; 192.168.) 直接連入虛擬機器的 NAT 埠口 (如前例之 tcp:2222).
    本機 port 轉向除 nat table 需要設定之外, filter 的 INPUT 也要同時接受指向虛擬機器 NAT 埠口的封包,
    iptables -P INPUT DROP 者須注意.

        iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to 2222
        iptables -t filter -A INPUT -p tcp --dport 2222 -j ACCEPT

    本機 port 轉向只能使用 "標準埠號" (如: 22, 25, 80, 110), 無法使用自定埠號來轉向.

        iptables -t nat -A PREROUTING -p tcp --dport 8888 -j REDIRECT --to 50080 (假設 50080 是 nat 到 VM:http 的本機埠口)
        iptables -t filter -A INPUT -p tcp --dport 50080 -j ACCEPT

以上設定無法接受來自 Internet 端的 my.public.ip:8888 連線請求, 但內部 IP 可以用 vm.host.ip:8888 連入.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-162647-1-1.html 上篇帖子: 无线上网时VirtualBox运行Redhat的网络配置 下篇帖子: VirtualBox下Ubuntu8.10的KGDB内核调试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表