Cuteftp连接虚拟机Centos7

使用Centos7虚拟机时,想要从主机传一些文件到虚拟机,需要使用FTP传输,在主机上装上的CuteFTP的软件,对虚拟机进行配置。

1,首先,要保证虚拟机能够上网

一般装好虚拟机后,只要主机连了网,虚拟机也是有网的,这里简单的介绍一下吧。

首先设置网络连接模式。点击虚拟机 - >设置 - >网络适配器,可以发现有三种模式:桥接模式,NAT模式和仅主机模式,如图1.1:

Cuteftp连接虚拟机Centos7

图1.1

其中:

1)桥接模式:桥接模式下,虚拟机使用的是主机的真实网卡与主机进行通信,如图1.2所示,其中的WLAN2(本地无线连接)和以太网(本地有线连接)就是主机的两个真实网卡,VMNET0和vmnet8的则是两个虚拟网卡。在这种情况下,虚拟机将会占用一个真实网段的IP地址,因此,虚拟机还可以和同一网段的其他计算机进行通信,相当于一台真实的计算机。但是,由于会占用真实的IP地址,因此,在人较多的情况下,可能会发生IP地址冲突。

2)NAT模式:使用的是虚拟网卡vmnet8的,这种模式下,虚拟机可以联网,也可以与主机进行通信,但是不能与其他计算机通信,好处是不占用真实IP地址。

3)仅主机模式(Host Only):这种模式与NAT模式差不多,区别是它在没有联网的情况下也能与主机进行通信。

Cuteftp连接虚拟机Centos7

图1.2

本文使用的是NAT模式。

然后,点击编辑 - >虚拟网络编辑器,选择启用本地DHCP服务,(一般默认都是启用的)。可以点击更改设置来选择是否启用DHCP服务,有的文章是禁止DHCP服务的,这里我选择启用DHCP服务,同样可以完成目标。记住这里的子网地址192.168.21.0,后面会用到。

Cuteftp连接虚拟机Centos7

图1.3

启用了DHCP后,保存,去虚拟机查看虚拟机的IP地址,使用如下命令:

                ip addr

(在之前的centos版本使用的是ifconfig命令,不过这个命令已经被弃用了,故使用上述命令)

所得的结果如图1.4所示:

Cuteftp连接虚拟机Centos7

图1.4

其中,ens33是虚拟机的网卡(之前的系统中用的是eth0、eth1、...等来表示网卡的) ,可以看到,虚拟机为系统动态分配了IP地址,此时虚拟机可以连上网络,但是,虚拟机与主机之间不能通信,要通信的话需要为虚拟机分配一个固定的IP地址。

2、为虚拟机配置固定IP地址

使用以下命令打开配置文件ifcfg-ens33,来配置虚拟机的IP地址,

    sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

在最后一行添加IP地址:

    IPADDR = 192.168.21.88

如图2.1所示:

Cuteftp连接虚拟机Centos7

图2.1

这个IP地址只要是和图1.3子网地址同一个网段的都可以,除了192.168.21.1和192.168.21.2,这两个分别是主机虚拟网卡VMnet8的IP地址和网关地址(个人理解,如有错误,请指出)。

保存并退出后,重启一下网络服务:

        service network restart

然后查看ip地址,结果如图2.2:

Cuteftp连接虚拟机Centos7

图2.2

可以看到,已经为系统分配了固定ip地址192.168.21.88,可以使用ping命令ping通。

此时,虚拟机就可以和主机进行通信了,可以使用SceureCRT连接虚拟机,如图2.3所示:

Cuteftp连接虚拟机Centos7

图2.3

但是此时,还不能使用FTP。

3,安装VSFTPD服务

要使用CuteFTP的连接虚拟机,首先虚拟机系统上要有FTP服务。目前较常用的FTP服务有vsftpd的和proftpd的,本文使用的是vsftpd的服务。

使用如下命令安装vsftpd的:

    sudo yum -y install vsftpd

然后开启vsftpd的服务:

    service vsftpd start

需要对vsftpd做一些配置,才能成功的使用ftp,进入到/ etc / vsftpd目录下,可以看到下面三个文件:ftpusers,user_list和vsftpd.conf。前面两个文件是用户访问控制列表文件,可以用来控制哪些用户被禁止登录ftp.vsftpd.conf是主配置文件,可以配置FTP的读写权限等,这些在很多其他博客都有,就不详细说明了,本文的主要设置如图3.1:

Cuteftp连接虚拟机Centos7

Cuteftp连接虚拟机Centos7

Cuteftp连接虚拟机Centos7

图3.1

配置完成,使用FTP命令连接自身,看看vsftpd的是否能正常使用:

    ftp 192.168.21.88

输入用户名和密码(我使用的是本地用户),发现并不能连上FTP,报错信息是:

                500OOPS:无法读取chroot()列表文件:/ etc / vsftpd / chroot_list

这个信息表示用户没有变更根目录的权限,解决方案如下:

在/ etc / vsftpd目录下新建文件chroot_list,并在其中添加用户名:

        sudo vim / etc / vsftpd / chroot_list

进入后,将允许访问的用户用户名添加进去,如,笔者的本地用户是同业,就将同业写入了该文件,保存退出然后重启vsftpd的服务:

        service vsftpd restart

再使用FTP命令查看的话,发现可以连上的ftp了,如图3.2所示:

Cuteftp连接虚拟机Centos7

图3.2

此时,再使用的CuteFTP,就可以连上虚拟机,并传输文件了,如图3.3:

Cuteftp连接虚拟机Centos7

图3.3

4,不能使用FTP服务的一些常见解决方法

如果在上述情况下还不能使用FTP服务,那么有可能是虚拟机的防火墙打开了,阻止了21端口的访问可以选择关闭防火墙,关闭防护墙命令如下:

    systemctl stop firewalld

如果还是不行,可能是系统防护等级太高,可以选择关闭SELinux的服务:

sudo vim / etc / selinux / config

将其中SELINUX =执行改为SELINUX =禁用即可,如图4.1

Cuteftp连接虚拟机Centos7

图4.1

用sestatus命令查看了SELinux的状态:

Cuteftp连接虚拟机Centos7

可见SELinux的以关闭。

东西有点多,写的可能有点乱,还在学习中,望谅解。

注:这是之前本人在CSDN上发的一篇博客,为了方便,就转到博客园这边来了。

上一篇:虚拟机centos7服务器下,启动oracle11g数据库和关闭数据库


下一篇:C# 中DataTable转成模型List