分類
Linux 網絡

路由器刷OpenWRT安裝shadowsocks使用透明代理+去DNS污染

上一篇文章路由介紹了如何在OpenWRT上開個雙wan疊加帶寬,這也是同學們刷的OpenWRT最普遍的需求,那麼,有沒有什麼辦法能夠讓它順便增加透明代理功能呢?

既然已經給路由器刷上了OpenWRT這個第三方的固件,那自然是有無線種可能了。

代理的種類

在如今我們常用的代理種類當中,最具有歷史的恐怕就是VPN了,這也是廣大外服遊戲使用者的首選——不得不說,它對UDP有著得天獨厚的優勢。

另外還有使用了Google應用引擎的,俗稱GAE,比較有代表性的比如goagent、比如wallproxy

其他的還有就是2.6.8這一類的了,當然主要是這麼三種,其實還有好多協定可以使用,但是考慮到ShadowSocks才是本文的主題,那麼其他的代理方式我們暫且略過不講。

準備

要在你的路由器上安裝2.6.8,那麼你需要瞭解你路由器的晶片類型,理論上既然能刷OpenWRT,那麼應該就有對應的ShadowSocks套裝軟體了,你要做的就是找對那個型號。

比如說路由的路由器是RG100A,使用的晶片是brcm63xx系列的。

軟件包

  1. 路由使用的套裝軟體是aa65535的解決方案,優點是直接包含了依賴不用另外安裝;同時還支援圖形化配置——當然了,部分內容還是需要使用CLI來搞定的。
  2. 還有我們需要的軟體是的dnsmasq,不過如果我沒有猜錯的話,你的路由器裡應該是已經安裝了這個軟體來為子網提供DHCP和dns了! 所以,你要做的就是對它進行高級定制來配合ShadowSocks即可!
  3. wget,這個你的路由器上肯定是有的,但是它並不支援HTTPs下載,所以,你還是需要額外安裝一個GNU wget來完成兩個規則清單的下載。

開幹!

好了,首先你需要下載必備的套裝軟體——也就是shadowsocks的套裝軟體和luci圖形控制app,它們的下載位址分別是這裡(shadowsocks-libev-spec)和這裡(luci-app-shadowsocks-spec)——考慮到你可能打不開這兩個頁面,那麼我這裡提供了shadowsocks和chinadns這兩個軟體和圖形端的打包,當然是截止到文章寫成這一天的最新版:)openwrt shadowsocks四件套本文中不會用到chinadns,相同功能由dnsmasq替代。

下載好兩個檔之後,我們使用SCP命令將這兩個檔推到路由器上去——如果你用的是Windows系統,那麼你可能需要單獨去下載一個名叫「WinSCP」的軟體。

使用如上形式的命令,將兩個檔都推到路由器的/tmp目錄之後,我們使用ssh登錄路由器。

登錄路由器後,切換目錄到/tmp,找到這兩個檔,使用包管理工具分別安裝它們。命令示例如下

這樣兩個包就安裝好了,使用瀏覽器打開路由器的管理介面,如無意外,你應該已經能夠在「服務」功能表下看到它了!

服務功能表下的shadowsocks
服務功能表下的shadowsocks

先別急著開啟ShadowSocks,我們接著配置dns使其避開DNS污染,這樣你才能暢快無阻的流覽互聯網,不然的話,縱使你搭梯出牆,也只能碰到一片霧霾。

當然了,dnsmasq的配置就只能在CLI端配置了,因為圖形端實在沒有給出那麼多選項╮(╯▽╰)╭

接下來確保你的路由器聯網,然後更新包管理器的軟體清單,然後下載GNU的wget,我們需要它來下載dns規則。

下載安裝好wget後,使用如下命令來下載國內功能變數名稱加速清單污染位址遮罩清單,這兩個清單一個是用來設定國內訪問白名單,一個是用來遮罩污染IP的黑名單,具體內容你也可以來這裡瞧瞧。

 

好了,至此dnsmasq也配置好了,我們再回過頭來看看ShadowSocks的配置。

——————————————

如下圖所示,取消勾選「使用設定檔」這一項,這樣你就可以在web頁面來配置SS了,按照你自己遠端伺服器或者供應商提供的資訊,填寫你的SS配置吧!

取消勾選「使用設定檔」以在頁面配置SS
取消勾選「使用設定檔」以在頁面配置SS

值得注意的是:

你的SS的伺服器位址如果使用的是功能變數名稱而不是IP,那麼你要注意功能變數名稱的解析問題(由於設置了dns使用SS轉發,所以可能會在SS連上之前無法解析這個功能變數名稱,寫入host,或者更換為IP最好!),最後一行的代理方式可以選擇全域,如果使用智慧代理,就不用管即可。

由於我們前邊配置了dnsmasq的dns訪問轉發,所以接下來要配置

UDP轉發:

選擇將UDP查詢包轉發到哪裡
選擇將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

通過 落格博客

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

26 在回答“路由器刷OpenWRT安裝shadowsocks使用透明代理+去DNS污染”

根@ 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的:〜#
這是什麼情況?

根據你使用的方案不同,其實dns並不一定就都遠程解析,大部分的方案其實還是本地先解析一遍的。
對於純翻牆的目的來說,反不反污染其實現在意義不大了,因為污染的ip並非國內有效ip,還是會導致判定為牆外ip的,這樣並不影響你翻牆——但從安全的角度來講,這個叫做 dns洩漏 ,如果遇到了 DNS 劫持,那麼中間人攻擊者雖然不能一定看到你正在訪問的內容,但一定能獲取你要訪問的域名,進而推斷你正在訪問的內容。

推薦linksys的路由器然後刷開源系統,我自己的話目前用的都是那些便宜的垃圾路由器,就沒什麼好推薦的了,因為我工作地點經常變動,不適合部署路由器。

沒被牆的網站成千上萬!!! 這樣會把弄得accelerated-domains.china.conf超大!! 而且不太科學! 有些沒被記錄的有沒被牆的都要走vpn的dns查詢!! 打開網頁會變得好慢!! 能反過來就好了!

按此文章弄好後可以自動翻牆,但路由器不定時斷網,進路由器檢查看發現是shadowsock掛了,再按文章的說明加入了定時檢查shadowsocks的腳本,現在的問題是,幾乎有一半時間是Problem decteted, restarting shadowsocks.請問問題出在哪? 我的shadowsocks是我自己的VPS伺服器,在手機上和電腦上使用都是非常穩定的。
路由為網件WNR3500L V1 Broadcom BCM4718A@453MHz 64M Ram 8M Flash

去下載最新版的ss用戶端試試,如果你下載的是我博客提供的四件套,那麼它已經過時了。,,,,我不知道你是否收到過我回復的郵件,我的博客好像退檔了,好奇怪。

小弟按照仁兄的辦法,給路由做了透明代理,家裡的設備倒是都自動搭了梯子,但是還有幾個問題想請教仁兄
1,小弟家中還有NAS這些設備,做了透明代理後,無法vpn到家裡的局域網了
2,路由會間歇性斷網
還望仁兄賜教,解決問題謝謝

首先,路由器斷網可能是遠端DNS解析造成的,如果我沒猜錯的話,應該是DNS解析失敗。你可以嘗試去掉這個或者在電腦上指定一個比如說114.114.114.114再試試看還會不會斷網。至於VPN,我不知道你是用何種方法做的伺服器,所以我沒辦法的。

發表評論

您的電子郵件地址不會被公開. 必填字段標 *