解决北邮校内网每个帐号允许同时两个IP在线的限制

来源:互联网 发布:性格谨慎的人 知乎 编辑:程序博客网 时间:2024/04/28 23:42

在北邮 校内网会有每个帐号允许同时两个IP在线的限制,甚至会有每个帐号允许同时1个IP在线的限制。

我们可以自己通过自己搭一个代理服务器给自己用,可以达到多台机器通过自己代理服务器,去连外网(只占用一个ip),同样手机可以通过wifi连上服务器,这样手机就可以不用输入密码就可以连外网了,这样按道理来说,在宿舍联网应该也快很多,除非你的代理服务器的网速也很慢。测试环境是xubuntu14 +firefox

  • 安装squid,sudo apt-get install squid 
  • 配置squid.conf  sudo vim /etc/squid3/squid.conf
    • 找到 http_access allow localhost,//acl的位置一定要放对,如果放在http_access deny all后面就不行
    • 添加下面两行:
    •  acl our_network src ip1 ip2 #(其中ip1和ip2是你允许访问的ip地址或者ip段,按具体情况填写)//北邮的话可以写acl our_network src 10.0.0.0/8
    • http_access allow our_network
    • (可选)如果想禁止访问某些域名或者ip的话,可以这样
      • acl denyip dst “/home/zhongkeli/denyip” #禁止代理服务器访问的ip  文件格式是 “192.168.1.2 192.168.3.6”
        acl denydns dst “/home/zhongkeli/denydns” #禁止代理服务器访问的域名
        http_access deny denyip
        http_access deny denydns
      • 如果想禁止制定用户访问某些网页的话,如下面的例子,禁止our_network访问http://www.xxx.com的域名网址
                               acl some_url url_regex ^http://www.xxx.com
    •               http_access deny our_network some_url
    • 找到Squid normally listens to port 3128
    • 修改这一行下面 http_port 3128 为http_port ip:port#其中ip为代理服务器的ip地址,port为端口,默认是3128
  • 启动squid,有可能安装完时squid就已经启动了,可以重新加载配置文件或重新启动squid即可
    • sudo squid3 -z #执行完后会显示Creating Swap Directories
    • sudo /etc/init.d/squid3 reload   #加载配置
    • sudo /etc/init.d/squid3 restart  #重启squid
    • sudo squid3 -k parse #可以查看你配置的信息
    •   
  • 然后在浏览器中设置一下就可以了把上面的代理服务器ip地址和端口填上就可以了,接着就可以通过代理服务器连外网了,记得勾选use this proxy server for all protocols,否则就上不了https的网站,登录页面也上不了的。到此,简单的代理服务器就完成了。

  • 除了上面的设置之外还可以有很多配置的,如cache的设置,包括内存和硬盘两种策略,和很多squid的命令,有空再介绍些,和研究一下如何加上goagent这一层代理
  • 目前把bupt-2(10.8.170.116)加进去后,也是无法通过此ip连我的代理服务器,ping了一下,也没ping通,难道bupt-2不是和我的代理服务器不是一个局域网?
  • 如果在linux下的chrome浏览器设置(火狐也是),最好使用SwitchySharp,然后勾选Use the same proxy server for all protocols,不然有可能无法访问https的网站
  • 在linux还需要使用一个定时脚本,检测一下网络是否连通,如果不连通的话,还需要重新连接网络,防止网络断开。windows下一般网络连通了,就不会断开。
  • 可以安装squidclient,查看代理服务器信息,需要在squid.conf添加 acl localhost src 代理服务器IP
  • 基本的使用方法

    *取得squid运行状态信息: squidclient -p 3128 mgr:info

    *取得squid内存使用情况: squidclient -p 3128 mgr:mem

    *取得squid已经缓存的列表: squidclient -p 3128 mgr:objects. use it carefully,it may crash

    *取得squid的磁盘使用情况: squidclient -p 3128 mgr:diskd

    *强制更新某个url:squidclient -p 3128 -m PURGE http://www.php-oa.com/static.php

  • 查看squid 占用的端口:ps aux |grep 'squid' |grep -v 'grep'|awk '{print $2}'

  • 在使用proxifier(全局代理设置,如果不设置全局代理的话,一般只有浏览器能用代理,其他想用代理就比较麻烦)时,添加https代理时会出现错误:

    错误: 代理服务器 (Squid) 没有配置为允许 SSL 隧道至端口 80。要解决此问题,请查找和评论 Squid 配置文件(squid.conf)中的以下行:http_access deny CONNECT !SSL_ports

    此时需要修改squid.conf,在

    acl SSL_ports port 443后添加

    acl SSL_ports port 80,同时还需要在proxifier开启http服务器选项
  • 参考文献:http://support.chinaccnet.com/archives/2254.html
  • http://bbs.chinaunix.net/thread-3572087-1-1.html
  • 0 0