centos  samba/squid 配置  samba配置 smbclient  mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128  DNSPOD  第二十七节课

nginx没有缓存,squid有缓存,缓存图片等等  nginx可以负载均衡 ,squid不能负载均衡

现在nginx代理用得比较多

尽量放到rc.local
echo 'mount -t nfs -o nolock,nfsvers=3 192.168.1.106:/tmp/ /mnt/ ' >>/etc/rc.local
echo 'mount -t cifs //192.168.1.106/share /mnt -o username=usersamba,password=123456' >>/etc/rc.local

上半节课

samba配置
smbclient
mount
fstab自动挂载samba

下半节课

测试:curl -xlocalhost:3128 www.qq.com

京东是gbk编码 curl会乱码,百度是utf8 curl 不乱码

squid配置 3128
DNSPOD

一. samba配置
1. 什么是samba
Samba服务类似于windows上的共享功能,可以实现在Linux上共享文件,windows上访问,当然在Linux上也可以访问到。
是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

注意:smb侦听端口:139  和  445  端口

2. 安装配置samba

yum install -y samba samba-client

3、配置文件解说:

[global] 定义全局的配置,workgroup用来定义工作组,相信如果您安装过windows的系统,你会对这个workgroup不陌生。一般情况下,需要我们把这里的MYGROUP改成WORKGROUP(windows默认的工作组名字)。
security = user #这里指定samba的安全等级。关于安全等级有四种:
share:用户不需要账户及密码即可登录samba服务器 创建的文件和目录属主属组都是nobody
user:由提供服务的samba服务器负责检查账户及密码(默认)  用户的家目录 和配置文件的目录都会共享出来
server:检查账户及密码的工作由另一台windows或samba服务器负责
domain:指定windows域控制服务器来验证用户的账户及密码。
passdb backend = tdbsam # passdb backend(用户后台),samba有三种用户后台:smbpasswd(老方式), tdbsam(现在普遍使用)和ldapsam.

;号和#号都是注释符

samba配置文件(/etc/samba/smb.conf)

grep -v  '^#'  |grep -v  '^;'  |grep -v '^$'  /etc/samba/smb.conf

grep -v :打印不符合要求的行
打印不以#开头和逗号开头的行

smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用此密码访问Samba资源。
smbpasswd在/etc/samba中,有时需要手工创建该文件。
tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。
passdb.tdb用户数据库可使用 smbpasswd -a 创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。

pdbedit参数很多,列出几个主要的:
pdbedit -a username:新建Samba账户,必须是系统已有用户 映射系统用户 。
pdbedit -x username:删除Samba账户。
pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit -Lv:列出Samba用户列表详细信息。
pdbedit -c “[D]” -u username:暂停该Samba用户账号。
pdbedit -c “[]” -u username:恢复该Samba用户账号。
ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置 “passdb backend = ldapsam:ldap://LDAP Server”

load printers 和 cups options 两个参数用来设置打印机相关。

除了这些参数外,还有几个参数需要你了解:
netbios name = MYSERVER # 设置出现在网上邻居中的主机名
interfaces=lo eth0 192.168.12.2/24 #用哪个网卡来连接
hosts allow = 127. 192.168.12. 192.168.13. 172.16.# 用来设置允许的主机,可以加网段,如果在前面加 ”;” 则表示允许所有主机
log file = /var/log/samba/%m.log #定义samba的日志,这里的%m是上面的netbios name
max log size = 50 # 指定日志的最大容量,单位是K
[homes] 该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单纯的文件共享的环境来说,这部分可以注视掉。
[printers] 该部分内容设置打印机共享。

4. samba实践一
要求共享一个目录,即不用输入密码即可访问,要求可读写
127.网段 192.168.12.网段 192.168.13.网段 192.168.1.109 IP 才可以访问
[global]部分 MYGROUP 改为WORKGROUP
security = user 改为 security = share
hosts allow = 192.168.1.109  127.  192.168.12.  192.168.13.   去掉分号注释

末尾处加入:
[share]
comment = share all
path = /tmp/samba
browseable = yes
public = yes
writable = yes

mkdir /tmp/samba
chmod 777 /tmp/samba
touch /tmp/samba/sharefiles
echo "111111" > /tmp/samba/sharefiles
启动:/etc/init.d/smb restart
检查配置的smb.conf是否正确 testparm
测试:win机器浏览器输入 file://192.168.0.22/share
或者运行栏输入: \\192.168.0.22

5. Samba实践二
共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写
[global] 部分内容如下:

[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw

还需加入:
[myshare]
comment = share for users
path = /samba
browseable = yes
writable = yes
public = no

创建目录:mkdir /samba
修改权限:chmod 777 /samba

创建系统账号:
useradd user1
useradd user2
添加user1/user2为samba账户:
pdbedit -a user1   //创建完毕之后会要求输入密码
pdbedit -a user2   //创建完毕之后会要求输入密码
列出samba所有账号: pdbedit –L
重启服务 service smb restart
测试:浏览器输入file://192.168.0.22/myshare

6. Linux下访问samba共享文件
安装客户端软件

 yum install -y samba-client cifs-utils

命令格式:smbclient //IP/共享名 -U 用户名
如:smbclient //127.0.0.1/share 如果是匿名访问可以省略掉-U
mount挂载samba目录

mount -t cifs //192.168.0.22/myshare /mnt  -o username=user1,password=123456  //security为user 用户名 密码

mount -t cifs //192.168.0.22/myshare /mnt  //security为share共享 输入密码的时候直接按回车

fstab自动挂载(只适用于输入用户名密码的情况)

修改/etc/fstab文件
添加:
//Server ip/share /smbmount cifs defaults,username=[username],password=[password] 0 0

echo  '//192.168.1.106/share /mnt  cifs defaults,username=[username],password=[password]  0 0' >>/etc/fstab

输入问号 查看支持的命令

Windows共享文件夹,Linux挂载

Linux共享一个目录,Linux挂载

既可以匿名登录 也可以用户名密码登录,配置文件如下,已经验证成功:

vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size =
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
map to guest = bad user
guest account = nobody
encrypt password = yes
smb passwd file = /etc/samba/smbpasswd [public]
comment = public
path= /data/pub/public
browseable = yes
guest ok = yes
writable = yes
printable = no
create mask =
directory mask = [project]
comment = project
path= /data/pub/project
browseable = yes
public = no
guest ok = no
writeable = yes
force user = root
printable = no
create mask =
directory mask =

注意:需要我们手动创建 /data/pub/public 和 /data/pub/project 目录,为了顺利完成试验,需要提前先改成777权限。
另外还需要手动创建用户
useradd testuser
pdbedit -a testuser

samba支持软链接 https://fengqi.me/unix/152.html
samba中文乱码问题 http://bbs.chinaunix.net/thread-813206-1-1.html
samba 多用户权限划分 http://blog.csdn.net/w657395940/article/details/20312053
samba 同时使用匿名和用户登录 http://shjiayeah.blog.163.com/bl ... 180201321261310349/


二. squid配置

nginx没有缓存,squid有缓存,缓存图片等等,现在nginx代理用得比较多

正向代理测试:更改浏览器 连接

反向代理测试:改hosts

1. 什么是squid
squid可以做代理也可以做缓存
squid缓存不仅可以节省宝贵的带宽资源,也可以大大降低服务器的I/O.
squid不仅可以做正向代理,又可以做反向代理。
正向代理,squid后面是客户端,客户端上网要通过Squid去上;反向代理,squid后面是服务器,服务器返回给用户数据需要走squid.
正向代理用在企业的办公环境中,员工上网需要通过squid代理来上网,这样可以节省网络带宽资源。而反向代理用来搭建网站静态项(图片、html、流媒体、js、css等)的缓存服务器,它用于网站架构中。

2. 搭建squid正向代理
官方网站为 http://www.squid-cache.org/
yum install -y squid
squid -v 查看版本以及编译参数
> /etc/squid/squid.conf
vim /etc/squid/squid.conf
加入如下配置
http_port 3128
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 8080 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow all
cache_dir aufs /data/cache 1024 16 256
cache_mem 128 MB
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440 50% 2880 ignore-reload
refresh_pattern . 0 20% 4320
### 到此结束

mkdir /data/cache #创建缓存目录
chown -R squid:squid /data/cache #更改权限
squid -z #初始化缓存目录,该步骤可以省略
/etc/init.d/squid start
squid -kcheck #可以检测配置文件是否有错
squid -k rec #可以重新加载配置
service squid restart #重启squid服务

测试:curl -xlocalhost:3128 www.qq.com
访问图片,测试缓存: curl -xlocalhost:3128 -I 'http://www.aminglinux.com/bbs/static/image/common/logo.png'
限制某些域名不能通过代理访问,或者说只想代理某几个域名 vim /etc/squid/squid.conf
acl http proto HTTP
acl good_domain dstdomain .lishiming.net .aminglinux.com
http_access allow http good_domain
http_access deny http !good_domain
测 curl -xlocalhost:3128 www.google.com.hk -I #403
测 curl -xlocalhost:3128 www.aminglinux.com/bbs/forum.php -I #200
vim /etc/squid/squid.conf #设置域名黑名单

3. 搭建squid反向代理
vim /etc/squid/squid.conf #如下变更
http_port 3128 改为 http_port 80 accel vhost vport
增加如下内容:

cache_peer 123.125.119.147 parent 80 0 originserver name=a
cache_peer_domain a www.qq.com
cache_peer 61.135.169.125 parent 80 0 originserver name=b
cache_peer_domain b www.baidu.com

之前增加的域名白/黑名单相关配置去掉
如果是squid要代理一台web上的所有域名,那么就写成这样: cache_peer 192.168.10.111 80 0 originserver #只需要这一行,cache_peer_domain 都可以省掉
/etc/init.d/squid restart
测试 www.baidu.com www.qq.com www.lishiming.net

4. 需要你练习的知识点
配置一下squid的防盗链
如何查看squid的缓存命中率
如何删除指定的squid缓存文件
squid日志不记录指定文件的访问
尝试配置一下squid透明代理(有用到防火墙知识)

查看一个域名是否用了cdn   是否有多个IP

//查看一个域名是否用了cdn   是否有多个IP
dig i.gtime.cn

squid.conf 配置文件详解 http://www.360doc.com/content/10/1025/14/737570_63865241.shtml
squid.conf中cache_peer详解 http://wycsy.blog.51cto.com/3709381/860638
squid 透明代理 http://www.aminglinux.com/bbs/thread-5515-1-1.html
squid日志不记录静态项 http://www.aminglinux.com/bbs/thread-5307-1-1.html
查看squid缓存命中率 http://www.aminglinux.com/bbs/thread-757-1-1.html
squid配置用户认证 http://www.aminglinux.com/bbs/thread-5400-1-1.html
删除squid缓存 http://www.aminglinux.com/bbs/thread-5297-1-1.html
squid配置防盗链 http://www.360doc.com/content/09/0708/14/32573_4187432.shtml
squid3安装配置文档(编译安装) http://wenku.baidu.com/view/50e8a3bd960590c69ec376c0.html
squid日志 http://www.aminglinux.com/bbs/thread-145-1-1.html
squid故障汇总 http://www.aminglinux.com/bbs/thread-148-1-1.html


DNSPOD

198.71.82.115 美国

阿D提示您:要解析 www.80ops.cn,请填写 www 哦~

主机记录就是域名前缀,常见用法有:

www:解析后的域名为 www.80ops.cn
@:直接解析主域名 80ops.cn
*:泛解析,匹配其他所有域名 *.80ops.cn

SSS这个主机由两条线路进行解析


Server Message Block
http://baike.baidu.com/link?url=AGquQqlo_lgkxABVH42tSs_Bk4aaTIKVi2XCxvWeFt4B8OQuX_vCXyLg2ldlVMvd

SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(Common Internet file System),并且加入了许多新的特色。
SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445.

f

centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128 DNSPOD 第二十七节课的更多相关文章

  1. centos LAMP第三部分php,mysql配置 php配置文件 配置php的error_log 配置php的open_basedir 安装php的扩展模块 phpize mysql配置第二十一节课

    centos   LAMP第三部分php,mysql配置 php配置文件   配置php的error_log  配置php的open_basedir 安装php的扩展模块 phpize  mysql配 ...

  2. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  3. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课

    centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课 rsync可以增量同步,scp不行 ...

  4. centos shell编程3【告警系统】 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七节课

    centos shell编程3[告警系统]  没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh  disk.sh  第三十七 ...

  5. centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课

    centos linux系统日常管理3  服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...

  6. Centos添加新硬盘、分区、格式化、自动挂载

    创建分区 #fdisk /dev/hdb 格式化新创建的分区 #mkfs.ext3 /dev/hdb1 使新创建的分区挂载/mnt/data01目录下 #mount /dev/hdb1 /mnt/da ...

  7. Samba共享及自动挂载测试

    要求: 1.在server0服务器上安装配置samba,工作组为STAFF,共享目录/smb1, 共享名smb1,仅允许192.168.100.0/24网段中的主机访问.samba用户user1可以读 ...

  8. Linux:SAMBA共享、NFS共享、Autofs自动挂载

    SAMBA.NFS共享区别 NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linu ...

  9. VirtualBox下Ubuntu虚拟机共享文件夹、自动挂载相关配置

    VirtualBox Ubuntu 共享文件夹的自动挂载: 一些基本的操作步骤: 首先,我们想要实现VirtualBox虚拟机与windows系统之间的通信,我们必须也应该正确的安装虚拟机系统. 其次 ...

随机推荐

  1. Windows路径操作API函数学习

    前言 在VC++开发过程中,经常需要用到一些路径操作,比如拼需要的文件路径,搜索路径中的内容等等.Windows提供了一套关于路径操作的API帮助我们更好的执行这些操作. 路径截断与合并API Pat ...

  2. mysqldump工具,工作的本质是什么呢?(dump表的时候,是否会产生drop表的语句)

    需求描述: 今天在看mysqldump工具的使用过程,发现一个同事,是这样写的mysqldump命令 mysqldump -uroot -pmysql employees titles | mysql ...

  3. 把握linux内核设计思想(七):内核定时器和定时运行

    [版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途]         前面章节说到了把工作推后到除如今以外的时间运行的机制是下半部机 ...

  4. GIS-ArcGIS JS API FeatureLayer图层绑定事件的几种方式

    一.以下四种方式均可以 importantProvinceLayer.on("click", DoIdentify); dojo.connect(importantProvince ...

  5. laravel Eloquent 模型(也就是我本时说的Model)

    laravel的 Eloquent 模型其实就是我们平时说的MVC里Model,只是换了个名字而已~ 1)Eloquent 是啥? Eloquent 本质就一个查询构建器(laravel里叫查询构建器 ...

  6. 【python】一次执行多个linux命令

    方法:多个命令之间用“;”进行连接即可:

  7. dos命令临时和永久设置环境变量方法

    方法一:批处理中,修改环境变量,一次性有效(也就是在当前的脚本中有效)   CMD中运行:set path==%path%;d:/mypath   用 set path可以查看,当前的环境变量   方 ...

  8. lodash(一)数组

    前言: lodash是一个具有一致接口.模块化.高性能等特性的JavaScript工具库(官网地址:http://lodashjs.com/docs/#_differencearray-values) ...

  9. AndroidWear开发之下载SDK[Android W/Android L]

    Android L Developer Preview SDK发布了,但是天朝还是无法更新到.打开SDK Manager依旧一成不变,这时候就需要利器了. 第一步: 打开Goagent,不要说不知道什 ...

  10. 【Redis】 make编译是提示 make cc Command not found

    在linux系统上对redis源码进行编译时提示提示“make cc Command not found,make: *** [adlist.o] Error 127”. 这是由于系统没有安装gcc环 ...