1.环境准备。
配置selinux和防火墙
vim /etc/selinux/config
SELINUX=permissive
yum -y remove firewalld
ip地址基础
[root@server ~]# ip address show
[root@server ~]# ip a s
临时添加IP地址
[root@server ~]# ip address add 192.168.10.1/24 dev eth0
[root@server ~]# ip a a 192.168.20.1/24 dev eth0
[root@server ~]# ip a s
删除临时IP地址
[root@server ~]# ip address del 192.168.10.1/24 dev eth0
[root@server ~]# ip a s
ping 命令,测网络连接
-c 指定ping包的个数
[root@server ~]# ping -c 2 192.168.88.240
[root@server ~]# ping -c 3 192.168.88.2
[root@server ~]# ping -c 4 192.168.88.3
一、构建FTP文本传输服务
作用:文本传输协议 vsftpd
具体步骤:
服务端
1.安装软件包
dnf -y install vsftpd
#开启无密码验证
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
2.运行程序,查看ls /var/ftp 有dvd pub两个文件
/usr/sbin/vsftpd
pgrep -l vsftpd
#查看进程信息
touch /var/ftp/dcc.txt
3.本机访问测试
curl 默认补全http://
[root@server ~]# curl ftp://192.168.88.240
-rw-r--r-- 1 0 0 0 May 16 06:42 dcc.txt
drwxr-xr-x 2 0 0 6 Oct 13 2020 pub
客户端
客户端上传文件,安装lftp ip为服务端ip (服务端修改权限 mput上传文件)
lftp创建文件失败会会重试,不成功一直重试,进程一直在
在 客户端更改 /etc/lftp.conf
二、NFS共享文件夹服务
作用:
为客户机提供共享使用的文件夹
所需软件包: nfs-utils
系统服务:nfs-servers
服务端配置步骤
dnf -y install nfs-utils
#创建共享文件夹
mkdir /abc
echo haha > /abc/h.txt
#配置权限
vim /etc/exports
/abc *(ro)
#重启系统
systemctl restart nfs-server
客户端配置步骤
挂载共享才能使用
rpm -q nfs-utils
showmount -e ip地址 #查看对方nfs共享
mkdir /mnt/mynfs
mount 192.168.88.240:/abc /mnt/mynfs
df -h /mnt/mynfs #查看正在挂载的设备信息
ls /mnt/mynfs
实现开机自动挂载
vim /etc/fstab
服务器ip:/abc /mnt/mynfs nfs _netdev 0 0
三、DNS域名解析服务
作用:根据注册的域名查找其对应的IP地址
–主要执行程序:/usr/sbin/named
–系统服务:named
–DNS协议默认端口:53
–运行时的虚拟根环境:/var/named/chroot
•主配置文件:/etc/named.conf #设置负责解析的域名
•地址库文件:/var/named #完全合格的域名与IP地址对应关系
构建DNS服务器
1.安装软件包
[root@server ~]# yum -y install bind bind-chroot
bind(主程序)
bind-chroot(提供牢笼政策)
2.修改主配置文件
[root@server ~]# cp -p /etc/named.conf /root #备份数据
[root@server ~]# ls -l /root/named.conf
[root@server ~]# vim /etc/named.conf #大致浏览内容
[root@server ~]# vim /etc/named.conf
options {
directory "/var/named"; #定义地址库文件存放路径
};
zone "tedu.cn" IN { #定义负责的解析tedu.cn域名
type master; #权威主DNS服务器
file "tedu.cn.zone"; #地址库文件名称
};
3.建立地址库文件
保证named用户对地址库文件有读取权限
如果没有以点作为结尾,那么默认补全本地库文件负责的域名
[root@server ~]# cd /var/named/
[root@server ~]# cp -p named.localhost tedu.cn.zone #保持权限不变
[root@server ~]# ls -l tedu.cn.zone
[root@server ~]# vim tedu.cn.zone
……此处省略一万字
NS server #声明DNS服务器为server
server A 192.168.88.240 #server解析结果为192.168.88.240
www A 1.1.1.1
ftp A 2.2.2.2
[root@server named]# systemctl restart named
测试DNS服务器
1.指定DNS服务器地址
[root@server ~]# echo nameserver 192.168.88.240 > /etc/resolv.conf
[root@server ~]# cat /etc/resolv.conf
2.命令测试域名解析
[root@server ~]# nslookup www.tedu.cn
[root@server ~]# host ftp.tedu.cn
/etc/hosts文件与/etc/resolv.conf文件
1./etc/hosts文件域名解析最高优先级
2./etc/resolv.conf文件指定DNS服务器地址
测试解析
nslookup www.tedu.cn --推荐
host ftp.tedu.cn --输出精简
dig 解析测试
四、邮件服务器
处理用户发出的邮件 —— 传递给收件服务器
处理用户收到的邮件 —— 投递到邮箱
/var/mail/ 收件人名称 存储邮件信息路径
[root@server /]# yum -y install postfix
[root@server /]# rpm -q postfix #提供邮件功能的软件
postfix-2.10.1-9.el7.x86_64
[root@server /]# systemctl status postfix
[root@server /]# useradd yg
[root@server /]# useradd xln
mail 发信操作: mail -s '邮件标题' -r 发件人 收件人
[root@server /]# yum -y install mailx #提供mail命令软件
[root@server /]# mail -s 'test01' -r yg xln
hahaxixiehehelele
. #一行只有一个点表示提交
EOT
mail 收信操作: mail [-u 用户名]
[root@server /]# mail -u xln
>N 1 [email protected] Fri Sep 18 17:24 18/510
& 1 #输入邮件编号
& quit #退出
非交互式发邮件:
[root@server ~]# echo 123456 | mail -s 'test02' -r yg xln
[root@server ~]# mail -u xln
五、NTP时间服务器
作用:提供标准时间
•Network Time Protocol(网络时间协议)
•它用来同步网络中各个计算机的时间的协议
•210.72.145.39 (国家授时中心服务器IP地址)
•Stratum(分层设计)
•Stratum层的总数限制在15以内(包括15)
虚拟机A:时间服务器
1.安装软件包chrony
[root@server /]# yum -y install chrony
[root@server /]# rpm -q chrony
2.修改配置文件
[root@server /]# vim /etc/chrony.conf
#pool 2.pool.ntp.org iburst #与谁同步时间,iburst表示快速同步
allow all #开头的#去掉,修改为允许所有客户端
local stratum 10 #开头的#去掉,本机为第10层的时间服务器
3.重启时间服务
[root@server /]# systemctl restart chronyd
虚拟机B:客户端
1.安装软件包chrony
[root@pc2 /]# yum -y install chrony
2.修改配置文件
[root@pc2 /]# vim /etc/chrony.conf
server 192.168.88.240 iburst #与192.168.88.240同步时间
3.重启时间服务
[root@pc2 /]# systemctl restart chronyd
虚拟机B:
4.测试:
[root@pc2 /]# date -s "2008-1-1"
[root@pc2 /]# date
[root@pc2 /]# systemctl restart chronyd
[root@pc2 /]# date
[root@pc2 /]# date
六、源码编译安装(源码包)
优点:
–获得软件的最新版,及时修复bug
–软件功能可按需选择/定制,有更多软件可供选择(自定义安装路径)
–源码包适用各种平台
步骤:
步骤1:安装开发工具gcc与make,释放源代码至指定目录
步骤2:tar解包,释放源代码至指定目录
步骤3:./configure 配置,指定安装目录/功能模块等选项
步骤4:make 编译,生成可执行的二进制程序文件
步骤5:make install 安装,将编译好的文件复制到安装目录
[root@server ~]# yum -y install gcc make
[root@server ~]# rpm -q gcc
[root@server ~]# rpm -q make
[root@server ~]#
2.进行解压缩
[root@server ~]# tar -xf /root/tools.tar.gz -C /usr/local
[root@server ~]# ls /usr/local/tools
inotify-tools-3.13.tar.gz
3.进行tar解包
[root@server ~]# tar -xf /usr/local/tools/inotify-tools-3.13.tar.gz -C /usr/local/
[root@server ~]# ls /usr/local/
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server ~]# ls
4.运行configure脚本
作用1:检测当前系统是否安装gcc
作用2:指定安装位置与功能
作用3:生成Makefile文件(制作程序的大纲,做菜的菜谱)
./configure --prefix=/opt/myrpm #指定安装位置,
./相对路径
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server ~]# ./configure --help #查看帮助信息,大概浏览一下
[root@server ~]# ./configure --prefix=/opt/myrpm #指定安装位置,此步骤不产生相应的目录
常见的报错信息:gcc开发工具没有安装
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
5.进行make编译,变成可以执行的程序(放在内存中)
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make
如果重新出现错误,重头再来
6.进行make install安装
生成以下文件为成功安装
[root@server ~]# cd /usr/local/inotify-tools-3.13/
[root@server inotify-tools-3.13]# make install
[root@server inotify-tools-3.13]# ls /opt/
[root@server inotify-tools-3.13]# ls /opt/myrpm/
[root@server inotify-tools-3.13]# ls /opt/myrpm/bin/
七、数据同步
格式:rsync [选项...] 源目录 目标目录
rsync 是一个用于文件同步和传输的强大工具,
而 rsync -aavXSH --delete 则是一条命令,包含了多个选项,
用于执行高级的文件同步操作。下面是这个命令中各个选项的含义:
● -a: 表示归档模式,保留文件属性,递归同步子目录,保持文件权限、所有者信息、时间戳等。
● -a: 另一个 -a 选项,表示递归同步子目录。
● -v: 显示详细输出,使 rsync 在执行时显示更多信息。
● -X: 保持扩展属性。
● -S: 保持稀疏文件。
● -H: 保持硬链接文件。
● --delete: 在目标目录中删除源目录没有的文件,实现镜像同步。
综合起来,rsync -aavXSH --delete 命令的作用是在执行文件同步时,
保留所有文件属性,包括权限、所有者信息、时间戳等;同时保持扩展属性、稀疏文件、硬链接文件;
并且在目标目录中删除源目录没有的文件,实现目录之间的镜像同步。
这条命令适用于需要保持两个目录内容同步的场景,确保目标目录与源目录保持一致。
但请注意,在使用 rsync 进行文件同步时,务必谨慎操作,以免意外删除重要文件。
建议在执行此类操作前先做好备份
-r:递归,包括目录/子目录及所有文件
-l:保留符号链接文件
-p,-t:保留文件的权限,时间标记
-o,-g:保留文件的属主/属组标记
-D:保留设备文件及其他特殊文件
本地同步
[root@server ~]# mkdir /mydir /todir
[root@server ~]# echo haha > /mydir/h.txt
[root@server ~]# rsync -avX --delete /mydir/ /todir #同步目录的内容
[root@server ~]# ls /mydir/
[root@server ~]# ls /todir/
[root@server ~]# touch /todir/a.txt
[root@server ~]# ls /todir/
[root@server ~]# rsync -avX --delete /mydir/ /todir
[root@server ~]# ls /todir/
[root@server ~]# ls /mydir/
远程同步(rsync+ssh)
• 与远程的 SSH目录保持同步
下行:rsync [...] user@host:远程目录 本地目录
上行:rsync [...] 本地目录 user@host:远程目录
虚拟机A的/mydir目录的内容与虚拟机B的/mnt进行同步
同步的目录没有会进行创建目录
虚拟机A:
[root@server ~]# rsync -avX --delete /mydir/ [email protected]:/mnt
……..connecting (yes/no)? yes
[email protected]'s password: #输入密码
虚拟机B:
[root@server ~]# ls /mnt
实时数据同步
虚拟机A的/mydir/目录的内容与虚拟机B的/mnt进行同步
实现ssh无密码验证(公钥与私钥)
虚拟机A
1.虚拟机A生成公钥与私钥
[root@server ~]# ssh-keygen #一路回车
[root@server ~]# ls /root/.ssh/
id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过的机器)
2.虚拟机A将公钥传递给虚拟机B
[root@server ~]# ssh-copy-id [email protected]
[root@server ~]# rsync -avX --delete /mydir/ [email protected]:/mnt
监控目录内容变化工具
• 基本用法
inotifywait [选项] 目标文件夹
• 常用命令选项
-m,持续监控(捕获一个事件后不退出)
-r,递归监控、包括子目录及文件
-q,减少屏幕输出信息 -qq:不要屏幕输出
-e,指定监视的 modify、move、create、delete、attrib 等事件类别
inotifywait 监控目录内容变化
rsync -avX --delete /mydir/ [email protected]:/mnt
标签:文件,192.168,server,etc,ls,linux,services,服务器,root
From: https://blog.csdn.net/m0_46683705/article/details/136677760