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运维工作 ...
随机推荐
- Apache配置虚拟主机后,不能访问localhost
解决方法:将localhost设为虚拟域名 重要的是要注释掉httpd.conf文件的ServerName localhost:80
- TCP之再谈解决服务器TIMEWAIT过多的问题
原则 TIMEWAIT并不是多余的.在TCP协议被创造,经历了大量的实际场景实践之后,TIMEWAIT出现了,因为TCP主动关闭连接的一方需要TIMEWAIT状态,它是我们的朋友.这是<UNIX ...
- records.config文件配置模板
# # # Process Records Config File # # <RECORD-TYPE> <NAME> <TYPE> <VALUE (till ...
- Global对象
1.Global对象是不需要创建实例就可以直接调用方法或属性的对象.有点类是于java中的工具类 2.关于汉字的网络传递 网络访问的过程中在传递数据的时候,传递的本质都是0101,如果你要传送字符的话 ...
- 动态库Link error 一种可能
一般出现link error都是链接时找不到对应函数. 前些天出现这种错误,我反复地检查,都发现动态库里明确的是有对应函数的. 代码里有这样一句#pragma comment(lib,"li ...
- [squid] kid1| ERROR: No forward-proxy ports configured.
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- C程序结构
从程序流程的角度来看,C语言中的语句可以分为3种基本结构:顺序结构.分支结构和循环结构. ① 顺序结构的执行过程如图5-1所示.在这种结构中,程序会顺序执行各条语句. ② 分支结构的执行过程如图5-2 ...
- 精通libGDX游戏开发-RPG实战-欢迎来到RPG的世界
欢迎来到RPG的世界 本章我会快速的使用tiled这样的瓷砖地图工具,来带领大家创造所设想的世界. 创建并编辑瓷砖地图 瓷砖地图(tile-based map)是广泛应用于各种游戏类型的地图格式,li ...
- Golang常用包
fmt 实现了格式化IO函数,格式化短语派生于C io 提供了原始的io操作 bufio 这个包实现了缓冲的io,io.Reader 和 io.Write 对象 sort 对数组和用户定义集合的原始的 ...
- POJ 2653 Pick-up sticks [线段相交 迷之暴力]
Pick-up sticks Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 12861 Accepted: 4847 D ...