流程汇总(虚拟机--网络-samba服务器-sshd连接)
本文从网上几处资料中整理汇总
一,虚拟机的选择。
vmware workstation 7.1.3 与virtual box (版本号忘了),相比于后者,前者的优点是,可以全屏幕,鼠标捕捉的比较好。实际使用时也是如此,这样也避免了使用VNC远程桌面所带来的麻烦。
二,vm网络的设置。
XP上安装虚拟机的步骤和方法与真实的机器上一样。我觉得可能引起麻烦的是网络的配置。首先要在vm上把网络设置好。
VirtualBox中有4中网络连接方式:
VMWare中也有四种,其实他跟VMWare 的网络连接方式都是一样概念,第3个internal换成custom。
要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,通过这张图就很容易看出这4种方式的区别:
图片位置:
再来用文字做详细的解释(其实归结起来就是上面的那张图):
1、NAT
NAT:Network Address Translation,网络地址转换
NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:
Guest访问网络的所有数据都是由主机提供的,Guest并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在。
Guest可以访问主机能访问到的所有网络,但是对于主机以及主机网络上的其他机器,Guest又是不可见的,甚至主机也访问不到Guest。
虚拟机与主机的关系:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
虚拟机与网络中其他主机的关系:只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
虚拟机与虚拟机的关系:相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。
2、Bridged Adapter(网桥模式)
网桥模式,你可以这样理解:
它是通过主机网卡,架设了一条桥,直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。
网桥模式下的虚拟机,你把它认为是真实计算机就行了。
虚拟机与主机的关系:可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机于网络中其他主机的关系:可以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机与虚拟机的关系:可以相互访问,原因同上。
3、Internal(内网模式)
内网模式,顾名思义就是内部网络模式:
虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。
虚拟机与主机的关系:不能相互访问,彼此不属于同一个网络,无法相互访问。
虚拟机与网络中其他主机的关系:不能相互访问,理由同上。
虚拟机与虚拟机的关系:可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为intnet。
4、Host-only Adapter(主机模式)
主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。
我们可以理解为Guest在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。
虚拟机与主机的关系:默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。
虚拟机与网络主机的关系:默认不能相互访问,原因同上,通过设置,可以实现相互访问。
虚拟机与虚拟机的关系:默认可以相互访问,都是同处于一个网段。
5,vmware上有一个custom模式,尚不清楚是怎么用
另外要注意XP和linux的防火墙问题。
根据我们的需求,我们是想虚拟机的IP地址跟XP或者win7 具有同样的地位,因此我们要选择Bridged Adapter这种方式。
三,网络的配置
在选好vm的网络方式后,后面的网络配置就和通常的linux网络配置是一样了。
如果是要路由器给虚拟机动态分配地址。下面的内容就不用看了。
不放心,想重启网络,就service network restart,此命令在/下任何一个目录应该都行。
如果想路由器给虚拟机分配静态地址。采用下面的方法
1. 修改/etc/sysconfig/network/ifcfg-eth0,使用分配到的IP地址设置静态IP.
BOOTPROTO='static'
BROADCAST='192.168.0.255'
ETHTOOL_OPTIONS=''
IPADDR='192.168.0.47'
MTU=''
NAME='82540EM Gigabit Ethernet Controller'
NETMASK='255.255.255.0'
NETWORK='192.168.0.0'
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
2. 添加新行 nameserver 61.132.163.68 到文件/etc/resolv.conf中设置域名服务器。
3. 编辑文件/etc/sysconfig/network/ifroute-eth0(没有就新建)用于设置默认静态路由,内容如下。
default 192.168.0.1
4. /etc/init.d/network restart重新激活网络。或者service network restart 重启网络。
四:安装secure CRT
使用secureCRT 来Ssh登录opensuse.ssh服务通常是linux系统自动的。所以:
重启SSH,用/etc/init.d/sshd restart 或者service sshd restart(/目录及其子目录以下都行)
一般来说,默认在不管XP或者win7或者linux的防火墙设置的情况下,应该能连上,凭借inux系统的root账号。
如果需要问题,尝试
1,关闭linux的防火墙。
2,关闭windows的防火墙
2,打开ssh 的防火墙所在22号端口
vi /etc/sysconfig/SuSEfirewall2 找到 FW_SERVICES_EXT_TCP并改成 FW_SERVICES_EXT_TCP="22"。
逐步通过以上三种方式,一般能够解决问题。
五:安装samba服务器
1. 增加软件源
a) zypper ar http://mirrors.sohu.com/opensuse/distribution/11.1/repo/oss/ main11-1
b) zypper ar http://mirrors.sohu.com/opensuse/distribution/11.1/repo/non-oss/ nonoss11-1
c) zypper ar http://download.opensuse.org/update/11.1/ update11-1
2. 更新软件源zypper ref
3. 安装samba服务器 zypper in samba
4. 配置samba服务器
a) smbpasswd –a username 添加samba用户。下面会提示你输入密码
有时候会出现下面的情形:
#smbpasswd -a testusr
New SMB password:
Retype new SMB password:
Failed to find entry for user testusr.
Failed to modify password entry for user testusr
怎么试验都不行。可能的原因是在Linux中根本不存在你添加的用户,可以用
cat /etc/passwd 看看有没有,没有就需要用useradd username命令添加一个用户,然后再试验。
b) 修改/etc/samba/smb.conf, 添加如下配置项(红色部分需要替换成你自己用户名)
[name]
valid users = name
available = yes
browseable = yes
path = /home/name
guest ok = no
writable = yes
其中name是你要起的名字。一般没啥限制。但在windows里面透过samba服务器用source insight读取代码时,可能会有区别。
一般通过ls -l 命令看到的文件用户组依次为:所有者,组用户,其他用户。 name的起名可能会影响到你编辑修改代码的权限。
这个在另一个帖子 Linux系统下文件权限查看及修改方法 ,中讲到了。
a)和b)之间没有先后顺序关系。
c)其他在网上可能看到使用的名称
workgroup = name1
netbios name = name2
encrypt passwords = yes
creat mask=0664
directory mask=0775
name1表示windows中工作组的名字,要和windows工作组名一样。
name2表示linux机器在windows端的
显示的名字,自己定义,有时候比较方便。这几项通常是全集信息,不设置好像也可以,因为你访问虚拟机是通过ip地址定位的。
encrypt passwords =yes或者no表示是否需要加密口令。可以用或者不用。
creat mask和directory mask分别是对文件和目录的权限,这两个迷惑人的选项可以不要。除非你要对用户有特别的限制。
它们代表着在网络上新建文件与目录时的权限,你要用网络用户来建立,即通过windows访问时建立。
但是,特别要注意的是:LINUX本身的文件及目录权限永远大于SAMBA定义的权限,要让某共享
资源目录 可以被写,首先要保证在LINUX下面该目录可以被相应的用户可写,这是前提。
如果在windows下的操作发生了权限不够的情况,建议留意下linux下该文件的权限。
c)其他常见命令:
smbpasswd -a testusr 对testusr 用户增加设置密码
useradd username 对linux系统增加usrname用户
cat /etc/passwd 查看linux系统有多少用户
smbstatus 可以查看当前samba服务器的登录用户,以及他们所打开的文件等详细信息
smbpasswd -x username 可以删除username用户
smbpasswd -d username 可以禁止username用户
service smb restart 或者 /etc/init.d/smb restart 可以重启samba服务器
vi /etc/samba/smbpasswd 或者cat /etc/samba/smbpasswd 可以列出当前有几个用户了,第一个字符串就是用户名。
vi /etc/shadow.old 列出当前用户的备份,第一个字符串就是用户名
vi /etc/passwd.old 列出当前用户的备份,第一个字符串就是用户名
d) windows端登陆
登陆时,就不用每次输入IP了,在“我的电脑”那里映射的方法比较方便 ,以后就当作是一个驱动器。
加入linux的ip是192.168.0.20.那么输入应该是\\192.168.0.20\name
有时候遇到问题,也可以尝试注销windows,这样可以清理已经产生的连接。特别是多账号登陆的时候。
六:VNC的两个命令
尝试用了下VNC服务,有一种情形是当运行vncserver启动服务器时,可能会产生一个新的桌面。
例如
/tmp/.X11-unix/X1
/tmp/.X11-unix/X2
/tmp/.X11-unix/X3
其中X后面的数字表示了用户号码,这个比较讨厌。你可以用rm /tmp/.X11-unix/X1 或者其他数字X2,X3来删掉这些用户。
不然启动的用户号会越来越多。
新增:
1,VMware虚拟机在win 7下的一个问题. 这个是转过来的帖子
问题表现为,虚拟机申请到的动态IP不正确,或者联不上网。虚拟机为桥接方式。
VMware Network Adapter VMnet1和VMnet8 被归入[未识别的网络-公用网络]的解决方法
系统: Windows7
虚拟软件: VMware Workstation 7.1.3
情况:VMware Network Adapter VMnet1和VMnet8 被防火墙认定为[未识别的网络-公用网络],阻隔,无法使用端口映射,虚拟机的80端口无法传入,数据包只能出不能入。且公用网络被限制不能修改为家庭或工作网络
具体操作为以下这一段话:
简单中文翻译为:
1,进入注册表[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}],先导出做备份。
2,逐项查看其下的[项](0000,0001至00xx),看右边哪一项的[值]为:"DriverDesc"="VMware Virtual Ethernet Adapter for VMnet1"。
3,找到后,添加一个“DWORD”值(32位),名称为“*NdisDeviceType”(*号是必须的),数据值改为“1”。
4,重复第2步,找 VMnet8 ,再重复第3步,添加值。
完成后重启windows即可
重启之后,至少VMware Network Adapter VMnet1和VMnet8 为工作正常状态。
此时若还有问题,可以考虑把设备管理器的Windows网卡删除,再重新扫描启用,或者把虚拟机重新启动一下。