虚拟机菜单栏—编辑—虚拟网络编辑器,选择Vmnet8 NAT模式,
1.在最下面子网设置ip为192.168.86.0 子网掩码255.255.255.0
2.NAT设置里面网关IP为192.168.86.2
3.使用本地DHCP服务将IP地址分配给虚拟机不勾选
设置完成后点击应用退出。
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
输入上述命令后回车,打开配置文件,使用方向键移动光标到最后一行,按字母键“O”,进入编辑模式,输入以下内容:
IPADDR=192.168.86.130
NETMASK=255.255.255.0
GATEWAY=192.168.86.2
另外光标移动到”ONBOOT=no”这一行,更改为ONBOOT=yes
“BOOTPROTO=dhcp”,更改为BOOTPROTO=none
DNS1=192.168.86.2
必须要在/etc /sysconfig/network-scripts/ifcfg-eth0里面最后加上dns的设置。不需要配置/etc/resolv.conf
重启网络
service network restart
ifconfig查看
ping www.baidu.com测试
配置Mirror Server:
wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo
配置SSH
1.查看有没有装SSH
[root@localhost ssh]# rpm -qa|grep ssh
openssh-askpass-5.3p1-118.1.el6_8.x86_64
libssh2-1.4.2-1.el6_6.1.x86_64
openssh-5.3p1-118.1.el6_8.x86_64
openssh-server-5.3p1-118.1.el6_8.x86_64
openssh-clients-5.3p1-118.1.el6_8.x86_64
没有装执行
yum install openssh-server
重启ssh
[root@localhost ssh]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
查看是否SSH正在22号端口运行
[root@localhost ssh]# netstat -antp|grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3359/sshd
tcp 0 0 :::22 :::* LISTEN 3359/sshd
设置开机自动启动
chkconfig sshd on
配置ftp
1. 开通FTP有gssftp和vsftpd二种,vsftpd更稳定和更安全。就用vsftpd
什么是vsftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
1). 安装vsftpd
首先查看是否服务器已经安装vsftpd.
rpm -q vsftpd
如果没有安装
yum -y install vsftpd
安装完成后会产生下面的东西
/etc/vsftpd/vsftpd.conf
home目录/var/ftp
新建了ftp用户和ftp组
[root@localhost ftp]# cat /etc/passwd|grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
2)、设置开机自启
chkconfig vsftpd on
3)、启动vsftpd
service vsftpd start
4)、安装ftp客户端验证是否vsftpd可用
yum -y install ftp
ftp 127.0.0.1
输入用户名ftp,密码随意,因为默认允许匿名
5)、关闭匿名
vi /etc/vsftpd/vsftpd.conf
行anonymous_enable=YES ,改为NO
重启service vsftpd restart使改动生效,再次ftp127.0.0.1, 用户名ftp,密码随意,会发现无法登录
6)、root用户登陆
root用户无法ftp登陆是因为/etc/vsftpd/vsftpd.conf中userlist_enable = YES, 所有/etc/vsftpd/user_list和ftpusers中的用户都会禁用ftp登陆。
解决办法:
a. 注释掉下面两个文件中的root用户
/etc/vsftpd/user_list
/etc/vsftpd/ftpusers
b. 设置SELinux中的两个变量(也可以用来解决问题:500 OOPS: cannot change directory)
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
c. service vsftpd restart
7)、启用远程登陆,需要进一步配置
1、开启21端口
vi /etc/sysconfig/iptables 在22 - j ACCEPT下加入
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
service iptables restart
cannot change directory:/home/***
ftp服务器连接失败,错误提示:
500 OOPS: cannot change directory:/home/*******
500 OOPS: child died
解决方法:
在终端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
[root@localhost vsftpd]# sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir off
ftpd_connect_db off
ftpd_use_fusefs off
ftpd_use_passive_mode off
httpd_enable_ftp_server off
tftp_anon_write off
tftp_use_cifs off
tftp_use_nfs off
结果如上, ftp_home_dir off,即SE关闭了ftp主目录,如下,将其设置为on
[root@localhost vsftpd]# setsebool -P ftp_home_dir on
说明:-P表示永久设置,不用每次开机后都重新设置。
3.重启ftp服务器
[root@localhost vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
8)、开启passive模式
开启防火墙端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30999 -j ACCEPT #开启passive模式端口
service iptables restart
9)、开启passive模式,在/etc/vsftpd/vsftpd.conf中加入下面两句
pasv_min_port=30000
pasv_max_port=30999
service vsftpd restart
10)、配置chroot_local_user与chroot_list_enable
很多情况下,我们希望限制ftp用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上的其他目录,这时候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file这三个选项了。以下是对三个配置项的解释:
- chroot_local_user #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)
- chroot_list_enable #是否启动限制用户的名单 YES为启用 NO禁用(包括注释掉也为禁用)
- chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值,我们可以这样记忆: chroot_local_user总是一个全局性的设定,其为YES时,全部用户被锁定于主目录,其为NO时,全部用户不被锁定于主目录。那么我们势必需要在全局设定下能做出一些“微调”,即,我们总是需要一种“例外机制",所以当chroot_list_enable=YES时,表示我们“需要例外”。而”例外“的含义总是有一个上下文的,即,当”全部用户被锁定于主目录“时(即chroot_local_user=YES),"例外"就是:不被锁定的用户是哪些;当"全部用户不被锁定于主目录"时(即chroot_local_user=NO),"例外"“就是:要被锁定的用户是哪些。这样解释和记忆两者之间的关系就很清晰了!
chroot_local_user=YES | chroot_local_user=NO | |
chroot_list_enable=YES | 1.所有用户都被限制在其主目录下2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制 | 1.所有用户都不被限制其主目录下2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制 |
chroot_list_enable=NO | 1.所有用户都被限制在其主目录下2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户 | 1.所有用户都不被限制其主目录下2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户 |
例:限制除root之外所有用户只能访问自家目录
chroot_local_user=YES
chroot_list_enable=YES
把root加到/etc/vsftpd/chroot_list中
service vsftpd restart