`

windows xp下qemu虚拟ubuntu的网络配置笔记

阅读更多

 

(未稳定,待修改)

 

下面以Windows XP系统为宿主系统(qemu的运行环境)。

以ubuntu为qemu的虚拟系统(在qemu内运行)。

由于ubuntu的权限问题,如果执行命令失败,请尝试使用sudo提升权限。

 

一、对宿主系统(Windows)安装TAP-Win32虚拟网卡,并加入-net参数运行qemu

* 安装OpenVPN

下载OpenVPN的Windows安装程序。

http://openvpn.net/index.php/open-source/downloads.html

默认勾选TAP Virtual Ethernet Adapter。

安装结束后,Windows会出现一个新的虚拟网卡。

 

* 设置qemu外windows的虚拟网卡的IP

右键“网络邻居”->属性,打开“网络连接”

把新的TAP-Win32 Adapter V9网卡的名称改为my-tap。

右键->属性->Internet协议(TCP/IP)

双击后选择“使用下面的IP地址”

把IP地址和子网掩码分别改为:

192.168.200.10

255.255.255.0

其余留空,因为这里并不需要也没有DNS服务器,

而是要自己手动为网卡分配不同的IP。

上面就是为那张虚拟网卡配IP(不影响另一张真实网卡)。

系统托盘一般会出现一个新的“网络连接”图标,

因为还没连接上虚拟机,所以出现一个红色的叉(没有连接)。

 

* 用-net参数启动qemu虚拟机

假设我的硬盘镜像是ubuntu.bin,在命令提示符下执行:

>qemu.exe -L . -m 1024 -hda ubuntu.bin -localtime -net nic -net tap,ifname=my-tap

其中-net nic表示虚拟机(qemu)内的OS添加新的网卡。

如果不添加,ubuntu中键入ifconfig将看不到eth0(即第一张网卡)。

而-net tap,ifname=my-tap表示为虚拟机(qemu)外的系统(这里是Windows XP)指定网卡。

如果不添加,默认就是连真实网卡而非OpenVPN中自带的虚拟网卡。

my-tap是虚拟网卡的名称,可以用openvpn --show-adapters查看。

因为我用中文版的Windows XP会产生带空格的中文网卡名,

所以我把它改为英文my-tap(和重命名文件的方法一样)。

更多信息请google这个关键词“qemu openvpn”。

或者参考以下网址(日文):

http://www.h7.dion.ne.jp/~qemu-win/TapWin32-ja.html

如果系统启动成功,你会看到系统托盘的新网络图标提示连接上网络。

 

* 配置qemu内ubuntu的网卡IP和默认网关

为虚拟机内部设置一个不同的IP(假设为192.168.200.11)

如果不设置IP,ifconfig命令将不会得到IPv4的地址

打开终端(应用程序->附件->终端),键入命令如下:

$ sudo ifconfig eth0 192.168.200.11

这里eth0是指第一张网卡,可以用ifconfig查看。

然后,把虚拟机外部的host机IP(假设为192.168.200.10)设置为默认网关。

如果不设置网关,ping命令将出现Destination Host Unreachable错误。

键入指令如下:

$ sudo route add default gw 192.168.200.10 eth0

如果操作正常的话,你可以访问默认网关192.168.200.10

(即虚拟机外Windows的那个虚拟网卡TAP-Win32 Adapter V9)

尝试连接宿主系统的网卡:

$ ping 192.168.200.10

可以看到ping可以到达宿主机器。

 

* 关于网络设置的补充说明

通常使用192.168.*.*格式的IP。

因为192.168.0.0-192.168.255.255(192.168/16)属特殊IP地址段供本地使用。

只是这样的IP不可以直接用于互联网(这里没有问题)。

有些命令可以是这样的:

1. 添加默认网关时可以忽略最后的eth0。

route add default gw 192.168.200.10

2. 配置以太网广播地址和子网掩码(可以省略)。

ifconfig eth0 broadcast 255.255.255.255 netmask 255.255.255.0

 

* 恢复IP设置

正常情况下,只要重启qemu就可还原虚拟机内ubuntu的IP和网关设置。

如果想手动删除默认网关,可键入:(假设虚拟网卡以192.168.200.10为IP)

$ sudo route del default gw 192.168.200.10 eth0

如果想重新设置虚拟系统(例如qemu内的ubuntu)的对外IP,

直接执行ifconfig指定新的IP即可。

例如sudo ifconfig eth0 192.168.200.12。

 

* qemu可能会启动失败

qemu可能会在启动时挂掉(不知为何,可能是虚拟网卡的问题),重启再试。

 

二、让虚拟机内的ubuntu可以访问宿主Windows的共享文件。

* 设置windows的共享文件

我的电脑->工具->文件夹属性->查看

去掉“使用简单文件共享(推荐)前的勾。

然后创建或找一个需要共享的目录,

右键->属性->共享->共享此文件夹,

你可以在对话框中设置读写权限。

然后点“权限”设置用户名。

权限->添加->高级->立即查找。

如果你想添加新的Windows用户,可以这样:

我的电脑->右键->管理->本地用户和组->用户->右键->新用户。

然后重新查找用户名。

设置完后文件夹会出现一个手掌。

 

* 用虚拟机内的ubuntu访问windows的共享文件夹

按照(一)配好ubuntu的IP后。

系统菜单->位置->网络。

打开“Windows网络”->WORKGROUP。

你会看到宿主计算机的名称。

打开后(或者在打开共享目录后)提示输入用户名和密码。

输入宿主Windows的用户名和密码。

连接成功后,就可以看到Windows的文件了。

(ubuntu好像默认自带了samba的功能)

 

三、让虚拟机内的ubuntu可以访问宿主Windows的ftp。

* 安装FileZilla的Windows服务器端(Server版)

http://filezilla-project.org/

开始菜单中选择FileZilla Server Interface。

打开管理界面,主菜单->Edit->Users添加用户名和密码。

加入新的Shared folders(共享文件夹),指定读写权限。

 

* 在Windows命令提示符下测试ftp连接(21端口)

假设我的用户名是test,密码是test。

C:\Documents and Settings\Administrator>ftp localhost

提示输入用户名和密码(注意密码是没有回显的)

登陆成功的话会显示

230 Logged on

ftp>

然后输入ls可以查看目录。

 

* 用虚拟机内的ubuntu访问windows的ftp文件夹

按照(一)配好ubuntu的IP。

登陆ftp的方法之一是使用终端。

输入ftp命令(假设宿主的虚拟网卡IP是192.168.200.10)

$ ftp 192.168.200.10

其余操作和windows的操作相同。

另一种方法是

系统菜单->位置->连接到服务器

服务类型选择:FTP(需登录)

输入相应的信息后弹出对话框。

输入密码后,即可看到宿主系统ftp的文件。

 

四、在Windows上访问虚拟机内的ubuntu的ftp文件夹

* 安装ftp服务器vsftpd

$ sudo apt-get install vsftpd

 

* 启动vsftpd服务

重启ubuntu。

按照(一)加入-net参数和配好ubuntu的IP。

键入下面的命令启动服务

$ sudo service vsftpd start

 

* 在windows上用IE访问ubuntu的ftp文件夹(默认是根目录)。

首先测试一下连接(假设ubuntu的网卡IP是192.168.200.11)

> ping 192.168.200.11

然后在虚拟机中看看vsftpd监听哪个端口

$ sudo netstat -anp | grep vsftpd

可以看到它正在监听tcp的21端口。

(可以修改/etc/vsftpd.conf来更改端口)

然后打开IE。输入ftp://192.168.200.11/

输入用户名和密码。即可访问ubuntu的整个根目录。

(如果乱码,可以改为utf-8编码)

如果使用其它浏览器(如Chome和Firefox),可能打开的是/home对应的用户目录。

 

五、在Windows上用telnet远程登陆虚拟机内的ubuntu

* 安装telnetd服务器

$ sudo apt-get install telnetd

虽然网上说要用xinetd,而且要修改配置文件,

但我发现只安装telnetd也可以在启动时运行telnetd服务。

 

* 尝试在windows上用telnet远程登陆ubuntu

重新启动qemu。

按照(一)加入-net参数和配好ubuntu的IP。

在windows下测试连接(假设ubuntu的网卡IP已经手动设置为192.168.200.11)

> ping 192.168.200.11

然后用telnet 192.168.200.11登陆上ubuntu

> telnet 192.168.200.11

提示u中t输入用户名和密码(密码是无回显的)

登陆后显示最后登陆时间、Linux的版本号、ubuntu的版本号和欢迎。

最后出现提示符。

你可以像在ubuntu的终端那样输入Linux命令(有些输出可以带颜色)。

 

* 乱码问题

如果有乱码,可能是字符集的问题(ubuntu使用utf-8编码)。

你可以使用一些较高级的程序代替windows的telnet命令行。

例如PuTTY可以设置窗口的字符集为UTF-8。

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

 

* 可不可以在ubuntu上远程登陆自己呢?

我试过是可以的,不过需要小心,

因为telnet登陆后的提示符和登陆前是相同的。

很容易弄错(因为不知道现在是不是在远程登陆),

所以最好不要直接在ubuntu上telnet自己。

 

 

六、在虚拟的ubuntu系统中创建svn服务器

* 安装Subversion和Apache2

(打开终端)

(安装subversion版本控制服务器)

$ sudo apt-get install subversion subversion-tools

(安装Apache httpd静态页面服务器)

$ sudo apt-get install apache2

(安装httpd的svn模块插件,使远程机器可以访问本地的代码仓库,即WebDAV) 

$ sudo apt-get install libapache2-svn

$ sudo /etc/init.d/apache2 restart

$ ps -A | grep apache2

 

* 测试本地svn仓库

(创建helloworld工程)

$ sudo mkdir /var/svn-repos/

$ sudo svnadmin create /var/svn-repos/helloworld

(提升/var/svn-repos/的访问用户和权限,使httpd可以访问)

(假设当前启动apache2服务器进程的组是wmt,可以用groups查看)

$ sudo chown -R www-data:wmt /var/svn-repos/*

$ sudo chmod -R 770 /var/svn-repos/*

(测试本地导入)

$ cd

$ mkdir temp

$ echo hello > temp/test.txt

$ svn import ./temp file:///var/svn-repos/helloworld

(如果出现GNU nano提示忽略,按Ctrl-X跳过即可)

(如果提交成功,将显示当前版本号为1)

$ svn list file:///var/svn-repos/helloworld

test.txt

$ cd

(测试本地导出)

$ svn checkout file:///var/svn-repos/helloworld

$ cat ./helloworld/test.txt

hello

$ echo hello_world >> ./helloworld/test.txt

$ cd helloworld

$ echo hello > test2.txt

$ svn add test2.txt

$ svn commit -m "Add test2.txt and change test.txt"

$ svn list file:///var/svn-repos/helloworld

 

* 宿主系统访问虚拟机内的svn仓库代码

假设虚拟网卡的IP:

宿主机windows:192.168.200.10(已设置)

虚拟机ubuntu:192.168.200.11(将要设置)

(重启Apache2,改用虚拟网卡启动qemu,打开终端)

(配置网络)

$ sudo ifconfig eth0 192.168.200.11

$ sudo route add default gw 192.168.200.10 eth0

$ ping 192.168.200.10

(如果ping可以到达宿主Windows系统,说明网卡配置成功)

$ sudo /etc/init.d/apache2 restart

(转到宿主Windows系统,打开命令提示符)

> ping 192.168.200.11

(测试80端口是否监听)

(可以用telnet测试:> telnet 192.168.200.11 80)

打开IE,访问192.168.200.11这个网址,显示It works!

关于libapache2-svn插件有用的配置在:

/etc/apache2/mods-enabled/dav_svn.conf

/etc/apache2/mods-enabled/dav_svn.load

需要修改dav_svn.conf

$ sudo gedit /etc/apache2/mods-enabled/dav_svn.conf

在相应的位置加上(小心,Location标签默认是被注释掉的)

<Location /svn>

DAV svn 

SVNParentPath /var/svn-repos

</Location>

上面的配置的意思是:

* 把下面的SVNPath或SVNParentPath映射到服务器虚拟目录/svn上(由Location标签指定)

* 把本地的/var/svn-repos所有子目录作为可访问代码库

然后保存dav_svn.conf

(假设当前在wmt组,用groups查看)

$ sudo chown -R www-data.wmt /var/svn-repos/*

(重启Apache2)

$ sudo /etc/init.d/apache2 restart

(检查输出中是否有配置错误,否则修改dav_svn.conf)

然后在宿主机上打开IE,输入http://192.168.200.11/svn/helloworld/

即刚才建立的/var/svn-repos/helloworld路径,可以看到

helloworld - Revision 2: /

test.txt 

test2.txt 

看到刚才提交的两个文件。

如果Windows上安装了TortoiseSVN,也可以直接检出这个仓库

http://192.168.200.11/svn/helloworld/

如果需要加权限,可以参考这里的介绍:

http://www.howtoforge.com/debian_subversion_websvn

http://man.chinaunix.net/linux/debian/debian_learning/ch09s14.html

但一般跑虚拟机没必要使用权限和认证那么麻烦

 

* 好处

在虚拟机上搭建svn服务器有以下好处:

* 取代ftp,方便使用。

* 版本控制文件,易于比较。

* 快速修改和比较代码。

* 在虚拟机中编译工程代码。

 

七、debian的系统密码修改(用于

http://code.google.com/p/mod-actionscript/downloads/list

中的debian模拟器的密码修改)

 

进入grub,

选择Debian GNU/Linux, kernel 2.6.26-2-686,按e编辑

选择第二项,按e编辑,在末尾添加rw init=/bin/sh,回车(这里应该是修改了内核的引导参数,阻止其执行默认的初始化程序,改为使用/bin/sh初始化)

然后按b启动,出现sh命令行提示符后输入passwd root

修改密码后输入sync同步,然后关闭qemu。

 

八、debian的mysql密码修改(同上)

 

 

1、首先停止正在运行的MySQL进程

Linux下,运行 killall -TERM mysqld
Windows下,如果写成服务的 可以运行:net stop mysql,如未加载为服务,可直接在进程管理器中进行关闭。

2、以安全模式启动MySQL

Linux下,运行 /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Windows下,在命令行下运行 X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables

3、完成以后就可以不用密码进入MySQL了

Linux下,运行 /usr/local/mysql/bin/mysql -u root -p 进入
Windows下,运行 X:/MySQL/bin/mysql -u root -p 进入

4、更改密码

>use mysql
>update user set password=password("新密码") where user="root";
>flush privileges;

注:如是4.1以上版本则使用old_password()函数进行密码更改。
本文来源网页吧http://www.wangyeba.com

 

九、shell的语言区域问题(待考证!!!)

 

 

如果LANG的值为zh_CN.UTF-8
可以在shell中修改
export LANG=en_US.UTF-8
但可能会影响到xwindow的显示(如果xwindow使用中文的话)

 

十、查看分区大小

 

 

$ df -h

 

参考资料:

1. Tapの使い方

http://www.h7.dion.ne.jp/~qemu-win/TapWin32-ja.html

2. Quick HOWTO : Ch16 : Telnet, TFTP, and xinetd/zh

http://wiki.ubuntu.org.cn/Quick_HOWTO_:_Ch16_:_Telnet,_TFTP,_and_xinetd/zh

3. Ubuntu Telnet 服务开启

http://space.itpub.net/7735683/viewspace-487329

4. Setting up Subversion and websvn on Debian

http://www.howtoforge.com/debian_subversion_websvn

5.  安装Subversion服务器

http://man.chinaunix.net/linux/debian/debian_learning/ch09s14.html

6. mod-actionscript

http://code.google.com/p/mod-actionscript/downloads/list

 

更新日志:

20110429:添加(十)

20110425:添加(七)(八)(九)

20110329:添加(六)

 

分享到:
评论

相关推荐

    QEMU虚拟机网卡及网络配置

    ### QEMU虚拟机网卡及网络配置详解 ...总结而言,QEMU提供了丰富的网卡虚拟化技术和网络配置方案,可以根据实际需求灵活选择合适的配置方式。TAP方式因其强大的功能和灵活性成为了最常用的网络配置模式之一。

    QEMU for windows+安装说明

    QEMU Manager通常提供一个图形用户界面,使得创建和管理虚拟机变得更加直观,比如创建虚拟硬盘、分配内存、设置网络接口等。 在QEMU中,您可以通过ISO映像文件安装各种操作系统,如Linux、Windows或其他自由软件...

    ubuntu 23.04 QEMU图形化安装配置网卡桥接

    Ubuntu 23.04 QEMU 图形化安装配置网卡桥接 本文档将指导您如何在 Ubuntu 23.04 中使用 QEMU 图形化安装配置网卡...本文档指导您如何在 Ubuntu 23.04 中使用 QEMU 图形化安装配置网卡桥接,实现虚拟机访问外部网络。

    Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows

    2. 安装与配置Qemu:学习如何在Windows环境下下载、安装和配置Qemu,以确保能正确模拟目标系统。 3. 模拟ARM系统:理解如何准备和加载ARM架构的操作系统镜像,如Linux,以便在Qemu中运行。 4. 执行系统仿真:掌握...

    windows的qemu虚拟化平台工具

    windows平台安装此工具,可实现打开各种架构的虚拟机

    XP下使用QEMU虚拟机实战

    ### 在Windows XP下使用QEMU虚拟机实战指南 在IT技术快速发展的今天,虚拟化技术已成为软件开发、测试以及IT教育的重要工具。其中,QEMU作为一款开源的虚拟机平台,因其灵活性和广泛的兼容性而备受青睐。本文将详细...

    qemu-kvm配置bridge

    通过上述步骤和知识点的了解,可以完成在Fedora系统上配置QEMU-KVM虚拟机,并使其在桥接模式下访问外部网络。需要注意的是,本知识点基于Fedora 19环境,不同版本的操作系统或者不同的发行版可能会有些许差异,需要...

    Ubuntu18.04下的KVM网络配置(附各种问题解答)

    KVM 网络配置在 Ubuntu 18.04 下的配置方法 KVM(Kernel-based Virtual Machine)是一种开源的虚拟机软件,能够在 Linux 操作系统上实现虚拟化技术。配置 KVM 网络需要了解网桥模式的配置方法,以下是详细的配置...

    QEMU在Windows上模拟ARM硬件平台并安装国产操作系统麒麟高级服务器版V10(基于OpenEuler)

    2. **tap-windows-9.24.7-I601-Win10.exe**:Tap-Windows是TAP驱动程序的Windows实现,它允许QEMU通过虚拟网络接口卡(NIC)与主机网络进行通信。在模拟环境中模拟网络连接时,这个驱动是必需的。 3. **QEMU_EFI.fd...

    用于 Ubuntu 20根文件的 qemu-arm-static

    用于 Ubuntu 20根文件的 qemu-arm-static

    QEMU 作为PLC虚拟化平台 -- 从网络安全角度分析

    因此,许多研究人员正在探索虚拟化作为实现ICS系统高保真模拟的一种手段,在该系统中可以安全地执行网络安全测试。可编程逻辑控制器(PLC)是一个重要的集成电路元件,用于监控断路器和铁路开关等物理过程。先前的...

    win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10

    win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10 双击qemu-w64-setup-20210505.exe,指定安装目录,例:D:\qemu 安装好后,利用如下步骤qemu创建一个虚拟硬盘文件: 在D:\qemu文件夹下,打开cmd命令行 在...

    QEMU-WINDOWS-LITE

    在Windows环境下运行QEMU,可以为开发者提供一个便捷的平台,用于测试不同操作系统或进行软件开发工作。QEMU-WINDOWS-LITE版本是专为Windows用户设计的轻量化版本,简化了安装和使用的流程。 QEMU的轻量级特性主要...

    Qemu-1.15.1 Windows编译版本

    Qemu-1.15.1 Windows编译版本是专为Windows操作系统设计的一个特定构建,相较于之前的版本,它在性能上实现了显著提升,为用户提供更加流畅和高效的虚拟化体验。 在Qemu1.15.1中,开发者对底层代码进行了优化,使得...

    Qemu-kvm虚拟化技术介绍.pdf

    KVM模块是KVM虚拟机的核心部分,负责初始化CPU硬件,打开虚拟化模式,然后将虚拟客户机运行在虚拟机模式下,并对虚拟客户机的运行提供一定的支持。Qemu模块是纯软件实现的虚拟化模拟器,负责模拟硬件设备。用户空间...

    linux qemu离线安装包

    1. **下载QEMU离线安装包**:首先,你需要在有网络的环境中找到适用于你的Ubuntu版本的QEMU deb包,这通常可以在Ubuntu的官方软件仓库或者第三方软件源中获取。确保下载所有必要的依赖项,因为QEMU可能需要其他库来...

    qemu-img windows工具

    在Windows环境下,需要先下载并安装QEMU的Windows版本,如提供的`qemu-0.9.0-windows`压缩包。解压后,找到`qemu-img.exe`执行文件,通过命令行窗口运行相关操作。注意,某些功能可能需要管理员权限。 总的来说,...

    gnu-mcu-qemu-201905 windows下 ZYNQ 模拟器

    为了充分利用GNU MCU QEMU 201905,开发者应当了解如何创建和配置虚拟机映像,这可能涉及到编写启动配置文件,如QEMU的命令行参数或配置文件,来指定内存大小、网络设置、磁盘映像等。同时,他们需要理解ZYNQ的硬件...

    qemu使用教程.pdf

    其中 `-f qcow` 表示创建的是 QCOW 格式的磁盘文件,`F:\system-virtual\windowsxp\windowsxp.img` 是磁盘文件的路径和名称,`8G` 表示虚拟磁盘的最大大小。 3. **安装 Windows XP**: - 使用以下命令启动 QEMU ...

Global site tag (gtag.js) - Google Analytics