为电子书包配置透明网关+缓存服务器

===========================================================
一、做IP地址翻译,让局域网内机器能够连入互联网。

#加载模块  
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

#启用IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward

#执行命令
iptables -F
iptables -t nat  -F
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80  -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
service iptables save
service iptables start

#编辑/etc/sysctl.conf
net.ipv4.ip_forward = 0改成1

#关闭Selinux
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled

#重启机器
===========================================================
二、代理服务器

# 安装squid
yum -y install squid

# 配置自动启动
chkconfig --level 35 squid on  


#修改配置文件
 vi /etc/squid/squid.conf

# 内容

http_port 3128 transparent
cache_mem 80 MB
maximum_object_size 4096 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 10.10.6.0/24
http_access allow localnet
http_access deny all

# 会把Range头去掉,再回后端服务器。所以都能取回整个文件。

# 优点是:只要请求一次,文件就都能缓存下来。
# 缺点是:每个请求都拉取完整文件,后端的带宽可能会不稳定。并且第一个用户有可能会比较慢。比如第一个用户请求10M-12M的内容,squid下整个文件时从头开始下,第一个用户等待下载0-10M这个多余的时间。

range_offset_limit -1
quick_abort_min -1

visible_hostname squid.david.dev
cache_mgr 10402852@qq.com


# 清空缓存
cd /var/spool/squid
rm -rf *

# 查看未缓存前文件目录大小
du -h --max-depth=1 /var/spool/squid

# 初始化
squid -zX

# 启动服务
service squid start

# ======================================================================
# 将电子书包的路由器网关指定我们设置完成的10.10.6.211

# 现在所有通过路由器上网的平板电脑应该都可以上网了,而且使用了文件缓存。

# 使用平板下载一些文件,然后再次查看
du -h --max-depth=1 /var/spool/squid
文件应该大!

# 体验用户下载同一个dsek的速度,是不是大幅度提升?
# ======================================================================

squid过期策略设置
http://www.361way.com/squid-date-expires/2239.html

原文地址:https://www.cnblogs.com/littlehb/p/8994652.html