Press "Enter" to skip to content

搭建局域网中转代理服务器

事出有因

先说说为什么要搭建这个吧:

  1. 自己的机器一般常在学校的大局域网内(至少目前来说是这样),本机是常年开机自启shadowsocks客户端,虽然不怎么占内存,但。。。
  2. 在学校的某研究所本科生小组,小组成员包括我,都有查各种文献资料的需求,学校购买的各种电子资源数据库说实话也不是很适合需求,国内的搜索和资料也不是很全。又因为众所周知的原因,我们不能很顺畅的使用Google,wikipedia等一大批优秀的服务。So…

准备工作

  1. 有一台在大陆之外的服务器A,作为 shadowsocks-server
  2. 在局域网的一台机器B(这里是放在实验室的一台机器,最好能全校访问的到),作为 shadowsocks-local
  3. 和B在同一个局域网的N台机器(小组成员自己的电脑)

搭建 server

  1. A机器,(CentOS),这里我使用了Python版的,简要说下搭建步骤
  2. 如果没有安装 pip,推荐这个 http://pip.readthedocs.org/en/stable/installing/
$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

pip 安装之后即可按照下面说的进行安装 shadowsocks

$ pip install shadowsocks

然后 编写shadowsocks-server配置文件 /etc/shadowsocks.json,网上有很多讲解配置的资料,这里贴一下我的配置文件供参考

{
    "server":"138.138.138.138",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "timeout":300,
    "method":"aes-256-cfb",
    "port_password":{
        "9000":"password9000",
        "9001":"password9001",
        "9002":"password9002",
        "9003":"password9003"
    },
    "fast_open":false
}

然后 开放相应的端口,修改防火墙配置文件 /etc/sysconfig/iptables 添加一行

A INPUT -p tcp -m state –state NEW -m tcp –dport 9000:9100 -j ACCEPT

并重启防火墙 service iptables restart 启动shadowsocks-server ssserver -c /etc/shadowsocks.json -d start 也可以写到开机自启里这样就不用在机器重启后重新手动开启,修改配置文件 /etc/rc.local 添加一行 ssserver -c /etc/shadowsocks.json -d start 至此,shadowsocks-server 搭建完毕

搭建/配置 shadowsocks-local

B机器,(CentOS),同样需要安装Python版shadowsocks 执行一条命令即可

$ sslocal -s 138.138.138.138 -p 9000 -b 192.168.1.110 -l 1080 -k password9000 -m aes-256-cfb -d start

同样可以写到 /etc/rc.local文件里实现开机自启动 需要注意的地方的就是 -b 参数,这里必须是B机器在局域网的地址 至此,shadowsocks-local 搭建完毕

配置自己的电脑

通过Chrome或者Firefox浏览器可以很方便的通过插件设置(国内某些套壳的浏览器应该也可以)

  1. 这里对Chrome的设置做一个简单的说明
  2. 下载SwitchyOmega插件 http://138.128.212.160/download/SwitchyOmega.crx
  3. 打开 Chrome 扩展程序页面 chrome://extensions/ ,把刚下载的插件拖到此页面 即可自动安装打开该插件 选项 进行配置,新建情景模式->创建->代理协议选择SOCKS5->代理服务器192.168.1.110->代理端口1080->应用选项 至此,配置完毕 建议使用[auto switch]模式,遇到被墙的网站,设置该网站走代理就行了。 快打开Google等网站看看是不是可以打开啦

附:如何让非局域网的电脑使用

答案很简单,路由(C)端口转发即可 主要注意的是,局域网外的需要把自己的代理服务器设置成路由器的IP 仅限于下面这种情况: 非本局域网的电脑P,P和C处在同一个大的局域网。 这个不太好理解的话这样解释应该就能明白了,P可以访问到C

附:写给实验室的小组成员

代理服务器地址为 192.168.1.189 因担心流量异常被发现,已暂停该服务 不要再找理由说你不会了!!!不然学长很生气 o(︶︿︶)o