上一篇文章路由介紹了如何在OpenWRT上開個雙wan疊加帶寬,這也是同學們刷的OpenWRT最普遍的需求,那麼,有沒有什麼辦法能夠讓它順便增加透明代理功能呢?
既然已經給路由器刷上了OpenWRT這個第三方的固件,那自然是有無線種可能了。
代理的種類
在如今我們常用的代理種類當中,最具有歷史的恐怕就是VPN了,這也是廣大外服遊戲使用者的首選——不得不說,它對UDP有著得天獨厚的優勢。
另外還有使用了Google應用引擎的,俗稱GAE,比較有代表性的比如goagent、比如wallproxy。
其他的還有就是2.6.8這一類的了,當然主要是這麼三種,其實還有好多協定可以使用,但是考慮到ShadowSocks才是本文的主題,那麼其他的代理方式我們暫且略過不講。
準備
要在你的路由器上安裝2.6.8,那麼你需要瞭解你路由器的晶片類型,理論上既然能刷OpenWRT,那麼應該就有對應的ShadowSocks套裝軟體了,你要做的就是找對那個型號。
比如說路由的路由器是RG100A,使用的晶片是brcm63xx系列的。
軟件包
- 路由使用的套裝軟體是aa65535的解決方案,優點是直接包含了依賴不用另外安裝;同時還支援圖形化配置——當然了,部分內容還是需要使用CLI來搞定的。
- 還有我們需要的軟體是的dnsmasq,不過如果我沒有猜錯的話,你的路由器裡應該是已經安裝了這個軟體來為子網提供DHCP和dns了! 所以,你要做的就是對它進行高級定制來配合ShadowSocks即可!
- wget,這個你的路由器上肯定是有的,但是它並不支援HTTPs下載,所以,你還是需要額外安裝一個GNU wget來完成兩個規則清單的下載。
開幹!
好了,首先你需要下載必備的套裝軟體——也就是shadowsocks的套裝軟體和luci圖形控制app,它們的下載位址分別是這裡(shadowsocks-libev-spec)和這裡(luci-app-shadowsocks-spec)——考慮到你可能打不開這兩個頁面,那麼我這裡提供了shadowsocks和chinadns這兩個軟體和圖形端的打包,當然是截止到文章寫成這一天的最新版:)openwrt shadowsocks四件套(本文中不會用到chinadns,相同功能由dnsmasq替代。)
下載好兩個檔之後,我們使用SCP命令將這兩個檔推到路由器上去——如果你用的是Windows系統,那麼你可能需要單獨去下載一個名叫「WinSCP」的軟體。
1 2 3 |
scp luci-app-shadowsocks-spec root@192.168.2.1:/tmp/ //scp 你文件路径 root@路由器IP:/tmp/ |
使用如上形式的命令,將兩個檔都推到路由器的/tmp目錄之後,我們使用ssh登錄路由器。
登錄路由器後,切換目錄到/tmp,找到這兩個檔,使用包管理工具分別安裝它們。命令示例如下
1 |
opkg install xx.ipk |
這樣兩個包就安裝好了,使用瀏覽器打開路由器的管理介面,如無意外,你應該已經能夠在「服務」功能表下看到它了!
先別急著開啟ShadowSocks,我們接著配置dns使其避開DNS污染,這樣你才能暢快無阻的流覽互聯網,不然的話,縱使你搭梯出牆,也只能碰到一片霧霾。
當然了,dnsmasq的配置就只能在CLI端配置了,因為圖形端實在沒有給出那麼多選項╮(╯▽╰)╭
1 2 3 4 5 6 |
mkdir /etc/dnsmasq.d //新建一个dnsmasq.d的目录 //这里边存放dns规则 echo "conf-dir=/etc/dnsmasq.d" >> /etc/dnsmasq.conf //使dnsmasq.d目录内的规则生效 |
接下來確保你的路由器聯網,然後更新包管理器的軟體清單,然後下載GNU的wget,我們需要它來下載dns規則。
1 2 3 |
opkg update opkg install wget |
下載安裝好wget後,使用如下命令來下載國內功能變數名稱加速清單和污染位址遮罩清單,這兩個清單一個是用來設定國內訪問白名單,一個是用來遮罩污染IP的黑名單,具體內容你也可以來這裡瞧瞧。
1 2 3 4 5 6 |
wget -4 --no-check-certificate -O /etc/dnsmasq.d/accelerated-domains.china.conf https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf wget -4 --no-check-certificate -O /etc/dnsmasq.d/bogus-nxdomain.china.conf https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/bogus-nxdomain.china.conf echo "server=/#/127.0.0.1#7913" > gfwlist.conf //最后一句是让其他不在列表中(即国外域名)都走代理解析。 |
好了,至此dnsmasq也配置好了,我們再回過頭來看看ShadowSocks的配置。
——————————————
如下圖所示,取消勾選「使用設定檔」這一項,這樣你就可以在web頁面來配置SS了,按照你自己遠端伺服器或者供應商提供的資訊,填寫你的SS配置吧!
值得注意的是:
你的SS的伺服器位址如果使用的是功能變數名稱而不是IP,那麼你要注意功能變數名稱的解析問題(由於設置了dns使用SS轉發,所以可能會在SS連上之前無法解析這個功能變數名稱,寫入host,或者更換為IP最好!),最後一行的代理方式可以選擇全域,如果使用智慧代理,就不用管即可。
由於我們前邊配置了dnsmasq的dns訪問轉發,所以接下來要配置
UDP轉發:
勾選啟用,然後根據前邊dnsmasq的配置,我們設置本地埠為對應的7913以接收DNS查詢包,然後填寫轉發位址,我們讓這些查詢包通過SS代理,然後訪問到谷歌的公共DNS 8.8.8.8的53埠上。
這樣一來,就實現了國內國外智慧選用DNS(你可以查看accelerated-domains.china.conf以確認哪些功能變數名稱會被發送到國內的114.114.114.114解析。)
現在,整個的配置過程就結束了,開啟ShadowSocks,然後在CLI介面輸入/etc/init.d/dnsmasq restart以重啟dnsmasq服務。
至此,你就可以享受自由的互聯網啦
最後,如果你不滿足于現狀~就來看看路由器刷OpenWRT使用ShadowSocks透明代理進階配置吧!
本文由 落格博客 原創撰寫:落格博客 » 路由器刷OpenWRT安裝shadowsocks使用透明代理+去DNS污染
轉載請保留出處和原文鏈接:https://www.logcg.com/archives/860.html
udp轉發在cli下怎麼搞哇
按照您的教程步驟一步一步做了 什麼都成功了最後一步ss顯示未運行 啟用的勾勾了
樓主 你好 我用的是15.05.1的版本,安裝了 ( shadowsocks-client )和(luci-app-shadowsocks-spec)界面不顯示,請問怎麼處理啊
同問。。。
樓主我想問一下,路由器上ipv6的SS怎麼配置,跟這個一樣嗎?
大學生,利用ipv6+ss+無線路由來實現全局免費上網,哎,也是夠折騰了。
ipv6不是還沒有被牆麼………………直接上啊,找個v6的dns就好啦,我還沒用過v6網絡呢 XD
根@ OpenWrt的:〜#SCP /Users/xuyi/Desktop/tmp/libpolarssl_1.3.8-1_ar71xx.ipk根@
192.168.1.1:/TMP /
/USR /斌/ dbclient中: 連接 root@192.168.1.1:22 退出:
支持SSH-RSA主機密鑰不匹配 192.168.1.1 !
指紋是MD5 3D:B3:A4:BD:70:6C:分貝:9Ë:46:80:36:01:23:60:是:6F
預計MD5 3C:00:94:83:8一個:56:她:分貝:A6:7一個:FF:A4:23:FF:從:B8
如果您知道主機密鑰是正確的,你可以
去除的〜/ .ssh / known_hosts中的錯誤項
失去了連接
根@ OpenWrt的:〜#SCP /Users/xuyi/Desktop/tmp/luci-app-shadowsocks-spec_1.5.0-1_al
l.ipk root@192.168.1.1:/TMP /
/USR /斌/ dbclient中: 連接 root@192.168.1.1:22 退出:
支持SSH-RSA主機密鑰不匹配 192.168.1.1 !
指紋是MD5 3D:B3:A4:BD:70:6C:分貝:9Ë:46:80:36:01:23:60:是:6F
預計MD5 3C:00:94:83:8一個:56:她:分貝:A6:7一個:FF:A4:23:FF:從:B8
如果您知道主機密鑰是正確的,你可以
去除的〜/ .ssh / known_hosts中的錯誤項
失去了連接
根@ OpenWrt的:〜#
這是什麼情況?
刪除或者清空 〜/.SSH/已知主機 即可,或者編輯這個文本文件把裡邊以 192.168.1.1 開頭的這一行刪除就行了。
哦,謝謝。剛才沒注意在郵件上回了下不好意思。
博主你好,有個問題想請教一下。現在用ss翻牆上網不都遠程dns嗎?為什麼還需要dnsmasq解決dns污染的問題?
根據你使用的方案不同,其實dns並不一定就都遠程解析,大部分的方案其實還是本地先解析一遍的。
對於純翻牆的目的來說,反不反污染其實現在意義不大了,因為污染的ip並非國內有效ip,還是會導致判定為牆外ip的,這樣並不影響你翻牆——但從安全的角度來講,這個叫做 dns洩漏 ,如果遇到了 DNS 劫持,那麼中間人攻擊者雖然不能一定看到你正在訪問的內容,但一定能獲取你要訪問的域名,進而推斷你正在訪問的內容。
可否推薦一款路由器
推薦linksys的路由器然後刷開源系統,我自己的話目前用的都是那些便宜的垃圾路由器,就沒什麼好推薦的了,因為我工作地點經常變動,不適合部署路由器。
沒被牆的網站成千上萬!!! 這樣會把弄得accelerated-domains.china.conf超大!! 而且不太科學! 有些沒被記錄的有沒被牆的都要走vpn的dns查詢!! 打開網頁會變得好慢!! 能反過來就好了!
這就看人需求了,這個清單也是應運而生的,如果你想要黑名單——你別說,還真有,去查查看 gfwlist 吧!
牆能翻 就是谷歌YouTube都上不了,這是什麼原因
我也是,能翻牆Google和youtube上不了,但是查詢國外網站IP顯示是VPS的
你好,請問聯想newifi mini,跟小米mini一樣的CPU ,MT7620,應該下載哪個套裝軟體呢
我看了一下連結,現在貌似是all? 不分版本了? 那你直接下載試試吧:)
按此文章弄好後可以自動翻牆,但路由器不定時斷網,進路由器檢查看發現是shadowsock掛了,再按文章的說明加入了定時檢查shadowsocks的腳本,現在的問題是,幾乎有一半時間是Problem decteted, restarting shadowsocks.請問問題出在哪? 我的shadowsocks是我自己的VPS伺服器,在手機上和電腦上使用都是非常穩定的。
路由為網件WNR3500L V1 Broadcom BCM4718A@453MHz 64M Ram 8M Flash
去下載最新版的ss用戶端試試,如果你下載的是我博客提供的四件套,那麼它已經過時了。,,,,我不知道你是否收到過我回復的郵件,我的博客好像退檔了,好奇怪。
shadowsocks是在github上下載的,應該是最新版才對,搞不清楚問題出在哪,用logread命令查看也看不出個所以然,英文比較拙計
那好吧...... 我不知道是不是配置的問題,假定是軟體的原因,那你試試我的四合一,也許舊版能行呢?
小弟按照仁兄的辦法,給路由做了透明代理,家裡的設備倒是都自動搭了梯子,但是還有幾個問題想請教仁兄
1,小弟家中還有NAS這些設備,做了透明代理後,無法vpn到家裡的局域網了
2,路由會間歇性斷網
還望仁兄賜教,解決問題謝謝
首先,路由器斷網可能是遠端DNS解析造成的,如果我沒猜錯的話,應該是DNS解析失敗。你可以嘗試去掉這個或者在電腦上指定一個比如說114.114.114.114再試試看還會不會斷網。至於VPN,我不知道你是用何種方法做的伺服器,所以我沒辦法的。