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运维工作 ...
随机推荐
- 【转】Shell执行MySql操作
mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句,不用在mysql的提示符下运行mysql,即可以在shell中操作m ...
- MySQL备份利器-xtrabackup的介绍和原理(附脑图)
标签(linux): mysql-xtrabackup 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 xtrabackup是Percona公司针对mysql数据 ...
- CSS中的选择器之html选择器和伪类选择器
1.html选择器(标签选择器) 基本语法: html标签名称{ 属性名:属性值; 属性名:属性值; } 继续在上面的代码中做修改,实例代码: <!DOCTYPE html> <ht ...
- python字符串常用的方法解析
这是本人在学习python过程中总结的一些关于字符串的常用的方法. 文中引用了python3.5版本内置的帮助文档,大致进行翻译,并添加了几个小实验. isalnum S.isalnum() -> ...
- Sonar 数据库表关系整理一(续)
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:Sonar平台是目前较为流行的静态代码扫描平台,为了便于使用以及自己二次开发,有必要对它的数据库结构进行学习 ...
- inotify-tools使用方法详解
inotify-tools 是为linux下inotify文件监控工具提供的一套c的开发接口库函数,同时还提供了一系列的命令行工具,这些工具可以用来监控文件系统的事件. inotify-tools是用 ...
- .NET Core 2.0 问题杂记
一. Ubuntu 14.04 安装 1.安装之前请先删除之前的.net core 版本 命令如下: 1.1 获取安装的.net core 版本 sudo apt --installed list | ...
- Java多线程基础(二)
信号量Semaphore,类似于锁的功能,用于多线程中对一组资源的控制. acquire方法用于尝试获取一个资源,未获取前将一直等待.release用于释放一个资源,release的前提是已经获得了一 ...
- Swing小技巧总结
1. 使JDialog位于屏幕的中央 public void setToScreenCenter(JDialog jd) { Dimension screenSize = Tool ...
- 洛谷 [P2761] 软件补丁问题
并不是网络流 状压+SPFA 通过题目中的描述及数据范围可知,我们状压当前的漏洞,以每个二进制位表示是否有这个漏洞,并以状压的结果为顶点,以补丁的时间为边跑SPFA即可 #include <io ...