LIUNX+NAT网吧网段限速透明代理脚本

首先我说明一下我这的网络环境
我这里上网用的是电信(ISP)公网IP+LIUNX代理服务器(算是简单路由器吧.呵呵)
LIUNX装双网卡
ETH0  为  内网IP
ETH1  为 外网IP
另外大家有好的IPTABLES规则防火强要在下面跟帖啊,我会把帖子整理出来(会注明哪位兄弟发的::xiao2:: )让大家(包括我)可以学习学习:P

好了,下面是我的限速脚本(请注意空格和大小写,好象记得LIUNX对大小有要求:) )  以下是我RC.LOCAL内容
注:()里是我的注解,如果有不对的请版主指出。

# !/bin/sh

touch   /var/lock/subsys/local
echo  1  > /proc/sys/net/ipv4/ip_forward

route add default  gw  10.0.0.0   (这是加入电信网关,如果你已设了不用这条)

DOWNLOAD=640Kbit     (640/8 =80K ,我这里限制下载最高速度只能80K)
UPLOAD=640Kbit           (640/8 =80K,上传速度也限制在80K)
INET=192.168.0.           (设置网段,根据你的情况填)
IPS=1                           (这个意思是从192.168.0.1开始)
IPE=200                        (我这设置是从IP为192.168.0.1-200这个网段限速,根据自已的需要改)
ServerIP=253                (网关IP)
IDEV=eth0
ODEV=eth1

/sbin/tc  qdisc  del  dev  $IDEV root handle 10:
/sbin/tc  qdisc  del  dev  $ODEV  root handle  20:
/sbin/tc  qdisc  add  dev $IDEV  root  handle  10: cbq  bandwidth  100Mbit avpkt  1000
/sbin/tc  qdisc  add  dev  $ODEV  root  handle  20: cbq bandwidth  1Mbit  avpkt  1000
/sbin/tc  class  add  dev $IDEV  parent 10:0  classid  10:1  cbq  bandwidth  100Mbit  rate 100Mbit  allot 1514  weight  1Mbit  prio  8  maxburst  20  avpkt  1000
/sbin/tc  class  add  dev  $ODEV  parent  20:0  classid  20:1 cbq  bandwidth  1Mbit  rate  1Mbit  allot  1514  weitht  10Kbit  prio  8  maxburst  20  avpkt  1000

COUNTER=$IPS
while  [   $COUNTER  -le  $IPE   ]
    do
/sbin/tc  class  add  dev  $IDEV   parent  10:1  classid  10:1$COUNTER  cbq  banwidth  100Mbit  rate  
$DOWNLOAD  allot  1514  weight  20Kbit  prio  5  maxburst  20  avpkt  1000  bounded
/sbin/tc  qdisc  add  dev  $IDEV  parent  10:1$COUNTER  sfq  quantum  1514b  perturb15
/sbin/tc  filter  add  dev  $IDEV  parent  10:0  protocol  ip  prio  100  u32  match  ipdst  $INET$COUNTER   flowid  10:1$COUNTER
      COUNTER=` expr  $COUNTER  +  1  `
done

iptables  -t  nat  -A  POSTROUTING  -o  eth1  -s  192.168.0.0/24  -J  MASQUERADE

(完)自行用 cat  /etc/rc.local  检查脚本,有好的IPTABLES规则防火强请跟贴.好让广大兄弟姐妹受益(包括我在内:) )

另外还可以装个SQUID做做CACHE服务器,会使你网吧打开网页的速度有显著提高..
Squid是什么?    (网上找的,让不知道的朋友有个认识.知道的高手就不用看了)  我现在用的是LIUNX+IPTALBLES+SQUID做代理,感觉很好用....
  Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想下载一web页面,他请求Squid为他取得这个页面。Squid随之连接到远程服务器(比如:http://squid.nlanr.net/)并向这个页面发出请求。然后,Squid显式地聚集数据到客户端机器,而且同时复制一份。当下一次有人需要同一页面时,Squid可以简单地从磁盘中读到它,那样数据迅即就会传输到客户机上。当前的Squid可以处理HTTP,FTP,GOPHER,SSL和WAIS等协议。但它不能处理如POP,NNTP,RealAudio以及其它类型的东西。

下面是我的SQUID配置文件,比较简单.但应付一般的足够了.如果想得到更多更全的SQUID配置要靠大家努力..
至于安装SQUID可以到网上找找资料,蛮多的.
以下是我的SQUID基本配置文件,我的SQUID安装在/ETC/SQUID目录下.所以
VI /ETC/SQUID/SQUID.CONF    ..  SQUID.CONF配置内容

http_port 3128     (代理,也就是缓存服务器端口)
visible_hostname   hostname     (hostname你的服务器名)
cache_dir ufs /var/spool/squid   1000  16  256   (缓存目录,大小)
cache_mem   20MB
cache_swap_low  90
cache_swap_high  95
httpd_accel_host  virtual
httpd_accel_port  80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
acl  all src  0.0.0.0/0.0.0.0
http_access allow  all

保存退出,squid -k check 检查代码,如果只做到这那么你还要到每台机的IE-工具-internet选项-连接-局域网设置里设置代理服务器IP和端口,比较麻烦吧..最好是把外网80端口映射到内网的3128端口上..这样下面机器什么都不用设置真正做到透明代理...下面是我的IPTABLES规则,可以把这个加到启动项里去

iptables -t  nat  -A  PREROUTING -i  eth1  -p tcp -m  tcp --dport  80  -j REDIRCT  --to-ports  3128
iptables  -t  nat  -A  POSTROUTING  -o  etho  -j  MASQUERADE

如果版主发现有哪需要改进或错误请指出

LIUNX+NAT网吧网段限速透明代理脚本相关推荐

  1. 接入路由器做NAT,做限速的一些想法

    前段时间一直有客户问我路由器可不可以做到限制内部某些机子的下行速率,我很自然的答了句:可以做限速的.其实限速肯定是可以的,但是需要考虑一个具体的问题 一般接入路由器都作了地址转换,但是了解到路由器的操 ...

  2. QoS-基于IP网段限速配置

    组网需求: 不同楼层的用户通过不同的接入交换机连接网络,且分别属于不同的网段,针对不同网段的用户提供不同的带宽. 用户 所属IP网段 CIR PIR 楼层一用户 192.168.1.0/24 4000 ...

  3. Linux 实现透明代理(使用开源项目 tproxy-example)

    一.透明代理概述 根据百度百科的资料:透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的 request fields(报文),并会传送真实IP,多用于路由器的NAT转发中. 透明代理 ...

  4. tc命令——Linux基于IP进行流量限速

    主要参考(所有权利归原文作者所有): *http://www.cnblogs.com/endsock/archive/2011/12/09/2281519.html *http://blog.163. ...

  5. 综合组网实例配置 双出口双墙主备+三层核心VRRP+MSTP+NAT+NAT SERVER+AC+IPsec+广域网PPPOE+专线

    一. 组网需求 企业的两台FW的业务接口都工作在三层,使用路由模式进行部署,上下行分别连接交换机.上行交换机连接路由器,下行连接核心交换机.路由器连接二个运营商的接入点,运营商其一为企业提供专线业务, ...

  6. PLC采集串口被占用、网口被占用,网络IP地址不能修改、多台设备IP不同网段等问题解决方案

    在我们数据采集项目中,经常碰到端口被串口被触摸屏占用,网口被占用,修改IP增加风险,另外增加新的端口需要通过PLC的编程软件组态,涉及到上传下载PLC程序,耗时耗力很不方便. 以下是我们总结的项目中解 ...

  7. NAT与NAPT技术详解

    一.定义 NAT: Network Address Transfer 网络地址转换.虚拟机. NAPT: Network Address Port Transfer 网络地址端口转换.也叫PAT.内网 ...

  8. kvm 网络配置之nat、用户模式

    接上篇,kvm的网络配置,参考书本:<kvm虚拟化技术 实现以及原理解析> 2. nat模式 nat模式自动获取ip需要dhcp服务,nat功能本身需要ip伪装,既然是一个网络,所以还需要 ...

  9. 网络工程师第五站-有线、无线同网段混合组网(多FAT案例)

    本案例中用到的设备: 路由器:cisco 2851 交换机:cisco WS-C3750G-12S (HX),接入:WS-C2960-48TC-L AP : 华为AP3010dn-AGN 3750G ...

最新文章

  1. R语言ggplot2可视化发散型条形图、发散条形图(Diverging Bars)是一种可以同时处理负值和正值的条形图、并按照大小排序区分数据(Diverging Bars)
  2. golangsha1解码_golang中几种加密方式的处理
  3. Python 延迟初始化(lazy property)
  4. NYOJ 608 畅通工程 并查集
  5. hprofile教程
  6. python源码编译安装 gb18030_源代码编译安装Python3.5.2
  7. boost解析xml文件
  8. Gentle.Net学习笔记四:修改代码,使用Oracle数据库
  9. 小乔皮肤分析-缤纷独角兽/青蛇皮肤
  10. redis集群的远程管理与监控
  11. 小型机 PC服务器 性能,pc服务器小型机
  12. 印象深刻的bug汇总(持续更新)
  13. Excel数据分析常用函数②——统计函数(sumproduct,sumif,sumifs,count,countif,countifs,counta…)
  14. 如何删除电脑里的android驱动程序,【教程】安卓手机系统自带程序卸载
  15. 【华为机试真题 Python实现】藏宝图
  16. 计算机学set,计算机上set是什么意思
  17. 如何将文字翻译成英文?简单教程讲解
  18. java时间戳 秒_Java:如何为时间戳添加秒?
  19. CertBot 更新证书失败解决
  20. 计算机产业scp分析,SCP框架下的网络杂志产业分析

热门文章

  1. springboot+vue实现分页操作
  2. “25号宇宙实验”:现代孩子可能身处在即将摧毁世界的乌托邦中
  3. 2023年Android发展前景展望
  4. 一文读懂 DeFi 自动做市商崛起原因、尚存局限和未来前景
  5. python运算结果是浮点数_Python中的浮点数原理与运算分析 python中浮点数等于整数?为什么?...
  6. 云转码系统搭配服务器,服务器做云转码
  7. Android开发:APP桌面只显示默认机器人图标的几个解决方法
  8. 博客日记:论文与论文格式的认识
  9. Java毕业设计之spring+springmvc实现的小型云盘网盘管理系统-课设大作业
  10. Guava系列之限流RateLimiter