• WAP手机版 加入收藏  设为首页
路由器

openwrt 里面的ss 和 redsock2 设置教程

时间:2014-10-11 17:57:17  作者:哎丫丫  来源:恩山无线论坛  浏览:20539  评论:0

本帖最后由 jinwyp 于 2014-10-11 15:54 编辑


增加简单版本,

1 使用 haxc 大大的 r38621:版本固件 因为有redsock2, 国家禁止显示内容s, pdnsd

绝版 r38621 下载 http://pan.baidu.com/s/1kTspLqf (里面有两个版本 一个针对水星MW4530r 的 一个是针对 TP-link WDR4320 我教程里面刷的是 openwrt-ar71xx-generic-tl-wdr4310-v1-squashfs-factory38621-16m)

2 设置国家禁止显示内容s 按下面的图设置就可以.

注意不要设置 SOCK5 启动,就是不要勾选启动.  只要透明代理勾选即可.   端口号按图上设置即可, 也可以自己随便设置,大于10000比较好,以免冲突
 

这里有一些公益的服务器https://www.国家禁止显示内容s.net/

3 关闭 redsock2(redsock)  因为国家禁止显示内容 1.4.2后本身就带了透明代理功能
 

4 设置pdnsd
ip 改为8.8.8.8 google DNS 即可 其实不改也可以. 或换其他的DNS.
端口号要改成1053
 


此时已经可以上国外的网站了,但只有三个网站上不去youtbue,facebook,twitter

5 设置dnsmasq 
修改/etc/dnsmasq.conf   在该文件里面最后 加入一行 conf-dir=/etc/dnsmasq.d

然后新建一个目录 mkdir /etc/dnsmasq.d
在 /etc/dnsmasq.d目录里面新建一个文件 vim gfw.conf


写入  以下DNS

#Google and Youtube
server=/.google.com/127.0.0.1#1053
server=/.google.com.hk/127.0.0.1#1053
server=/.gstatic.com/127.0.0.1#1053
server=/.ggpht.com/127.0.0.1#1053
server=/.googleusercontent.com/127.0.0.1#1053
server=/.appspot.com/127.0.0.1#1053
server=/.googlecode.com/127.0.0.1#1053
server=/.googleapis.com/127.0.0.1#1053
server=/.gmail.com/127.0.0.1#1053
server=/.google-analytics.com/127.0.0.1#1053
server=/.youtube.com/127.0.0.1#1053
server=/.googlevideo.com/127.0.0.1#1053
server=/.youtube-nocookie.com/127.0.0.1#1053
server=/.ytimg.com/127.0.0.1#1053
server=/.blogspot.com/127.0.0.1#1053
server=/.blogger.com/127.0.0.1#1053

#FaceBook
server=/.facebook.com/127.0.0.1#1053
server=/.thefacebook.com/127.0.0.1#1053
server=/.facebook.net/127.0.0.1#1053
server=/.fbcdn.net/127.0.0.1#1053
server=/.akamaihd.net/127.0.0.1#1053

#Twitter
server=/.twitter.com/127.0.0.1#1053
server=/.t.co/127.0.0.1#1053
server=/.bitly.com/127.0.0.1#1053
server=/.twimg.com/127.0.0.1#1053
server=/.tinypic.com/127.0.0.1#1053
server=/.yfrog.com/127.0.0.1#1053



保存后  重启 pdnsd 和 dnsmasq

/etc/init.d/pdnsd restart
/etc/init.d/dnsmasq restart


设置 pdnsd的路由器开机自动启动  (也可以在路由器界面 “系统”-》“启动项” 设置 重启和开机启动)
/etc/init.d/pdnsd restart  enable


一切完成 真不容易啊。



以下是复杂的详细版本



在经历和翻遍了网站上所有教程后终于有所收获,可以路由器自动上上不去的网站了。

刷了12.09.1 r38621 by Haxc | 后  其实就可以翻WALL的,但我在菜单设置好后 国家禁止显示内容s 和 redsock  后 就是无法自动翻WALL 为什么呢? 因为DNS的问题,这个时候只有youtbue,facebook,twitter上不了,其他网站已经可以上了, 这个问题困扰了我很久,直到发现实际就这三个网站上不去才发现DNS的问题。
这里有几个概念要先说一下,

1 国家禁止显示内容s 需要实现在美国架设一个服务端,  这里是把国家禁止显示内容s-libev-polarssl: 客户端安装到路由器上。 
http://国家禁止显示内容s.org/en/download/clients.html 这里可以下载对应的网卡版本 我的是4530R用 
1.4.4_ar71xx.ipk
  (最新版本是1.4.6 https://github.com/madeye/国家禁止显示内容s-libev)

Haxc 的有的版本里面已经带了国家禁止显示内容s,不是最新版本。但也可以使用 ,可以在路由器 菜单 系统-》 软件包 或启动项 里面查看 是否安装。
Haxc 在有的版本里面还有设置界面  在服务-》菜单里面有 国家禁止显示内容s  菜单项

(注意,手动安装国家禁止显示内容s后 启动会失败,我哭啊,原因是需要polarssl的lib文件, ssh命令 进入 /usr/lib 目录 复制  libpolarssl.so.1.2.5 文件几次 名字复制为 libpolarssl.so.3 和 libpolarssl.so.5  命令为 “cp libpolarssl.so.1.2.5  libpolarssl.so.5” 和 “cp libpolarssl.so.1.2.5  libpolarssl.so.3” 这样国家禁止显示内容s 就启动正常了, 具体是libpolarssl.so.5 还是 libpolarssl.so.3 还是libpolarssl.so.2  与下载的安装的国家禁止显示内容s-libev-polarssl 库有关,1.4.4需要3,1.4.5需要5 建议多复制几份)


注意:国家禁止显示内容s 有两种手动的启动方式,(不包括 有设置界面的  在服务-》菜单里面有 国家禁止显示内容s  菜单项)
一般默认的就是 ss-local 或 /etc/init.d/国家禁止显示内容s start  这是需要先配置一下配置文件。启动后 一般监听1080端口
另一种方式是ss-redir 启动,就是自动开启一个透明代理,  实际上就是把redsocks的功能集成了。

注意:这里说一下国家禁止显示内容s配置文件, 同时还要注意你的路由器刷Haxc固件 “服务”菜单里面是否带有国家禁止显示内容s 的菜单可以直接设置。
因为 默认情况下如果手动安装 opkg install 国家禁止显示内容s-libev-polarssl 是不会带有 ‘服务’ 菜单里面国家禁止显示内容s菜单项设置的。 这样配置文件在 /etc/国家禁止显示内容s.json
配置文件格式 请看 https://github.com/madeye/shadow ... es/国家禁止显示内容s.json
附上我的服务器地址
{
    "server":"162.243.204.115",
    "server_port":8388,
    "local_port":1080,
    "local_addr":"127.0.0.1",
    "password":"jinwyp2011",
    "timeout":600,
    "method":"table"
}


如果固件Haxc版本带有“服务”-》国家禁止显示内容s 菜单,那么配置文件是在/etc/config/国家禁止显示内容s 下面 如果在服务-》国家禁止显示内容s 菜单 修改配置就会保存到这里/etc/config/国家禁止显示内容s 


再次注意:(我要疯了啊) 如果手动安装的情况下 使用ss-local 或 /etc/init.d/国家禁止显示内容s start 那么默认会使用 /etc/国家禁止显示内容s.json 配置,
需要注意里面的 "local_port":1080,  这个是设置 本地端口的配置。 
使用 ss-local 启动可以指定参数 例如 ss-local -c /etc/国家禁止显示内容s.json  -v 
但如果使用ss-redir 启动,同样集成了redsock2 的透明代理功能,但代理的端口在哪呢? 其实还是 "local_port":1080,指定的,  所以建议另存一份配置 例如 /etc/国家禁止显示内容sredir.json
把里面的"local_port":1080,  改称"local_port":12345,   
然后使用 ss-redir -c /etc/国家禁止显示内容sredir.json  -v  启动 这样透明代理的配置和端口是12345 区分开了。



2 redsock 或redsock2 在Haxc固件中一般已经集成到 “服务” -》redsock2 菜单中,实际上如果使用上面的 ss-redir -c /etc/国家禁止显示内容sredir.json  -v  启动后 就根本不需要redsock了,只有用ss-local启动才需要redsock2  同时 本地端口可以设置成12345.  代理ip是127.0.0.1,代理端口是1080
那么如果Haxc固件中集成了 服务-》 国家禁止显示内容s 菜单的需要启动redsock吗?  在国家禁止显示内容s 菜单配置中,有一项 透明代理的复选款,如果不勾 就需要redsock配合开启,如果勾了 就不需要redsock启动了。


在ssh命令行 可以通过 “netstat -tupln | grep 1”   来查看 国家禁止显示内容s 和 redsock 是否启动了,
查看端口1开头的 就是我们设置的1080或 12345透明代理端口是否开启。 注意使用ss-redir启动后不会有1080端口,只有一个12345透明代理的端口。



到这里,理论上已经可以翻WALL了,如果是用ss-local启动的可以配合 chrome的switchysharp 代理插件 设置成路由器的代理 192.168.1.1 端口1080 就可以翻WALL了,firefox可以使用foxproxy插件 ,还可以在插件自定义规则判断 国内网站不走代理,国外网站走代理。

但是对于一般用户 还是不能做到自动翻WALL。  所以还要设置iptables

3 设置 iptables 

注意 如果用了Haxc路由固件,如果服务-》里面有redsocks 并运行了redsocks 后 (如果redsock未运行可以在 “系统”-》 启动项 开启 redsock 项来运行) 
会自动在iptables 里面 加入一条REDSOCKS的规则链, 这个时候也就是说 如果 启动了ss-local 和 redsocks 你已经可以 上国外的网站了 例如slideshare.net 已经全部正常使用   但除了youtbue,facebook,twitter 这三个网站 (坑爹啊,我就是要上这三个啊)
查看iptables 可以到 路由器管理界面的 “状态“-》防火墙 查看, crtl+f 搜索 REDSOCK 就能看到 有一个转发到端口11111或12345的规则 (redir port 11111) 端口是在”服务“-》redsock2里面设置的。

----------这里我有一个问题 想问Haxc 就是redsock设置的iptables的规则保存到哪个配置文件中了?


还,如果使用了ss-redir 启动就不需要 启动redsock了, 但iptables 还是需要设置,因为不启动redsock就没有REDSOCKS的规则链了, 
这时候需要手动编辑 /etc/firewall.user 文件,然后里面加入 4楼提供的iptables  注意 转发的端口 需要改成 ss-redir 的配置文件 /etc/国家禁止显示内容sredir.json 里面的端口就可以了。


4 为了上youtbue,facebook,twitter 这三个网站  我们还需要修改DNS 
需要安装 pdnsd 这是一个dns 中转的功能包 同时还要配合dnsmasq 这个功能包 (dnsmasq 路由器固件都已经安装,可以在 “系统”-》 软件包 里面查找 已安装的包 看看dnsmasq 是否安装)
安装 pdnsd 命令 (有的Haxc版本固件中已经安装,同时菜单“服务”-》pdnsd 也有该菜单)
opkg update
opkg install pdnsd  
opkg install pdnsd  iptables-mod-nat-extra


然后修改 /etc/pdnsd.conf 这个文件 (如果 Haxc版本固件中已经安装 同时菜单“服务”-》pdnsd 也有该菜单话 配置文件就在 /etc/config/pdnsd 里面)
注意以下红色字段的修改  8.8.8.8 用的是google的DNS服务器(参考这篇文章 http://hong.im/2014/03/16/config ... ct-foreign-traffic/)

global {
        perm_cache=1024;
        cache_dir="/var/pdnsd";
#        pid_file = /var/run/pdnsd.pid;
        run_as="nobody";
        server_port = 1053;    # 使用 1053 作为 dns 端口, 默认是 53,一定要修改否则会跟默认 dnsmasq 冲突
    server_ip = any;    # 设置成 any 表示绑定在任何可用地址,其实不设置问题也不大。

#        server_ip = 127.0.0.1;  # Use eth0 here if you want to allow other
                                # machines on your network to query pdnsd.
        status_ctl = on;
#        paranoid=on;       # This option reduces the chance of cache poisoning
                           # but may make pdnsd less efficient, unfortunately.
        query_method=tcp_only;
        min_ttl=15m;       # Retain cached entries at least 15 minutes.
        max_ttl=1w;        # One week.
        timeout=10;        # Global timeout option (10 seconds).
        neg_domain_pol=on;
        udpbufsize=1024;   # Upper limit on the size of UDP messages.
}

server {
        label= "myisp";
        ip = 8.8.8.8;  # Put your ISP's DNS-server address(es) here.
#        proxy_only=on;     # Do not query any name servers beside your ISP's.
                           # This may be necessary if you are behind some
                           # kind of firewall and cannot receive replies
                           # from outside name servers.
        timeout=4;         # Server timeout; this may be much shorter
                           # that the global timeout option.
        uptest=if;         # Test if the network interface is active.
        interface=eth0;    # The name of the interface to check.
        interval=10m;      # Check every 10 minutes.
        purge_cache=off;   # Keep stale cache entries in case the ISP's
                           # DNS servers go offline.
        edns_query=yes;    # Use EDNS for outgoing queries to allow UDP messages
                           # larger than 512 bytes. May cause trouble with some
                           # legacy systems.
#        exclude=.thepiratebay.org,  # If your ISP censors certain names, you may
#                .thepiratebay.se,   # want to exclude them here, and provide an
#                .piratebay.org,            # alternative server section below that will
#                .piratebay.se;            # successfully resolve the names.
}


# This section is meant for resolving from root servers.
server {
        label = "root-servers";
        root_server = on; # Query the name servers listed below
                                # to obtain a full list of root servers.
        randomize_servers = on; # Give every root server an equal chance
                                # of being queried.
        ip = 8.8.8.8;     # This list will be expanded to the full
                                                                         # list on start up.
        timeout = 5;
        uptest = none;         # Test availability using empty DNS queries.
#        query_test_name = .;    # To be used if remote servers ignore empty queries.
        interval = 30m;         # Test every half hour.
        ping_timeout = 300;     # Test should time out after 30 seconds.
        purge_cache = off;
#        edns_query = yes;        # Use EDNS for outgoing queries to allow UDP messages
                                   # larger than 512 bytes. May cause trouble with some
                                   # legacy systems.
        exclude = .localdomain;
        policy = included;
        preset = off;
}



然后还要 修改/etc/dnsmasq.conf   在该文件里面最后 加入一行 conf-dir=/etc/dnsmasq.d

然后新建一个目录 mkdir /etc/dnsmasq.d在 /etc/dnsmasq.d目录里面新建一个文件 vim gfw.conf


写入  以下DNS

#Google and Youtube
server=/.google.com/127.0.0.1#1053
server=/.google.com.hk/127.0.0.1#1053
server=/.gstatic.com/127.0.0.1#1053
server=/.ggpht.com/127.0.0.1#1053
server=/.googleusercontent.com/127.0.0.1#1053
server=/.appspot.com/127.0.0.1#1053
server=/.googlecode.com/127.0.0.1#1053
server=/.googleapis.com/127.0.0.1#1053
server=/.gmail.com/127.0.0.1#1053
server=/.google-analytics.com/127.0.0.1#1053
server=/.youtube.com/127.0.0.1#1053
server=/.googlevideo.com/127.0.0.1#1053
server=/.youtube-nocookie.com/127.0.0.1#1053
server=/.ytimg.com/127.0.0.1#1053
server=/.blogspot.com/127.0.0.1#1053
server=/.blogger.com/127.0.0.1#1053

#FaceBook
server=/.facebook.com/127.0.0.1#1053
server=/.thefacebook.com/127.0.0.1#1053
server=/.facebook.net/127.0.0.1#1053
server=/.fbcdn.net/127.0.0.1#1053
server=/.akamaihd.net/127.0.0.1#1053

#Twitter
server=/.twitter.com/127.0.0.1#1053
server=/.t.co/127.0.0.1#1053
server=/.bitly.com/127.0.0.1#1053
server=/.twimg.com/127.0.0.1#1053
server=/.tinypic.com/127.0.0.1#1053
server=/.yfrog.com/127.0.0.1#1053



保存后  重启 pdnsd 和 dnsmasq

/etc/init.d/pdnsd restart
/etc/init.d/dnsmasq restart


设置 pdnsd的路由器开机自动启动  (也可以在路由器界面 “系统”-》“启动项” 设置 重启和开机启动)
/etc/init.d/pdnsd restart  enable


一切完成 真不容易啊。



几个问题

1 pdnsd,国家禁止显示内容s 这两个在Haxc 最新版固件r40431 没有加入 能否加入, 国家禁止显示内容s 用最新的版本的1.4.5 我测试没有问题了
2 pdnsd,国家禁止显示内容s 这两个如果我要自己加上 “服务”的网页的菜单如何做? 之前r38621的版本里面有的,但最新的40431里面没有了
3 redsocks2 运行后会自动在iptables 里面创建一个规则链  REDSOCKS, 请问是在哪个文件配置的。 
4 由于 国家禁止显示内容s 最新版本加入了 ss-redir 自己就能创建一个透明的代理,所以实际上可以不用redsocks了。但需要创建相应的iptables 如何做?
原文地址:
http://www.right.com.cn/forum/thread-142002-1-1.html
求打赏¥¥¥^_^

      版权声明,所有转载都有注明出处,本站不负责承担任何法律责往。若有侵权,请联系我。我会及时删除。

专业从事于个人电脑维护,系统安装,软 、硬件维修,电脑配件,零售业务,网站建设,路由器安装设置 服务器维护,电脑、网络维护,智能手机刷机,安装WIFI 调试!

        咨询电话:13762514403  点击这里给我发消 息
        手机用户选择任意下面一种方法关注微文号
       点击我关注微信、扫描二维码、添加 订阅号
cz612459”     分享资讯、享受生活          


      

相关评论
免责申明:本站部分资料来源互联网,如果侵犯了您的版权,请作者速来电或QQ与本站联系,我们将第一时间给予以改正或删除。
Copyright© 2014-2016 哎丫丫 湘ICP备14010293号 湘公网安备43100202000036号
点击这里给我发消息