xml地图|网站地图|网站标签 [设为首页] [加入收藏]
正则表达式及Linux三大文本处理工具,Linux防火墙
分类:操作系统

        Iptables采用了表和链的分层结构,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默认的四个表,raw表,mangle表,nat表,filter表,每个表容器内包括不同的规则链,根据处理数据包的不同时机划分为五种链,而决定是否过滤或处理数据包的各种规则,按先后顺序存放在各规则链中。

第1章 什么是运维

一、正则表达式

1、防火墙:内核中具有包过滤体系

1.1 运维的职责:

1、 数据不能丢

2、 网站7*24小时

3、 用户体验要好

要求服务器稳定性比普通家用机高

1、匹配字符的类型

  • [a-z]:小写字母
  • [A-Z]:大写字母
  • [a-Z]:小或大写字母
  • [0-9]:数字
  • [a-zA-Z0-9]:表示匹配一个为字母或数字的字符
  • . :匹配1个任意字符,空格除外 
  • [0-f]:16进制数
  • abc | def:abc或def
  • a (bc | de) f:abcf 或 adef
  • <:单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当做单词
  • >:单词尾
  • [^表达式]:除小写字母以外的所有字符,如此类推。

内核态:netfilter

1.2 运维人员的原则:

简单,易用,高效===(简单,粗暴)

2、后跟以下符号控制匹配的数量

此类符号的左侧要有上面第一点的表达式

  • 表达式*:0或n个字符
  • 表达式+:1或n个字符
  • 表达式?:0或1个字符
  • 表达式{n}:n个字符
  • 表达式{n:m}:n到m个字符
  • 表达式{n,}:至少n个字符

【例】[a-z]表示匹配0个或多个小写字母*

用户态:iptables  管理工具

第2章 服务器的组成详解

3、将匹配的字符控制在头尾

  • ^表达式:头部符合
  • 表达式$:尾部符合

 

工作在网络层:可以对ip地址、端口、协议等信息进行处理

2.1 服务器

二、Linux三大文本处理工具

2、规则链:规则的集合

2.1.1 服务器的类型:

机架式服务器、刀片式服务器、塔式服务器

1、egrep 筛选工具

grep的扩展版,可以使用正则表达式

五种链:(必须大写)

2.1.2 服务器的型号/尺寸/代

时间

1U

2U

2010年以前

1850、1950

2850、2950

2010年-2013年

R410、R610

R710

2014年-2016年

R420/R430、R620/R720

R720/R730

服务器尺寸(厚度、高度):1U=4.5cm

服务器代:R710(10+1  11代) R740(10+4  14代)  1850(8代) 1950(9代)

语法:

egrep -选项  '正则表达式'  文件名

INPUT:入站

2.2 计算机组成

 图片 1

 

 

选项:

  • -n :显示行号
  • -o :只显示匹配的内容
  • -q :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容
  • -l :如果匹配成功,则只将文件名打印出来,失败则不打印,通常-rl一起用,grep -rl 'root' /etc
  • -A :如果匹配成功,则将匹配行及其后n行一起打印出来
  • -B :如果匹配成功,则将匹配行及其前n行一起打印出来
  • -C :如果匹配成功,则将匹配行及其前后n行一起打印出来
  • --color
  • -c :如果匹配成功,则将匹配到的行数打印出来
  • -i :忽略大小写
  • -v :取反,不匹配
  • -w:匹配单词

OUTPUT:出站

2.3 CPU配置

一般服务器的CPU处理器:Intel Xeon  志强系列

一般企业服务器的CPU的颗数:2路或者4路,单个CPU是4核

(2路CPU相当于两个房子,4核相当于一个房子中有4个工人,4个工人可以同时做4件事情)

2U服务器最多2路

2、sed 流编辑器

FORWARD:转发

2.4 内存

内存是CPU与磁盘之间的缓冲设备,是临时储存器(存放数据的),断电丢失。

语法:

语法1:sed  -选项  '数字定位+命令'  文件名

POSTROUTING:路由后转换

2.4.1 内存buffer与catch的区别

buffer: 缓冲区  把数据写入内存的buffer区域,写buffer,写缓冲

catch:  缓存区  从内存中读取catch区域,读catch,读缓存

选项:

  • -n:静默模式,不输出
  • -e:多项编辑,这个不是很清楚
  • -i:直接修改文件内容,而不是输出
  • -r:扩展模式,可使用正则表达式
  • -f:指定文件名,将动作写在新的文件内

PREROUTING:路由前转换

2.5 如何提升用户体验

高发并写入:在某一时间段用户访问暴增,用户先往内存中写入数据,过一段时间或达到一定的数量之后再写入磁盘。

中小企业:用户比较少,数据直接写入磁盘,用户读取的时候,磁盘写入内存,从内存中读取。

定位:

①数字定位(输入行序号定位)

  • 1:单行 
  • 1,3:范围 从第一行到第三行
  • 2,+4:匹配行后若干行
  • 4,~3:从第四行到下一个3的倍数行
  • 2~3:第二行起每间隔三行的行
  • $:尾行
  • 1!:除了第一行以外的行

【例】sed -n '1p' /etc/passwd

②正则表达式定位

  • 正则必须用//包裹起来
  • 扩展正则需要用 -r 参数或转义
  • 替换可使用正则表达式的子模式,即小括号(),可以1、2代表子模式

【例】sed -r 's/(.)(.)/21/ file1 表示将匹配到的第一部分和第二部分替换

贪婪选项:填上g,代表把一行中所有匹配项替换*

1)INPUT链:当收到访问防火墙本机地址的数据包(入站),应用此链中的规则。

2.6 程序、进程、守护进程的含义

程序: 如存放的视频、软件

进程: 运行起来的程序

守护进程: 一直运行的程序

命令:

  • a ∶ 追加append, 
  • c ∶ 改变change, 
  • d ∶ 删除delete,
  • i ∶ 插入insert, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
  • p∶ 列印print
  • s∶ 取代substitute,可以直接进行替换的工作。通常这个 s 的动作可以搭配正则表达式。例如 1,20s/old/new/g

*s命令特别说明:

使用{命令1:命令2:命令3}可增加使用多个命令

s命令语法:sed  -r  '替换命令s/正则表达式/替换内容/贪婪选项g'  文件名

2)OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则。

2.7 磁盘

永久存放数据

磁盘接口:SATA(家庭、个人) SAS(企业服务器)

缓存无处不在,电脑硬件、网站集群

3、awk 文本分析工具

由命令、正则(需要用//包围起来)、比较和关系运算组合而成

使用option中的-F参数定义间隔符号

用$1,$2,$3等的顺序表示files中每行以间隔符号分隔的各列不同域,NF变量表示当前记录的字段数

3)FORWARD链:当收到需要通过防火墙中转发送给其他地址的数据包(转发)时,应用此链中的规则。

2.8 raid卡(磁盘阵列卡)

语法

awk -选项 参数  '逻辑判断{命令 变量1,变量2,变量3}' 文件名

4)PREROUTING链:在对数据包做路由选择之前,应用此链中的规则。

2.8.1 特点:

1、 让你获得更高的容量

2、 让你获得更高的冗余(安全性)

3、 让你获得更高的性能(速度)

选项

  • -F 定义字段分隔符,默认的分隔符是连续的空格或制表符
  • -v 定义变量并赋值 也可以借用次方式从shell变量中引入

AWK变量

  • NR 当前记录的个数(全部文件连接后的统计)
  • FNR 当前记录的个数(仅为当前文件的统计,非全部)
  • FS 字段分隔符 默认为连续空格或制表符,可以使用多个不同的符号做分隔符 -F[:/]
  • OFS 输出字符的分隔符 默认是空格

【OFS例】

# awk -F: 'OFS="=====" {print $1,$2}' /etc/passwd
root=====x

  • NF 当前读入行的字段个数
  • ORS 输出记录分隔符 默认是换行

【ORS例】

# awk -F: 'ORS="=====" {print $1,$2}' /etc/passwd
root x=====bin x=====

  • FILENAME 当前文件名

【例1】使用AWK变量
# awk '{print NR,FNR,$1}' file1 file2 
1 1 aaaaa
2 2 bbbbb
3 3 ccccc
4 1 dddddd
5 2 eeeeee
6 3 ffffff
# 

【例2】引用shell变量的方法

# a=root
# awk -v var=$a -F: '$1 == var {print $0}' /etc/passwd
或者 把整个命令拆开传递,让shell变量外露,
# awk -F: '$1 == "'$a'" {print $0}' /etc/passwd
# a=NF
# awk -F: '{print $'$a'}' /etc/passwd

 

5)POSTROUTING链:在对数据包做路由选择之后,应用此链中的规则。

2.8.2 级别和区别

级别

至少需要的硬盘

容量

冗余

性能

raid 0

1块

没有浪费容量(所有硬盘容量之和)

没有冗余

最高性能

raid 1

只能2块

所有硬盘容量的一半

100%

写入慢,读取类似一块硬盘的速度

逻辑运算(可直接引用域进行运算)

  • = += -= /= *=:赋值
  • && || !:逻辑与 逻辑或 逻辑非
  • ~ !~:匹配正则或不匹配,正则需要用 /正则/ 包围住
  • < <= > >= != ==:关系,比较字符串时要把字符串用双引号引起来
  • $:字段引用需要加$,而变量引用直接用变量名取
  • + - * / % ++ --:运算符

3、规则表:规则链的集合

2.9 远程控制卡的作用

1、 远程控制与管理服务器

2、 远程重启、开机、关机

3、 重装系统

转义序列

  • \ 自身
  • $ 转义$
  • t 制表符
  • b 退格符
  • r 回车符
  • n 换行符
  • c 取消换行

  

有错误请指正,更多详细资料参考:

有4个表:

2.10 如何防止服务器断电

1、 双电源  AB路 使用不同的变压器

2、 UPS(不间断电源)蓄电池组  可以支持30分钟/一小时

3、 柴油发电机+油罐

4、 与附近的加油站签订紧急供

Raw:状态跟踪

Mangle:设置标记

Nat:地址转换

Filter:包过滤

1)filter表:用来对数据包进行过滤,表内包含三个链,即:INPUT,FORWARD,OUTPUT

2)Nat表:nat表主要用来修改数据包的ip地址、端口号等信息。包含三个链,即PREROUTING,POSTROUTING,OUTPUT

3)Mangle表:用来修改数据包的TOS、TTL,或者为数据包设置MARL标记,实现流量整形,策略路由等高级应用,包含五个链,PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD

4)Raw表:用来决定是否对数据包进行状态跟踪,包含两个链:即OUTPUT,PREROUTING

4、规则的匹配顺序:

1)规则表的顺序

当数据包抵达防火墙时,将依次应用raw表,mangle表,nat表和filter表中对应链内的规则,应用顺序为raw-mangle-nat-filter

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:正则表达式及Linux三大文本处理工具,Linux防火墙

上一篇:监控web接口和添加触发器,三种方式给apt设置代 下一篇:没有了
猜你喜欢
热门排行
精彩图文