1.NTP时间服务器(协议)
说明:校准局域网内的时间
典型应用场景:火车票放票时间,在线商店秒杀时间
监听端口:UDP的123
vi /etc/sysconfig/iptables 添加如下规则:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPTcp /etp/ntp.conf /etc/ntp.conf.bak
vi /etc/ntp.conf
粘贴如下内容覆盖原内容driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server cn.ntp.org.cnserver 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
/etc/init.d/ntpd start
ps -ef |grep ntp(e等于A,看所有的进程,f为full显示全名)
netstat -nul 看123端口
ntpq -p 查看ntp服务器的情况这台服务器会跟哪几个上级服务器同步
客户机:安装ntpdate
ntpdate 服务器ip
date 看下服务器和客户机的时间是不是一样
如果提示NTP已启用,就把NTP 关掉/etc/init.d/ntpd stop或者卸载yum remove
date 分时日月年 -s是改时分
企业一般用内网,把外网的那个server去掉,就跟本地同步,/etc/init.d/ntpd stop 先把内网服务器用ntpdate 上级ip 同步,然后把/etc/init.d/ntpd start 然后本地时间就对了,可以让下级跟本机同步
用date把系统时间改到你想要的时间,用touch把文件改成你想要的修改时间,再把时间改回来
公司一般都是内网,所以要自己搭建NTP服务,怎么搭内网?
客户端想定时更新时间,配置任务计划
安装crontab*
配置root用户计划
vim /var/spool/cron/root
分 时 日 月 星期 ntpdate cn.ntp.org.cn */2可以每2小时同步一次 6-12/2可以6点到12点每2小时同步一次
/etc/init.d/crond restart
rontab -e 就是打开上面那个文件 -l看有哪些用户计划
怕系统找不到的话就写绝对路径
which 或者shereis 可以查找命令存放路径
2.DHCP服务器(协议)
说明:分配IP地址,子网掩码
典型应用场景:给内部网络或者网络服务供应商自动分配IP地址
UDP端口67 68
先把服务器地址设成静态最好用NAT模式,桥接的话相当于你局域网里有两个DHCP服务器,你客户机容易连到真实路由上。
yum install dhcp* -y
cd /etc/etc/dhcp/
vim ./dhcpd.conf 把自己配置内容粘贴进来1.配置作用域subnet 、netmask
2.设置网关、子网掩码option routers 、option netmask
3.配置地址池
4.(配置客户端DNS)
全局设置
ddns-update-style interim; 表示dhcp服务器和dns服务器的动态信息更新模式。这行必须要有dhcp服务器才能启动来。
Default-lease-time 21600; 默认租约时间
Max-lease-time 43200; 最大租约时间
Option domain-name "123.com"; 域名服务器的名称,这一行注释掉
Option domain-name-servers 192.168.245.5 默认域名服务的ip地址(你服务器的IP)写成8.8.8.8
一个配置文件可以有多个子网属性。
Sub 192.168.0.0 netmask 255.255.255.0 {(意思是我所分配的ip地址所在的网段
为192.168.0.0 子网掩码为255.255.255.0 )
Range 192.168.0.2 192.168.0.100; (分配的ip地址范围为192.168.0.2到
192.168.0.100)
Option subnet-mask 255.255.255.0 ; (分配ip地址的子网掩码为 255.255.255.0
Option routers 192.168.0.3; (分给客户机的网关为192.168.0.3)
}
有时候我们需要为某一个机器配置固定的ip地址,而下面的配置选项满足了这一要求:
Host server01 {
Hardware ethernet b0:c0:12:f2:a3:a4;
Fixed-address 192.168.0.100;
}
配置完后重启/etc/init.d/dhcpd restart
重启失败,看 tail -fn 100 /var/log/messages
然后客户机设置成dhcp,看会不会从服务器获取IP,
可以看看DNS是不是服务器的 cat /etc/resolv.conf
也可以看服务器cat /var/lib/dhcpd/dhcpd.leases,看MAC地址是不是客户机的
3.Samba服务器(协议)就是桑巴舞那个桑巴
说明:共享目录、文件和打印机。是客户机/服务机型服务
yum install -y samba
rpm -ql samba |more
cd /etc/samba去掉#号,grep -v "#" smb.conf >smb.conf.short分号也去掉
其中
security =后面写share不需要密码,写user只能被授权的用户访问,
path=/写要共享的目录
browseable=用来指定该共享是否可以浏览
writable = 用来指定该共享路径是否可写
在共享的目录里创建个文件
重启服务/etc/init.d/smb restart
用自己电脑当客户机,\\服务器IP不能写入删除的话给目录一个写权限。-R 文件夹权限大于文件权限
没有权限访问的话把防火墙和selinux关了
service iptables stop
setenforce 0
4.NFSNetwork File System网络文件系统 客户端跟主机 依赖于RPC协议
可以让多台机器共享同样的数据,常用于高可用文件共享,发布目录多个机器用一个目录
一般是共享目录,共享一个文件没意义
Mount -t nfs 192.168.245. :/data/ /mnt/
Windows文件共享跟nfs一样的
yum安装nfs-utils portmap
配置文件
rpm -ql nfs
vim /etc.nfsmount.conf 这个文件 不改vim /etc/exports 去配置文件粘贴
/data/ *(rw,no_root_squash,no_all_squash,sync)
星号表示允许谁访问,ro只读访问,rw读写访问,sync实时更新共享
all_squash沉默,匿名用户,适合公用目录,no_all_squash保留文件的UID和GID,权限也是这个权限
root_squash,no_root_squash
all_squash: 将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash: 与all_squash取反(默认设置);
root_squash: 将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx: 将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx: 将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
/etc/init.d/nfs restart
失败了,/etc/init.d/rpcbind restart
客户端 粘贴配置文件里的命令mount -t nfs 192.168.245.5:/tmp/ /mnt/ 本地不支持的话安装一个nfs-utils,防火墙
设置固定端口使防火墙便于管理:http://showerlee.blog.51cto.com/2047005/1127122/
5.FTP服务器 基于TCP 端口21 20 主机跟主机这个公司用的很多,每个部门一个用户一个文件夹,互相之间不能访问不能修改
vsftpd是最常用的,Windows有个server U
安装
配置文件都在/etc/ftpd/下的conf里grep -v "#" vsftpd.conf.bak |grep -v "^$" >vsftpd.conf
对发布目录没有写权限,要chmod o+w /www
其中pam. 我们操作系统登录也是用的这个pam认证服务配置文件
cd /etc/vsftpd/vsftpd.conf 这就是vsftpd的核心配置文件
anonymous_enable=YES/no 是否允许匿名用户登录
local_enable= YES/no 是否允许本地用户登录
write_enable= YES/no 是否允许本地用户上传
guest_enable=yes/no 是否允许虚拟用户登录;
local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容
xferlog_enable= YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口连接
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
userlist_enable= YES yes的话这里面的用户不能访问,防止权限过高的用户用ftp
userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器
listen= YES/no 是否使用独占启动方式(这一项比较重要)
tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式
/etc/vsftpd.ftpusers 指定哪些用户不能访问FTP服务器
/etc/vsftpd.user_list 文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
虚拟用户
得安装pam,是把虚拟用户映射到一个系统用户上
第一步yum install pam* libdb-utils libdb* --skip-broken –y (centos7)
yum install db4* -y (centos6.5)
这个是一个库,用来放数据
vi /etc/vsftpd/ftpuser.txt
每一行一个用户名、密码
生成数据库文件命令
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db 改成只有root可以看到
第二步配置pam认证文件
vim /etc/pam.d/vsftpd
前置这两行
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
创建vsftp映射本地用户
useradd -s /sbin/nologin ftpuser,不需要设密码
然后在vsftpd.conf配置文件加入以下几行
#####
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
可以重启测试了
创建目录mkdir -p /etc/vsftpd/vsftpd_user_conf,这个是虚拟用户的配置目录,每个虚拟用户一个配置文件
进到这个目录下,为虚拟用户创建配置文件,名字同用户名
把配置文件粘贴进去
local_root=/home/ftpuser/jfedu1
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
然后mkdir -p /home/vsftpd/jfedu1
登录不成功,对着视频把过程再做一遍
主动模式被动模式
主动模式和被动模式的不同简单概述为:
主动模式传送数据时是“服务器20端口”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器21”的端口。
主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。
被动模式只需要服务器端开放端口给客户端连接就行了。
https://blog.51cto.com/mustafayin/1899988