一. FTP/TFTP/NFS
二. rsync
一般企业在使用 rsync 时会配合 inotify 使用,使用 inotify 监听文件修改情况,一旦文件某些 属性改变,就通知 rsync 进行备份
- inotify + rsync 方式实现数据同步
- sersync :金山公司周洋在 inotify 软件基础上进行开发的,功能更加强大
- 工作原理:
要利用监控服务(inotify),监控同步数据服务器目录中信息的变化
发现目录中数据产生变化,就利用 rsync 服务推送到备份服务器上 -
inotify:
异步的文件系统事件监控机制,利用事件驱动机制,而无须通过诸如 cron 等的轮询机制来获取事件,
linux 内核从 2.6.13 起支持 inotify,通过 inotify 可以监控文件系统中添加、删除,修改、移动等各种事件
inotify-tools 包:
-
inotifywait: 在被监控的文件或目录上等待特定文件系统事件(open ,close,delete 等) 发生,常用于实时同步的目录监控- inotifywatch:收集被监控的文件系统使用的统计数据,指文件系统事件发生的次数统计
例:使用 inotifywait
rsync 软件包:
rsync,rsync-daemon(CentOS 8)
服务文件:/usr/lib/systemd/system/rsyncd.service
配置文件:/etc/rsyncd.conf 端口:873/tcp
rsync命令:
rsync 有三种工作方式:
- 本地文件系统上实现同步。命令行语法格式为上述”Local”段的格式。
- 本地主机使用远程 shell 和远程主机通信。命令行语法格式为上述”Access via remote shell”段的格式。
- 本地主机通过 络套接字连接远程主机上的 rsync daemon。命令行语法格式为上述 “Access viarsync daemon”段的格式。# 三. 防火墙
防火墙概念
- 在计算机领域,防火墙(FireWall)就是基于预先定义的安全规则来监视和控制来往的 络流量的 络安全系统。防火墙的核心是隔离,其
将受信任的内部 络和不受信任的 外部 络隔离开。内部 络一般是公司的内部局域 ,外部 络一般是 Internet。 - 一般防火墙工作在 络或主机边缘,对进出 络或主机的数据包基于一定的规则检查, 并在匹配某规则时由规则定义的行为进行处理的
一组功能的组件,基本上的实现都是默认 情况下关闭所有的通过型访问,只开放允许访问的策略。
防火墙分类
- 按照防火墙的保护范围,防火墙通常被分为:
络防火墙: 络防火墙在两个或更多的 络间监控和过滤流量,运行在 络设备上。 络防火墙保护的是防火墙某一侧的 络(一
般是局域 络)。
主机防火墙: 主机防火墙运行在一般的电脑主机,并控制进出这些电脑的 络流量, 主机防火墙保护的范围是当前主机。 - 从实现方式上看,防火墙被分为:
硬件防火墙: 在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现, 如:华为,天融信 Checkpoint,NetScreen
等
软件防火墙: 运行于通用硬件平台上的防火墙应用软件,ISA –> Forefront TMG - 从工作交互的 络协议层及划分:
络层防火墙: 只可以和 OSI 模型下四层的协议交互
应用层防火墙: 运行应用层防火墙的设备可以叫代理服务器或代理 关,可以与 OSI 的七层协议交互。
Netfilter 中的 hook 函数
- Netfilter 在内核中选取五个位置放了五个 hook(“勾子”) function(INPUT、OUTPUT、 FORWARD、PREROUTING、
POSTROUTING),而这五个 hook function 向用户开放, 用户可以通过一个命令工具(iptables)向其写入规则,规则由信息过滤表
(table)组成, 信息过滤表包含控制 IP 包处理的规则集(ruleset),规则被分组放在(chain)上。 -
三种数据包流动方向
流入本机:PREROUTING –> INPUT–>用户空间进程
流出本机:用户空间进程 –>OUTPUT–> POSTROUTING
转发:PREROUTING –> FORWARD –> POSTROUTING
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IwJFaoKh-1604371435755)(png/2019123117471156.png)]
数据包大致传输过程 :
- 当一个 络数据包进入 卡时,数据包首先进入 PREROUTING 链,内核根据数据包目的 IP 判断是否需 要转送出去
- 如果数据包就是进入本机的,数据包就会沿着图向下移动,到达 INPUT 链。数据包到达 INPUT 链 后,任何进程都会收到它。本机上
运行的程序可以发送数据包,这些数据包经过 OUTPUT 链,然后 到达 POSTROUTING 链输出3. 如果数据包是要转发出去的,且内核允许转发,数据包就会向右移动,经过 FORWARD 链,然后到 达 POSTROUTING 链输出
iptables 扩展匹配条件
multiport 扩展 以离散方式定义多端口匹配
iprange 扩展 指明连续的(但一般不是整个 络)ip 地址范围 源 IP 地址范围 目标 IP 地址范围
mac扩展 mac 模块可以指明源 MAC 地址
string 扩展 string 扩展用于对 文中的应用层数据做字符串模式匹配检测
time 扩展 根据将 文到达的时间与指定的时间范围进行匹配
limit 扩展 基于收发 文的速率做匹 令牌桶过滤器
state 扩展 state 扩展模块,可以根据”连接追踪机制”去检查连接的状态,较耗资源, 会消耗内存,使用 conntrack 机制:追踪本机
上的请求和响应之间的关系
- 状态类型
:新发出请求;连接追踪信息库中不存在此连接的相关信息条目,因此,将其 识别为第一次发出的请求
:NEW 状态之后,连接追踪信息库中为其建立的条目失效之前期间内 所进行的通信状态
:新发起的但与已有连接相关联的连接,如:ftp 协议中的数据连接与命令 连接之间的关系
:无效的连接,如 flag 标记不正确
:未进行追踪的连接,如 raw 表中关闭追踪
已经追踪到的并记录下来的连接信息库
调整连接追踪功能所能够容纳的最大连接数量
查看连接跟踪有多少条目
不同的协议的连接追踪时长
state 模块使用格式 :
开放被动模式的 ftp 服务 :
- 装载 ftp 连接追踪的专用模块: 跟踪模块路径:/lib/modules/kernelversion/kernel/net/netfilter1
- 放行请求 文: 命令连接:NEW, ESTABLISHED 数据连接:RELATED, ESTABLISHED
- 放行响应 文
具体操作:
iptables 规则保存
使用 iptables 命令定义的规则,手动删除之前,其生效期限为 kernel 存活期限
持久保存规则
- CentOS 7,8
- CentOS 6
加载规则
- CentOS 7 重新载入预存规则文件中规则: -n, –noflush:不清除原有规则 –
t, –test:仅分析生成规则集,但不提交- CentOS 6
开机自动重载规则
- 用脚本保存各 iptables 命令;让此脚本开机后自动运行 /etc/rc.d/rc.local 文件中添加脚本路径 /PATH/TO/SOME_SCRIPT_FILE
- 用规则文件保存各规则,开机时自动载入此规则文件中的规则 在/etc/rc.d/rc.local 文件添加
- 定义 Unit File, CentOS 7,8 可以安装 iptables-services 实现 iptables.service
SNAT 实现
SNAT:基于 nat 表的 target,适用于固定的公 IP
例:10.0.1.0/24 段的主机访问外部 络时,IP 数据包源地址被替换为 172.18.1.6-172.18.1.6 中的某一个地址
另一个 target 为,适用于动态的公 IP,如拨 络
DNAT 实现
DNAT:nat 表的 target,适用于端口映射
- 例如
转发 REDIRECTREDIRECT,是 NAT 表的 target,通过改变目标 IP 和端口,将接受的包转发至同一个主机 的不同端口,可用于 PREROUTING
OUTPUT 链
四. Linux启动流程和内核管理
系统启动流程
Centos6
启动过程总结:
或者:
- 运行级别:为系统运行或维护等目的而设定0-6:7个级别
- /etc/rc.d/rc.sysinit: 系统初始化脚本,主要做以下事务“`bash
(1) 设置主机名
(2) 设置欢迎信息
(3) 激活udev和selinux
(4) 挂载/etc/fstab文件中定义的文件系统
(5) 检测根文件系统,并以读写方式重新挂载根文件系统
(6) 设置系统时钟
(7) 激活swap设备
(8) 根据/etc/sysctl.conf文件设置内核参数
(9) 激活lvm及software raid设备
(10) 加载额外设备的驱动程序
(11) 清理操作
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!