使用Centos7虛擬機時,想要從主機傳一些文件到虛擬機,需要使用FTP傳輸,在主機上裝上的CuteFTP的軟體,對虛擬機進行配置。 1,首先,要保證虛擬機能夠上網 一般裝好虛擬機後,只要主機連了網,虛擬機也是有網的,這裡簡單的介紹一下吧。 首先設置網路連接模式。點擊虛擬機 - >設置 - >網路適 ...
使用Centos7虛擬機時,想要從主機傳一些文件到虛擬機,需要使用FTP傳輸,在主機上裝上的CuteFTP的軟體,對虛擬機進行配置。
1,首先,要保證虛擬機能夠上網
一般裝好虛擬機後,只要主機連了網,虛擬機也是有網的,這裡簡單的介紹一下吧。
首先設置網路連接模式。點擊虛擬機 - >設置 - >網路適配器,可以發現有三種模式:橋接模式,NAT模式和僅主機模式,如圖1.1:
圖1.1
其中:
1)橋接模式:橋接模式下,虛擬機使用的是主機的真實網卡與主機進行通信,如圖1.2所示,其中的WLAN2(本地無線連接)和乙太網(本地有線連接)就是主機的兩個真實網卡,VMNET0和vmnet8的則是兩個虛擬網卡。在這種情況下,虛擬機將會占用一個真實網段的IP地址,因此,虛擬機還可以和同一網段的其他電腦進行通信,相當於一臺真實的電腦。但是,由於會占用真實的IP地址,因此,在人較多的情況下,可能會發生IP地址衝突。
2)NAT模式:使用的是虛擬網卡vmnet8的,這種模式下,虛擬機可以聯網,也可以與主機進行通信,但是不能與其他電腦通信,好處是不占用真實IP地址。
3)僅主機模式(Host Only):這種模式與NAT模式差不多,區別是它在沒有聯網的情況下也能與主機進行通信。
圖1.2
本文使用的是NAT模式。
然後,點擊編輯 - >虛擬網路編輯器,選擇啟用本地DHCP服務,(一般預設都是啟用的)。可以點擊更改設置來選擇是否啟用DHCP服務,有的文章是禁止DHCP服務的,這裡我選擇啟用DHCP服務,同樣可以完成目標。記住這裡的子網地址192.168.21.0,後面會用到。
圖1.3
啟用了DHCP後,保存,去虛擬機查看虛擬機的IP地址,使用如下命令:
ip addr
(在之前的centos版本使用的是ifconfig命令,不過這個命令已經被棄用了,故使用上述命令)
所得的結果如圖1.4所示:
圖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所示:
圖2.1
這個IP地址只要是和圖1.3子網地址同一個網段的都可以,除了192.168.21.1和192.168.21.2,這兩個分別是主機虛擬網卡VMnet8的IP地址和網關地址(個人理解,如有錯誤,請指出)。
保存並退出後,重啟一下網路服務:
service network restart
然後查看ip地址,結果如圖2.2:
圖2.2
可以看到,已經為系統分配了固定ip地址192.168.21.88,可以使用ping命令ping通。
此時,虛擬機就可以和主機進行通信了,可以使用SceureCRT連接虛擬機,如圖2.3所示:
圖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:
圖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所示:
圖3.2
此時,再使用的CuteFTP,就可以連上虛擬機,並傳輸文件了,如圖3.3:
圖3.3
4,不能使用FTP服務的一些常見解決方法
如果在上述情況下還不能使用FTP服務,那麼有可能是虛擬機的防火牆打開了,阻止了21埠的訪問可以選擇關閉防火牆,關閉防護牆命令如下:
systemctl stop firewalld
如果還是不行,可能是系統防護等級太高,可以選擇關閉SELinux的服務:
sudo vim / etc / selinux / config
將其中SELINUX =執行改為SELINUX =禁用即可,如圖4.1
圖4.1
用sestatus命令查看了SELinux的狀態:
可見SELinux的以關閉。
東西有點多,寫的可能有點亂,還在學習中,望諒解。
註:這是之前本人在CSDN上發的一篇博客,為了方便,就轉到博客園這邊來了。