知识点

来源:互联网 发布:挖矿用什么软件 编辑:程序博客网 时间:2024/06/05 01:14

iptables

http://www.cnblogs.com/can-H/p/6726743.html
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-sIP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

//详述 iptales 工作流程以及规则过滤顺序?

(1)防火墙是一层层过滤的。实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
(2)如果匹配上了规则,即明确表明是阻止还是通过,此时数据包就不能向下匹配新规则了。
(3)如果所有规则中没有明确表明是阻止还是通过这个数据包,也就是没有匹配上规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
(4)防火墙的默认规则是对应链的所有的规则执行完才会执行的,(最后执行的规则)

//iptables 有几个表以及每个表有几个链?

filter:INPUT,OUTPUT,FORWARD
NAT :POSTROUTING,PREROUTING,OUTPUT
mangle:INPUT,OUTPUT,FORWARD,POSTROUTING,PREROUTING
raw : PREROUTING, OUTPUT

规则链名包括:
INPUT链:处理输入数据包。
OUTPUT链:处理输出数据包。
PORWARD链:处理转发数据包。
PREROUTING链:用于目标地址转换(DNAT)。
POSTOUTING链:用于源地址转换(SNAT)。
动作包括:
accept:接收数据包。
DROP:丢弃数据包。
REDIRECT:重定向、映射、透明代理。
SNAT:源地址转换。
DNAT:目标地址转换。
MASQUERADE:IP伪装(NAT),用于ADSL。
LOG:日志记录。

####//iptables 的几个表以及每个表对应链的作用,对应企业应用场景?
(1)filter:

强调:主要和主机自身有关,真正负责主机防火墙功能的(过滤流入流出主机的数据包。)filter表iptables默认使用的表。这个表轻易了三个链(chains)
企业工作场景:主机防火墙
INPUT:负责过滤所有目标地址是本机地址的数据包,通俗的讲,就是过滤进入主机的数据包
FORWARD:负责转发流经主机的数据包。起转发的作用,和nat关系很大,
OUTPUT:处理所有源地址是本机地址的数据包,通俗的讲,就是处理从主机发出去的数据包

强调:对于filter表的控制是实现本机防火墙功能的重要手段,特别是对INPUT链的控制

(2)nat表:

负责网络地址转换,即来源与目的ip地址的port的转换,应用:和主机本身无关。一般用于局域网共享上网或特殊的端口转换服务相关。
NAT功能一般企业工作场景
1.用于做企业路由(zebra)或网关(iptables),共享上网(postrouting)
2.做内部外部IP地址一对一映射(dmz),硬件防火墙映射IP到内部服务器,ftp服务(prerouting)
3.web,单个端口的映射。直接映射80端口(prerouting)
这个表定义了三个链(chains),nat功能就相当于网络的acl控制。和网络交换机类似
OUTPUT:和主机发出去的数据包有关,改变主机发出数据包的目标地址。
PREROUTING:在数据包到达防火墙时进行路由判断之前执行的规则。作用时改变数据包的目的地址,目的端口等。
POSTROUTING:在数据包离开防火墙时进行路由判断之后执行的规则,作用改变数据包的源地址,源端口等。。例如:笔记本和虚拟机都是192.168.1.0/24,就是出网的时候被我们企业路由器把源地址改成了公网地址了。生产应用:局域网共享上网。
另外两个,raw和mangle在工作不常用,不做过多的解释了
这里写图片描述

// iptables显示当前所有规则命令

iptables -nL [ --line-num ]         ##【】表示可选项

//禁止来自 10.0.0.188 ip 地址访问 80 端口的请求

iptables -I INPUT -p tcp -s 10.0.0.188 --dport 80 -j DROP

//如何使在命令行执行的 iptables 规则永久生效?

/etc/init.d/iptables save/etc/sysconfig/iptables       //写入配置文件/etc/init.d/iptables reload     //重启服务

//清除已有iptables

iptables -F
iptables -X
iptables -Z

//规则

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行 iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口 iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口 iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口 iptables -A INPUT -j reject #禁止其他未允许的规则访问 iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问

//屏蔽IP

iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令 iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1123.255.255.254的命令 iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1123.45.255.254的命令 iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1123.45.6.254的命令是

//删除

iptables -L -n --line-numbers   ##将所有iptables以序号标记显示iptables -D INPUT 8     ##删除INPUT里序号为8的规则

//实现把访问 10.0.0.8:80 的请求转到 172.16.1.17:80

iptables -t nat -A PREROUTING -d 10.0.0.8 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.17:80

//实现 172.16.1.0/24 段所有主机通过 10.0.0.8 外网 IP 共享上网

iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.8

//只允许远程主机访问本机的 80 端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT         #允许80端口访问iptables -P INPUT DROP                           #默认拒绝所有服务、端口访问

//请描述如何配置一个 linux 上网网关?

iptables -t nat -A POSTROUTING -o eth0 -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.8

docker

//定义

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
几乎没有性能开销,可一个很容易地在及机器和数据中心运行,他们不依赖任何语言、框架或系统。
解决了运行环境和配置问题,方便发布,也方便做持续集成。

//docker和传统虚拟化(KVM、XEN)方式的不同之处

docker是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统。
传统方式则是在硬件基础上虚拟出自己的系统,再在系统上部署相关的APP应用等。

//docker虚拟化特点

操作启动快、轻量级虚拟化、节省了虚拟机的性能损耗、开源免费、前景及云支持。

//发布的几种方式

蓝绿部署
A/B测试:重在几种中选择一种
灰度发布:平滑过渡,逐渐扩大使用群体。实例:QQ升级。

//镜像、容器、仓库

镜像:其实就是一个模板
容器:使用镜像常见的应用或系统,我们称之为一个容器
仓库:仓库是存放镜像的地方,分为公开仓库和私有仓库两种形式。

//docker的四种网络模式

Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。

host模式:这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

container模式:指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。

none模式:这个模式和前两个不同。在这种模式下,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

bridge模式:bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。下面着重介绍一下此模式。

//docker中Linux内核六种命名空间隔离的系统调用

这里写图片描述

Zabbix

//模块

监测中:
资产记录:
报表:
配置:主机群组、模板、维护、动作、关联项事件、自动发现、IT服务。
管理:

//获取网页状态页的数据

在nginx配置中配置监控项页面、curl过滤状态页信息、创建监控项、创建图形。
创建用户、设置媒介类型、设置权限、创建出发动作与策略、测试验证。

lnmp安全问题

http://www.jianshu.com/p/79b618351fdd

lvm主要步骤

硬盘或者分区–>pv–>vg–>lvm

-物理分区或磁盘是 LVM 的第一构建块。这些可以是分区、完整磁盘、 RAID 集或 SAN 磁盘
-物理卷(块设备,分区或完整磁盘,设备必须初始化为lvm物理卷才能与lvm一起使用)
-卷组是存储池 , 由一个或多个物理卷组成
-物理区块是物理卷中存储的小型数据区块 , 用作 LVM 存储的后端
-逻辑区块映射到物理区块 , 构成 LVM 存储的前端。默认情况下 , 每个逻辑区块映射到一个物理区块。启用某些选项将更改此映射。例如 , 镜像会导致每个逻辑区块映射到两个物理区块
-逻辑卷是逻辑区块组。逻辑卷可以像硬盘驱动器分区一样使用

• 准备物理卷
– disk 用于创建与 LVM 结合使用的新分区。在要与 LVM 结合使用的分区上 , 始终将“ 类型 ” 设置为 “ 0x8e Linux LVM”
– pvcreate /dev/vdaN 用于初始化分区 ( 或其他物理设备 ), 使其作为物理卷与 LVM 结合使用。直接在物理卷中创建用于存储 LVM 配置数据的表头
• 创建卷组
– vgcreate vgname /dev/vdaN 将创建名为 vgname 且由物理卷 /dev/vdaN 组成的卷组。您可以在创建时指定其他物理卷 ( 以空格隔开 ), 也可以随后使用 vgextend 添加新物理卷
• 创建和使用新逻辑卷
– lvcreate -n lvname -L 2G vgname 从 vgname 上可用物理区块创建名为 lvname 、容量为 2GB 的新逻辑卷
– mkfs -t ext4 /dev/vgname/lvname 将在新逻辑卷上创建 ext4 文件系统
– mkdir /data 建立所需目录作为挂载点
– 向 /etc/fstab 文件中添加一下条目:
/dev/mapper/vgname-lvname /data ext4 defaults 1 2
– 运行 mount -a 可在 /etc/fstab 中挂载所有文件系统 , 包括您刚刚添加的条目

//LVM的建立

命令:
73 mkdir /weixindata
74 fdisk /dev/vdb
75 fdisk -l
76 partprobe
77 pvcreate /dev/vdb1
78 fdisk -l
80 df ##注意:一定要把上次实验做的停掉
83 mdadm -D /dev/md0
84 mdadm -S /dev/md0
85 mdadm -D /dev/md0
86 pvcreate /dev/vdb1
87 vgcreate vg0 /dev/vdb1
88 lvcreate -L 300M -n lv0 vg0
89 mkfs.xfs /dev/vg0/lv0
90 mount /dev/vg0/lv0 /weixindata/

//拉伸与缩减

拉伸
1 lvextend -L 900M /dev/vg0/lv0 ##-L是拉伸到多大
2 xfs_growfs /dev/vg0/lv0 ##使文件也增大,注意:文件不能格式化,否则内容会丢掉
3 lvextend -L 1500M /dev/vg0/lv0
4 pvcreate /dev/vdb2 ##再加一块硬盘
5 vgextend vg0 /dev/vdb2
6 lvextend -L 1500M /dev/vg0/lv0
7 xfs_growfs /dev/vg0/lv0

缩减:不能用xfs格式的文件,所以先取消挂载,把文件换一种格式
1 umount /weixindata/
2 mkfs.ext4 /dev/vg0/lv0
3 mount /dev/vg0/lv0 /weixindata/
4 df
1 umount /weixindata/ ##先把文件取消挂载
2 e2fsck -f /dev/vg0/lv0 ##做这一步是为了下一步如果缩的过小有提示
3 resize2fs /dev/vg0/lv0 20M ##过小,会有提示的
4 resize2fs /dev/vg0/lv0 300M
5 resize2fs /dev/vg0/lv0 10M ##也过小
6 mount /dev/vg0/lv0 /weixindata/ ##显示的文件大小是300M
7 lvreduce -L 300 /dev/vg0/lv0
8 pvmove /dev/vdb1 /dev/vdb2
9 vgreduce vg0 /dev/vdb1
10 pvremove /dev/vdb1

netstat

-a或--all:显示所有连线中的Socket-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; -c或--continuous:持续列出网络状态; -C或--cache:显示路由器配置的快取信息; -e或--extend:显示网络其他相关信息; -F或--fib:显示FIB-g或--groups:显示多重广播功能群组组员名单; -h或--help:在线帮助; -i或--interfaces:显示网络界面信息表单; -l或--listening:显示监控中的服务器的Socket-M或--masquerade:显示伪装的网络连线; -n或--numeric:直接使用ip地址,而不通过域名服务器;-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称; -o或--timers:显示计时器; -p或--programs:显示正在使用Socket的程序识别码和程序名称; -r或--route:显示Routing Table-s或--statistice:显示网络工作信息统计表; -t或--tcp:显示TCP传输协议的连线状况; -u或--udp:显示UDP传输协议的连线状况; -v或--verbose:显示指令执行过程; -V或--version:显示版本信息; -w或--raw:显示RAW传输协议的连线状况; -x或--unix:此参数的效果和指定"-A unix"参数相同; --ip或--inet:此参数的效果和指定"-A inet"参数相同。

//shell脚本

http://www.jb51.net/article/53967.htm

$$ Shell本身的PIDProcessID$! Shell最后运行的后台ProcessPID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2$n"的形式输出所有参数。 $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2""$n" 的形式输出所有参数。 $# 添加到Shell的参数个数 $0 Shell本身的文件名 $1$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 

top

DNS

到根服务器上进行迭代查询
这里写图片描述

mysql主从复制与读写分离

http://www.cnblogs.com/luckcs/articles/2543607.html
这里写图片描述

原创粉丝点击