linux 运维,代理,acl控制访问
运维概述:
运行 & 维护,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控制访问的更多相关文章
- Linux运维入门到高级全套常用要点
Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...
- Linux 运维工程师面试问答录(推荐阅读)
一个执着于技术的公众号 本文整理了一些比较常见的 Linux 相关的面试题目,该问答录主要分为基础知识篇和服务器篇.内容主要涉及 Linux 基本原理.常用命令操作.服务器应用等部分的内容. Linu ...
- linux上安装shell编辑器与linux运维面试题
分两个部分 一.安装B-shell解释器 安装cygwin Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...
- 如何掌握并提高linux运维技能
初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置 ...
- Linux运维项目实战系列
Linux运维项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-项目实战2-实现基于LVS负载均衡集群的电商网站架构 2.1项目实战2.1-nginx 反向 ...
- Linux运维企业架构实战系列
Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...
- Linux运维跳槽必备的40道面试精华题(转)
Linux运维跳槽必备的40道面试精华题(转) 下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作. 1.什么是运维?什么是游戏运维? 1)运维 ...
- Linux运维跳槽40道面试精华题
Linux运维跳槽40道面试精华题 运维派 3天前 1.什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护 ...
- 从零起步做到Linux运维经理, 你必须管好的23个细节
“不想成为将军的士兵,不是好士兵”-拿破仑 如何成为运维经理? 一般来说,运维经理大概有两种出身:一种是从底层最基础的维护做起,通过出色的维护工作,让公司领导对这个人非常认可,同时对Linux运维工作 ...
随机推荐
- 【转】<string> <string.h> <cstring>的区别
#include < string.h > void main() { string aaa = " abcsd d " ; printf( " lookin ...
- 【转】高斯-克吕格投影与UTM投影异同
高斯-克吕格(Gauss-Kruger)投影与UTM投影(Universal Transverse Mercator,通用横轴墨卡托投影)都是横轴墨卡托投影的变种,目前一些国外的软件或国外进口仪器的配 ...
- Ajax数据的爬取(淘女郎为例)
mmtao Ajax数据的爬取(淘女郎为例) 如有疑问,转到 Wiki 淘女郎模特抓取教程 网址:https://0x9.me/xrh6z 判断一个页面是不是 Ajax 加载的方法: 查看网页源代码, ...
- 04_VMware虚拟机网络配置
占位占位占位占位占位占位占位占位
- POJ [P2631] Roads in the North
树的直径 树的直径求法: 任取一点u,找到树上距u最远的点s 找到树上距s点最远的点t,s->t的距离即为所求 #include <iostream> #include <cs ...
- HDU 3689 Infinite monkey theorem [KMP DP]
Infinite monkey theorem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Spring MVC的配置和使用
Spring MVC的配置和使用 笔记仓库:https://github.com/nnngu/LearningNotes Spring MVC需要的jar包 文章中 Spring MVC 使用的版本是 ...
- ps删除或覆盖内容
除了选区删除.复制选区内容覆盖之外另外一种方法. 删掉字母"PS": 1. 矩形框选工具在字母上方画出选区 2. Ctrl+T,并拖拽底部以覆盖字母 3. 完成
- 洛谷P1171 售货员的难题【状压DP】
题目描述 某乡有n个村庄(1 输入格式: 村庄数n和各村之间的路程(均是整数). 输出格式: 最短的路程. 输入样例: 3 0 2 1 1 0 2 2 1 0 输出样例 3 说明 输入解释 3 {村庄 ...
- CENTOS6.6下mysql5.7.11的percona-xtrabackup安装与备份
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn Xtrabackup有两个主要的工具:xtrabackup.inno ...