下面将会介绍如何设置ubuntu虚拟机来允许别的机器远程连接。这里的步骤针对ubuntu12.04。


Step 1: 安装xrdp协议

    

    sudo apt-get install xrdp vnc4server xbase-clients


Step 2:设置远程共享

    在/usr/share/applications目录下打开Desktop Sharing,进行如下设置:

Windows下通过VNC远程连接Ubuntu 14.04桌面环境_第2张图片


*如果是ubuntu14.04及以上,需要进行安全访问设置:

    1.安装dconf-editor:

            sudo apt-get install dconf-editor

    2.反选prompt-enabled 和 require-encryption:

        Windows下通过VNC远程连接Ubuntu 14.04桌面环境_第4张图片


Step 3:设置iptables端口映射

    由于xrdp是使用3389端口进行连接的,但是外网并不能够直接连接ubuntu虚拟机,因此需要在主机中设置iptables端口映射。

    1.查看虚拟机中的网络信息:

        终端调用命令: nm-tool

        可以看到ip地址和网关地址。

    2.设置iptables端口映射规则

        iptables -t nat -I PREROUTING -d 主机IP地址 -p tcp --dport 33899 -j DNAT --to-destination 虚拟机IP地址:3389

        iptables -t nat -I POSTROUTING -d 虚拟机IP地址 -p tcp --dport -j SNAT --to 网关地址


*上面的第一条规则中的33899不固定,可以使用任意一个未被占用的端口 


Step 4:使用远程连接工具连接ubuntu虚拟机

    连接的时候的地址为:主机IP地址:33899

*注意33899这个端口与前面设置iptables端口映射规则中使用的端口需要一致



通过以上4个步骤我们就可以从外网远程连接到虚拟机