虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录

前言

      最近刚开始学习linux,在VMware中按照Basic server方式安装了Centos 6(别说为什么不是centos 7,我有点怂,还得跟着教程来)。Basic server啥意思呢?对,没有界面,下面这样,纯命令行。
虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录
      这几天成功将虚拟机的网络设置好,下面从一个纯小白(不懂ip、网段、子网掩码、网桥、交换机…blabla)的角度来总结一下,希望能够对新入门的同学有一点帮助。
      初入linux,需要对如何操作文件/目录有个大致的了解,不然会处于叫天天不应的状态(连鼠标也不能用 :<( )。所以对于同样的新手,希望能先有个初步的了解,比如Linux系统目录结构、比如基本的文件/目录操作(cd、ls、pwd、cat、touch等基本的命令)
      下面是在root用户下进行的,对于其他用户,部分命令前要加sudo

1. VMware网络连接方式

      VMware中虚拟机网络连接方式主要有三种:

  • 桥接模式:直接连接物理网络
  • NAT模式:用于共享主机的IP地址
  • 仅主机模式:与主机共享的专用网络

      仅从字面理解,桥接模式和NAT模式是能上网的,仅主机模式是只能和主机通信,不能上网的。
      一般而言,我们的需求肯定是能够上网下载数据的。那么,桥接模式和NAT模式应该选择哪一种呢?参考其他博客
      通俗版,桥接模式和NAT区别
      较理论版,linux虚拟机中和主机三种网络连接方式的区别

在桥接模式下,虚拟机和宿主计算机处于同等地位,虚拟机就像是一台真实主机一样存在于局域网中。物理网卡和虚拟网卡的IP地址处于同一个网段,子网掩码、网关、DNS等参数都相同。因此在桥接模式下,我们就要像对待其他真实计算机一样为其配置IP、网关、子网掩码等等。

在NAT模式下,宿主计算机相当于一台开启了DHCP功能的路由器,而虚拟机则是内网中的一台真实主机,通过路由器(宿主计算机)DHCP动态获得网络参数。因此在NAT模式下,虚拟机可以访问外部网络,反之则不行,因为虚拟机属于内网。
使用NAT模式的方便之处在于,我们不需要做任何网络设置,只要宿主计算机可以连接到外部网络,虚拟机也可以。
NAT模式通常也是大学校园网Vmware最普遍采用的连接模式,因为我们一般只能拥有一个外部IP。很显然,在这种情况下,非常适合使用NAT模式。

      最终选择NAT模式,原因如下(若有问题还请不吝指正)

  • 由于笔记本经常在wifi和网线两种模式下切换,若采用桥接模式,则切换时虚拟机ip也要切换到相应的网段(wifi和网线的ip不在同一网段下)。
  • 而采用NAT模式,一旦设置好了,无论主机在网线还是wifi模式下,都不需要再做任何设置都能正常接入网络。

2. NAT模式连接网络

      目前的状况是命令行+NAT模式。网上的文章大部分是界面+NAT/桥接,或者命令行+桥接,需要设置静态ip啥的,对于像我一样的新手来说,这些文章纷繁复杂,信息有点杂乱。下面将我成功接入网络的过程列出

  1. 打开网络连接,确保VMnet8已启用。控制面板->网络和共享中心->更改适配器设置
  2. 打开VMare虚拟机设置,选择NAT模式。
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录
  3. 查看ip地址,在cmd中输入ipconfig查看各网卡的地址,192.168.131.1,所在网段为192.168.131.0。
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录
  4. 打开VMware虚拟网络编辑器,确保VMnet8的子网地址与上面的VMnet8的地址在同一网段下,可参考判断ip地址是否在同一网段
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录
  5. 进入centos 6,vim /etc/sysconfig/network-scripts/ifcfg-eth0,在此之前可以先备份,cd /etc/sysconfig/network-scripts; cp ifcfg-eth0 if.backup
  6. 在vim中将onboot=no改为了onboot=yes(后面我用备份文件也能连接网络)。关于vim,参考,我只用到了i、Esc、wq。
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录
  7. 重启网络,service network restart
  8. ping www.baidu.com查看是否成功连接网络。如图所示,大功告成!
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录

3. xshell连接虚拟机

      在上面安装的centos中,没有鼠标的功能,也就是输入的历史记录不能通过鼠标滚轮滚动看到。然而,在xshell中连接系统,则能够克服这个缺点(xshell的功能远不止于此)。利用xshell远程连接服务器非常方便,只要找到正确的ip地址,显然虚拟机的系统也要允许连接才可行。

  1. 检查虚拟机中是否安装ssh服务yum list installed | grep openssh,若没有,输入命令yum install openssh-server进行安装
  2. 修改文件/etc/ssh/sshd_config,允许xshell连接。
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录
  3. 在terminal中输入ifconfig查看当前系统的ip地址(注意,不是上面虚拟网络编辑器VMnet8的子网地址192.168.131.0)
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录
  4. 在xshell中输入ip、用户名和密码连接。
    虚拟机Centos命令行下NAT模式连接网络,并通过Xshell远程登录

      Bingo!在xshell中成功登录!

总结

      仅Linux连接网络、远程登录服务器,涉及的内容都很广泛。对于新手来说,信息过于繁杂,有的时候会出现莫名其妙的问题。目前不求精且深,在以后的学习过程中,需要加强计算机网络方面的知识。