OpenWrt 上搭建代理服务器squid

想上网,且不受外部限制方法很多,VPN, DNS Proxy, 这次给大家介绍一下Web Proxy。我选的是Squid代理服务器,这款之前就有想研究的冲动,

苦于一直没有时间。

准备:

OpenWrt上编译

#make menuconfig

->Network->Web Proxy->Squid。

#make

烧写固件

网络拓扑图如下

一切都进展的很顺利。

到了下面就是特别苦恼的事情了,你会遇到千奇百怪的问题,全因一纸squid.conf, 这个配置文件整对了,你离成功也就不远了。

文件有8000行左右,所以就不贴在这里,只写一些简单的启动配置。

#echo "1">/proc/sys/net/ipv4/ip_forward

#mkdir /var/logs

#chown nobody /var/logs

#squid -z

#squid -f /etc/squid/squid.conf

工作到此已经结束,检查下我们侦听的端口吧。

3128,至于是你自己配置浏览器代理还是直接把目的地址为80端口的数据导向3128这个就随你了。

我是这么做的,这样任何接入浏览器的人都可以通过我的代理服务器访问网络了。

#iptables -t nat -A PREROUTING -s 0.0.0.0/0.0.0.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

#netstat -an

<span style="font-size:14px;">[email protected]:~# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 10.1.1.1:80             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN
tcp        0      0 10.0.2.1:3128           10.0.2.134:63925        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63921        ESTABLISHED
tcp        0      0 192.168.4.159:59750     119.147.254.144:80      ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63927        ESTABLISHED
tcp        0      0 192.168.4.159:43126     119.147.45.109:80       TIME_WAIT
tcp        0      0 10.0.2.1:3128           10.0.2.134:63918        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63828        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63940        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63936        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63843        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63901        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63903        TIME_WAIT
tcp        0      0 192.168.4.159:48129     180.149.131.35:80       ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63853        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63834        ESTABLISHED
tcp        0      0 192.168.4.159:37466     119.147.45.109:80       TIME_WAIT
tcp        0      0 10.0.2.1:3128           10.0.2.134:63824        TIME_WAIT
tcp        0      0 10.0.2.1:3128           10.0.2.134:63854        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63931        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63826        TIME_WAIT
tcp        0      0 192.168.4.159:59014     119.147.254.73:80       ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63844        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63896        TIME_WAIT
tcp        0      0 10.0.2.1:3128           10.0.2.134:63876        ESTABLISHED
tcp        0      0 10.0.2.1:3128           10.0.2.134:63841        ESTABLISHED
tcp        0      0 192.168.4.159:33369     119.147.45.109:80       TIME_WAIT
tcp        0      0 :::53                   :::*                    LISTEN
tcp        0      0 :::22                   :::*                    LISTEN
udp        0      0 0.0.0.0:53              0.0.0.0:*
udp        0      0 0.0.0.0:3130            0.0.0.0:*
udp        0      0 0.0.0.0:67              0.0.0.0:*
udp        0      0 0.0.0.0:54346           0.0.0.0:*
udp        0      0 0.0.0.0:4827            0.0.0.0:*
udp        0      0 :::547                  :::*
udp        0      0 :::53                   :::*
raw        0      0 ::%4253704:58           :::*                    58
raw        0      0 ::%4253704:58           :::*                    58
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  8      [ ]         DGRAM                      2521 /dev/log
unix  2      [ ACC ]     STREAM     LISTENING        241 /var/run/ubus.sock
unix  2      [ ]         DGRAM                      9769
unix  3      [ ]         STREAM     CONNECTED       2523
unix  3      [ ]         STREAM     CONNECTED       2593
unix  2      [ ]         DGRAM                      2641
unix  3      [ ]         STREAM     CONNECTED       3047
unix  3      [ ]         STREAM     CONNECTED       2619
unix  2      [ ]         DGRAM                      4021
unix  3      [ ]         STREAM     CONNECTED        689
unix  3      [ ]         STREAM     CONNECTED       2524 /var/run/ubus.sock
unix  2      [ ]         DGRAM                      2675
unix  3      [ ]         STREAM     CONNECTED       2620 /var/run/ubus.sock
unix  2      [ ]         DGRAM                      3071
unix  2      [ ]         DGRAM                      9767
unix  3      [ ]         STREAM     CONNECTED        690 /var/run/ubus.sock
unix  3      [ ]         STREAM     CONNECTED       2594 /var/run/ubus.sock
unix  3      [ ]         STREAM     CONNECTED       3048 /var/run/ubus.sock
unix  2      [ ]         DGRAM                      2622
[email protected]:~#
 [email protected]:~# ps
  PID USER       VSZ STAT COMMAND
    1 root      1344 S    /sbin/procd
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [kworker/0:0]
    5 root         0 SW<  [kworker/0:0H]
    6 root         0 SW   [kworker/u2:0]
    7 root         0 SW<  [khelper]
    8 root         0 SW   [kworker/u2:1]
   64 root         0 SW<  [writeback]
   66 root         0 SW<  [bioset]
   68 root         0 SW<  [kblockd]
   99 root         0 SW   [kswapd0]
  144 root         0 SW   [fsnotify_mark]
  169 root         0 SW   [spi32766]
  208 root         0 SW<  [deferwq]
  212 root         0 SW<  [kworker/0:1H]
  213 root         0 SW   [kworker/0:2]
  245 root         0 SW   [khubd]
  269 root         0 SWN  [jffs2_gcd_mtd5]
  315 root       916 S    /sbin/ubusd
  316 root      1480 S    /bin/ash --login
  639 root      1432 S    /sbin/logd
  653 root      1520 S    /sbin/netifd
  671 root      1188 S    /usr/sbin/odhcpd
  737 root      1148 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22
  886 root      1528 S    /usr/sbin/uhttpd -f -h /www -r YSWiFi -x /cgi-bin -u /ubus -t 60 -T 30 -k 20 -A 1 -n 3 -N 100 -R -p 10.1.1.1 80
  996 root         0 SW   [RtmpCmdQTask]
  997 root         0 SW   [RtmpWscTask]
 1042 root      1480 S    /usr/sbin/ntpd -n -p time.asia.apple.com 0.openwrt.pool.ntp.org 1.openwrt.pool.ntp.org 2.openwrt.pool.ntp.org
 1138 root      1484 S    udhcpc -p /var/run/udhcpc-eth0.2.pid -s /lib/netifd/dhcp.script -f -t 0 -i eth0.2 -C
 1601 nobody     984 S    /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf -k
 1976 root      5408 S    squid -f /etc/squid/squid.conf
 1978 nobody   14320 S    {squid} (squid) -f /etc/squid/squid.conf
 1979 nobody     768 S    {unlinkd} (unlinkd)
 1985 root      1240 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22
 1986 root      1488 S    -ash
 2009 root      1212 R    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p 22
 2010 root      1500 S    -ash
 2017 root      1476 R    ps
 2018 root         0 SW   [kworker/0:1]
[email protected]:~#

</span>

缺点:

占用内存多,配置太复杂。

需要进一步优化啊,革命尚未成功,尔等仍需努力。

时间: 2024-10-31 19:15:27

OpenWrt 上搭建代理服务器squid的相关文章

用 xampp 在 windows 上搭建代理服务器

背景:学校上网开始收费,但实验室免费,由于宿舍和实验室都有ipv6,所以在实验室搭建代理服务器,让宿舍通过之上网. 两步: 1.编辑httpd.comf,去掉关于proxy的注释 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.s

Linux代理服务器—squid正向代理实验

1.代理服务器squid简介 Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器.Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网.Squid主要设计用于在Unix一类系统运行. squid可以做代理也可以做缓存. squid不仅可以做正向代理,又可以做反向代理. 正向代理

利用tinyproxy在Linux上搭建HTTP Proxy Server

之所以需要用到HTTP Proxy Server并不是为了要翻墙,而是为了让没有公网IP地址的内网主机通过有公网IP地址的外网主机访问Internet.举个例子,阿里云ECS在购买时可以不购买公网IP地址,但这种没有公网IP地址的ECS云主机(实例)是没有访问Internet的能力的,也就是说无法在这台实例上下载文件,这在部署应用如部署MySQL时可能遇到无法完成安装问题.解决的办法有两种,一种是在另一台具有公网访问能力的ECS实例上搭建VPN服务,另一种是在另一台具有公网访问能力的ECS实例上

vps搭建加密squid+stunnel

配置方法: 1. 一台运行在墙外的系统(CentOS 6.5) 2. 该服务器上安装squid 3. 改服务器上生成证书,使用加密方式代理 4. 墙内安装stunnel,可以是windows系统,也可以是linux(本次案列是linux) 一,服务器配置 1.安装squid # yum install -y squid 2.生成证书 # openssl req -new > charlie.csr # openssl rsa -in privkey.pem -out charlie.key # 

[Openwrt 项目开发笔记]:Openwrt平台搭建(一)

最近开始着手进行Openwrt平台的物联网网关设计,思路有些乱,通过笔记的方式进行记录和整理. 声明: 在本文中,有些内容摘自网上,我进行了整合,因此出处不明,在此对原文作者致歉! -----------------------------------------------------(分割线)------------------------------------------------------- 一. 选择Openwrt平台的理由 传统的路由器固件是由官方提供的.这些固件是不开源的,而

在CentOS7上搭建MySQL主从复制与读写分离

MySQL主从复制原理 MySQL的主从复制和MySQL的读写分离两者有着紧密联系,首先要部署主从复制,只有主从复制完成了,才能在此基础上进行数据的读写分离. (1)MySQL支持复制的类型. 1)基于语句的复制.MySQL默认采用基于语句的复制,效率比较高. 2)基于行的复制.把改变的内容复制过去,而不是把命令在从服务器上执行一遍. 3)混合类型的复制.默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制. (2)MySQL复制的工作过程如图所示.1)在每个事务更新数据

在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器.我们在上面搭建一个 nginx + mysql + php-fpm 的环境,这就是常说的 LNMP .我们不过多解释什么是什么,而是着重讲流程与方法,想了解具体的细节,去搜索下吧:)这个手册是在阿里云上测试的,不过应该也适用于其它使用 CentOS 系统的服务器. 背景 宁皓网的< CentOS:在阿里云

Sublime Text2上搭建C/C++环境

环境:Sublime Text2 win7 64位 1.下载Sublime Text2并安装 下载地址:http://www.sublimetext.com/ 2.需要用到gcc/g++编译器,下载MinGW并安装 下载地址:http://www.mingw.org/ 3.配置MinGW环境: 把MinGW的安装路径:“c:\MinGW\bin”(这是c盘)添加到环境变量里 4.配置ST环境 #1.找到:Tools –> Build System –> New Build System… #2

关于如何在服务器上搭建tomcat并发布自己的web项目

最近在学习如何在服务起上搭建tomcat,并发布自己的项目,自己是花了一下午的时间才把里面的东西弄明白,各种百度,各种请教大神,真的是备受折磨啊.好了废话不多说,直接进入主题. 1:众所周知,tomcat运行是需要jdk的支持,所以第一步,当然是安装jdk了,如果没有jdk的朋友可以去Oracle的官网下载   找不到的朋友可以点击这个链接oracle官网jdk下载地址 2:jdk下载好了当然是安装jdk了.安装jdk必不可少的一个环节就是配置环境变量了, 至于怎么配置这个我也就不多说了,不会的