运维概述:
运行 & 维护,Operation & Maintance
IT运维、业务运维、日常管理运维
采用相关的方法、手段、技术、制度、流程和文档等,
对IT运行环境、IT业务系统和IT运维人员进行的综合管理。

传统运维技术特点:
单一化:业务及服务单一
简单化:部署的服务与架构相对简单
被动化:出现问题后,救火式的管理

linux运维最佳实践
集中化
自动化
分布式
标准化
虚拟化
... ...

————————————————————————————————————
squid代理

代理服务器分类:
正向代理:客户程序(如浏览器)用指定代理服务器的地址,端口
反向代理:负载均衡。

squid服务器:
软件包:squid-3.1.23-9.el6.x86_64
系统服务:squid
主程序:/usr/sbin/squid
主配置文件:/etc/squid/squid.conf
默认监听端口:tcp 3128
默认访问日志:/var/log/squid/access.log

常用配置解析
[root@daili ~]# vim /etc/squid/squid.conf
http_port 3128(监听端口)
cache_man 64 MB(缓存软件相关信息)
access_log /var/log/squid/access.log(日志文件)
visible_hostname www.hydra.org(域名/主机名。默认没有要加上去)
cache_dir ufs /var/spool/squid 100 16 256(默认页面缓存)
(ufs:存储格式,100:目录空间100mb,16:一级子目录,256:二级子目录)

——————————————————————————————————————————————

正向代理:
测试:使客户机机,通过代理服务器访问web主机(使用squid)
主机:beiqiang客户机 eth0 192.168.4.1
主机:daili为代理服务器 eth0 192.168.4.5 eth1 192.168.2.5
主机:web服务器 eth1 192.168.4.100
[root@daili ~]# yum -y install squid(安装squid代理)
[root@daili ~]# vim /etc/squid/squid.conf
http_access allow all(允许所有代理/默认拒绝,要开启)
。。
cache_dir ufs /var/spool/squid 100 16 256(把注释去掉以开启)
。。
visible_hostname www.hydra.org(配置主机名)
。。
http_port 3128(配置监听端口)
[root@daili ~]# /etc/init.d/squid start(启动服务)
[root@daili ~]# curl http://192.168.2.100(在本机测试访问web主机)
hydra
[root@beiqiang ~]# curl --proxy1.0 192.168.4.5:3128 http://192.168.2.100(使用客户机测试)
hydra
[root@beiqiang ~]# curl -I --proxy1.0 192.168.4.5:3128 http://192.168.2.100(-I抓包)
HTTP/1.0 200 OK
Last-Modified: Sun, 13 Aug 2017 22:25:20 GMT
Accept-Ranges: bytes
Content-Length: 6
Content-Type: text/html; charset=UTF-8
Date: Sun, 13 Aug 2017 23:31:46 GMT
Server: Apache/2.2.15 (Red Hat)
ETag: "1c0bba-6-556aa057c2f58"
X-Cache: HIT from www.hydra.org
X-Cache-Lookup: HIT from www.hydra.org:3128
Via: 1.0 www.hydra.org (squid/3.1.23)
Connection: keep-alive

squid反向代理:
与传统代理方向相反,代替公网用户访问组织内部的web服务器
部署基于地区的cdn服务器
测试:配置反向代理服务器
[root@daili ~]# vim /etc/squid/squid.conf
http_port 80 vhost(注意端口冲突,端口改为80)
cache_peer 192.168.2.100 parent 80 0 originserver(本机ip 端口 原始服务器)
[root@daili ~]# /etc/init.d/squid restart(设置后重启服务)
[root@beiqiang ~]# curl http://192.168.4.5(客户机直接访问代理服务器)
hydra

——————————————————————————————————————————————————————

ACL控制访问列表

定义acl
acl 列表名称 列表类型 列表内容
示例:
acl xx src url_regex .*\.mp4

常见的acl列表类型:
src:源地址
dst:目标地址
port:目标端口
time:访问时间
dstdomain:目标域
maxconn:最大并发连接
url_regex:目标url地址
urlpath_regex:整个目标url路径

匹配规则
未设置任何规则时,拒绝所有访问请求
已设置规则时,依次进行检查,匹配即停止,
否则采用最后一条规则相反的权限。

调用acl
http_access allow 列表名称
http_access deny 列表名称

示例:
[root@daili ~]# vim/etc/squid/squid.conf
acl xiuxi time MTWHF 00:00-12:00(定义acl)
acl ip src 192.168.1.1(定义acl)
.....
http_access deny xiuxi(调用acl)
http_access deny ip(调用acl)

案列:
禁止任何客户机使用此代理服务
[root@daili ~]# vim/etc/squid/squid.conf
acl renhe src 0.0.0.0/0.0.0.0
。。。。
http_access deny all

案列:
允许多个局域网网段在工作时间上网
[root@daili ~]# vim/etc/squid/squid.conf
acl all src 0.0.0.0/0.0.0.0
acl wangduan src 192.168.2.0/24 192.168.3.0/24
acl shijian time MTWHF 09:30-18:30
http_access allow wangduan shijian
http_sccess deny all

通过黑名单限制目标网站
[root@daili ~]# vim/etc/squid/ipblock.list(创建地址列表)
61.135.16.35
56.125.65.98
60.28.16.0/24
[root@daili ~]# vim/etc/squid/dmblock.list(创建域列表)
.qq.com
.google.com
[root@daili ~]# vim/etc/squid/squid.conf
acl ipaddress dst "/etc/squid/ipblock.list"
acl dmname dstdomain "/etc/squid/dmblock.list"
。。。。。
acl http_access deny ipaddress
acl http_access deny dmname

[root@daili ~]# vim/etc/squid/squid.conf
acl binfa maxconn 20(最大支持20个用户连接)
.。。。
http_access deny binfa

————————————————————————————————————————————————
varnish服务器

varnish是一款高薪能且开源的反向代理服务器和http加速器
与传统的squid相比,varnish具有性能更高,速度更快,
管理更方便等诸多优点

varnish服务器
/etc/varnish:配置文件目录
/etc/init.d/varnish:varnish启动程序
/etc/sysconfig/varnish:配置文件,varnish定义自身属性
/etc/varnish/default.vcl:默认配置文件,定义后端节点
/usr/bin/varnish_reload_vcl:加载vcl
/usr/bin/varnishadm:客户端程序
/usr/bin/varnishstat:状态监控

部署varnish
编译安装(红帽没有内置的yum包,需要源码包安装)
[root@daili ~]# yum -y install readline-devel pcre-devel
[root@daili ~]# useradd -s /sbin/nologin varnish
[root@daili ~]# tar -xzf varnish-3.0.6.tar.gz
[root@daili ~]# cd varnish-3.0.6
[root@daili ~]# ./configure --prefix=/usr/local/varnish
[root@daili ~]# make
[root@daili ~]# make install
[root@daili ~]# cp redhat/varnish.initrc /etc/init.d/varnish
[root@daili ~]# cp redhat/varnish.sysconfig/etc/sysconfig/varnish
[root@daili ~]# cp redhat/varnish_reload_vcl /usr/bin/
[root@daili ~]# ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/

[root@daili ~]# vim /etc/sysconfig/varnish
VARNISH_VCL_CONF=/etc/varnish/default.vcl:后台配置文件路径
VARNISH_LISTEN_PORT=80:默认端口6081(要改为80)
VARNISH_SECRET_FILE=/etc/varnish/secret:密钥文件
VARNISH_STORAGE_SIZE=64M:缓存大小,默认1G
VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}":默认为硬盘存储,改为基于内存方式

[root@daili]# cd /etc/varnish
[root@daili varnish]# vim default.vclvim default.vcl(改后台配置文件)
backend default {
.host = "192.168.2.5";
.port = "80";
}
[root@daili]# service varnish restart(配置完成后重启服务)
[root@beiqiang /]# curl http://192.168.4.5(客户机测试访问代理服务器)
hydra

清除缓存命令格式:
varnishadm -T ip:端口 -S /etc/varnish/secret(密钥文件)
[root@daili ~]# varnishadm ban.list(查看缓存)
[root@daili ~]# varnishadm -T 127.0.0.1:6082 -S /etc/varnish/secret ban.url /test.html(删除缓存)

varnish日志
varnishlog [-w file](共享内存的日志,不写参数则把日志直接显示在屏幕上)
varnishncsa [-w file](类apache日志,不写参数则把日志直接显示在屏幕上)

——————————————————————————————————————————————————————————

linux 运维,代理,acl控制访问的更多相关文章

  1. Linux运维入门到高级全套常用要点

    Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...

  2. Linux 运维工程师面试问答录(推荐阅读)

    一个执着于技术的公众号 本文整理了一些比较常见的 Linux 相关的面试题目,该问答录主要分为基础知识篇和服务器篇.内容主要涉及 Linux 基本原理.常用命令操作.服务器应用等部分的内容. Linu ...

  3. linux上安装shell编辑器与linux运维面试题

    分两个部分 一.安装B-shell解释器 安装cygwin  Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...

  4. 如何掌握并提高linux运维技能

    初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置 ...

  5. Linux运维项目实战系列

    Linux运维项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-项目实战2-实现基于LVS负载均衡集群的电商网站架构 2.1项目实战2.1-nginx 反向 ...

  6. Linux运维企业架构实战系列

    Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...

  7. Linux运维跳槽必备的40道面试精华题(转)

    Linux运维跳槽必备的40道面试精华题(转)   下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作. 1.什么是运维?什么是游戏运维? 1)运维 ...

  8. Linux运维跳槽40道面试精华题

    Linux运维跳槽40道面试精华题 运维派 3天前 1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护 ...

  9. 从零起步做到Linux运维经理, 你必须管好的23个细节

    “不想成为将军的士兵,不是好士兵”-拿破仑 如何成为运维经理? 一般来说,运维经理大概有两种出身:一种是从底层最基础的维护做起,通过出色的维护工作,让公司领导对这个人非常认可,同时对Linux运维工作 ...

随机推荐

  1. C# 值类型,引用类型区别

    值类型/引用类型 作为所有类型的基类,System.Object提供了一组方法,这些方法在所有类型中都能找到,其中包含toString方法及clone等方法. 引用类型和值类型都继承自System.O ...

  2. redis info详解

    INFO 以一种易于解释(parse)且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值. 通过给定可选的参数 section ,可以让命令只返回某一部分的信息: server 部分记 ...

  3. 揭开Java内存管理的面纱

    前言 相对于C.C++这些高性能语言,Java有着让此类程序员羡慕的功能:内存自动管理.似乎这样,Java程序员不用再关心内存,也不用去了解相关知识.但结果真的是这样吗?特别对于我们这种Android ...

  4. docker挂载NVIDIA显卡运行pytorch

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃   写在前面: 请参考之前的文章安装好CentOS.NVIDIA相关驱动及软件.docker及 ...

  5. ABP官方文档翻译 9.1 EntityFramework集成

    EntityFramework集成 Nuget包 DbContext 仓储 默认仓储 自定义仓储 应用特定的基础仓储类 自定义仓储示例 仓储最佳实践 事务管理 数据存储 ABP可以使用ORM框架,它内 ...

  6. python 3.x 爬虫基础---http headers详解

    前言 上一篇文章 python 爬虫入门案例----爬取某站上海租房图片 中有对headers的讲解,可能是对爬虫了解的不够深刻,所以老觉得这是一项特别简单的技术,也可能是简单所以网上对爬虫系统的文档 ...

  7. 探索从 MVC 到 MVVM + Flux 架构模式的转变

    本文首发于 my blog 在业务中一般 MVVM 框架一般都会配合上数据状态库(redux, mobx 等)一起使用,本文会通过一个小 demo 来讲述为什么会引人数据状态库. 从 MVC 到 MV ...

  8. 51Nod 1225 余数之和 [整除分块]

    1225 余数之和 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 F(n) = (n % 1) + (n % 2) + (n % 3) + ... ...

  9. iPad Pro 10.5+Apple Pencil之专注文献阅读与笔记效率的App综述

    先谈谈我对笔记类App的几点要求--原则是取其精华,略其糟粕,毕竟开发者们还在,App就会不断地被改进: 增删快捷方便:如完美支持Apple Pencil,特定场景下强大的录音功能,单词或短句涂改即可 ...

  10. 计算机基础之Windows10操作系统安装U盘制作

    1.第一步,下载Windows10--ISO镜像(Windows7类似),下载站点: https://msdn.itellyou.cn/(百度搜索msdn即可),个人认为这是最干净的操作系统镜像站点, ...