• 7

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

[警告] 要設定的注意一下:
我才開沒兩天,就被人家連去刷Goolge,
太可怕了,這社會真黑...
目前已經研究好了密碼驗證方式,
雖然還有點小地方需要改良,
但是基本上已經可以不會被當作DDoS殭屍,
文末新增,快去設定吧!

http://www.mobile01.com/topicdetail.php?f=18&t=3270254&p=1
相信不少人都看過這篇吧?
我自己用起來感覺也頗好,
可是就是官方代理常常斷...
想說自己來架設一個伺服器好了(又剛好有樹莓派),
所以就出現這篇啦~(純分享,技術魔人別來,我會秒輸...)

首先要先有台Raspberry Pi,

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

然後記憶卡刷上OS後就可以開始了,
如果有買的人應該都知道怎魔做吧?
不過還是放上簡單教學:
http://life-of-raspberrypi.blogspot.tw/2013/01/raspberry-pi-sd-24-windows.html
直接照這樣做就好了,最後記得卡片要插回主機。

網路線和電源都插上後,
接下來檢查IP位置:

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

我是使用ASUS RT-N10+,
現在路由器和分享器應該都有這個功能,
直接找到內網IP。

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

系統預設SSH是開啟的,直接連線去~
(這邊使用的是PieTTY,網路上找一下就有了,也可以用類似軟體)

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

帳號密碼預設是 pi / raspberry

輸入 sudo raspi-config 後稍微設定一下再繼續。

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

expand_rootfs:這個是把可使用空間擴大到最大。
change_pass:修改密碼。
change_locale:修改地區。
change_timezone:修改時區。
memory_split:修改記憶體分割。(我這邊是只給16M)
overclock:超頻選項。(我選Turbo)
update:更新 raspi-config 工具。(給他跑一下)

大概動這幾個就好,設定完重開機一下。

之後就是更新和安裝的指令要打。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install squid3

OK,更新好,架設代理伺服器的軟體也裝了,開始設定。

輸入 sudo nano /etc/squid3/squid.conf
準備修改設定值,我是用最簡單的,也就是都"開放所有連線",
之後可能再做安全的設定(我自己也尚未弄好,所以先不談)。

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

下方有操作這個編輯器的方式("^"是指Ctrl鍵)。
用^w 來尋找一下文串:
---------------------------------------------
# from where browsing should be allowed
http_access deny all

# And finally deny all other access to this proxy
http_access deny all

# TAG: adapted_http_access
---------------------------------------------

之後只要將deny all改成allow all ,
再儲存(^X 再按 y 再按 enter),
最後重新啟動Squid3即可,
使用sudo service squid3 restart 。

這時候就可以先測試是否成功,
Proxy的設定是 Raspberry Pi的IP + 端口 3128 。
如果都無誤再來就是讓他從手機也連上。

首先要說一件是,
每個人用的AP可能不同,但設定方法大同小異,
我自己是兩層的狀況,所以設定完RT-N10+後,
還要去設定中華的小烏龜。

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

好了,我在RT-N10+上使用的是DMZ(虛擬非軍事區)指向,
直接打上剛剛Raspberry Pi的IP即可。

接下來換小烏龜。

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

用 NAT - PortForwarding ,
輸入剛剛RT-N10+的IP。

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

好了,都輸入完成就可以開始享受穩定的手機網路了,
就按照最前面那篇把你的真正IP和端口3128打入。

順便附上可以查看資料存取的指令:
sudo tail -f /var/log/squid3/access.log

至於Squid的詳細設定可以參考:
http://linux.vbird.org/linux_server/0420squid.php#server_acl

而如果是動態IP需要更新位置的話也有辦法:
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=36&t=21566
它是使用No-ip來更新IP的,
不過目前我端口方面還沒解決,
所以還在研究也不多說明。

至於其他Linux電腦如果也要使用Squid,
也可以參照我的步驟,
指令大多是通用的,設定黨應該是完全依樣(?)。

如果有人可以分享或是補充也麻煩告訴我,
但是技術魔人就請高抬貴手了,
真的,拜託,感恩。

文末附上官方的網址:
http://www.raspberrypi.org/
如果要購買現在已經輕鬆了,
不用搶,不用到其他國外網站買。
http://www.raspberrypi.com.tw/
台灣官方授權的通路(我也是在這買的),
不過似乎算起來這邊買比較貴,
但是台灣的貨是現成,而且還是UK版,
相當初我還是用同樣的價錢買了個中國版的...

之聽說01只能PO三星的網站?
有點擔心我PO會被刪文...

--------------5/13補充--------------

先放上密碼認證的方法:
(簡單指令不放圖了)
這邊我是用mini-httpd這個套件完成的,
輕量級,而且功能也夠。


安裝指令:
sudo apt-get install mini-httpd

建立密碼檔:
sudo htpasswd -c /usr/lib/squid3/passwd pi (pi是帳號名稱)
打完這個指令後,
如果沒錯的話他會要你打密碼(打兩次),
接著沒有出現錯誤指令那就往下操作。


接著改Squid3的設定檔
nano /etc/squid3/squid.conf

先用搜索功能(^W 找到這個地方)
---------------------------------------------
##auth_param basic program <uncomment and complete this line>
##auth_param basic children 5
##auth_param basic realm Squid proxy-caching web server
##auth_param basic credentialsttl 2 hours
#Default:
# none
---------------------------------------------
就在# none 下方空格後放上
auth_param basic program /usr/lib/squid3/ncsa_auth /usr/lib/squid3/passwd (第二個路徑是密碼檔路徑)
auth_param basic children 5
auth_param basic realm Welcome to XXX's proxy-only web server (realm後面可以自己打)
---------------------------------------------
然後再去改一個地方,

# from where browsing should be allowed
acl squid_user proxy_auth REQUIRED (REQUIRED這個也可以直接改成帳號名稱)
http_access allow squid_user

# And finally deny all other access to this proxy
acl squid_user proxy_auth pi
http_access allow squid_user

# TAG: adapted_http_access

改成上面這樣,
再儲存(^X 再按 y 再按 enter)。

如果沒有錯誤的話,在連線過去的時候就會要求密碼了。
最後附上監聽伺服器通訊用的指令(我就是靠這個知道被當跳板):
sudo tail -f /var/log/squid3/access.log
(按^z 可以結束監聽)

在這次設定中還有個小插曲,
因為我放置密碼檔的位置弄錯,
導致直接把系統的帳號資訊寫掉了,
最後只能從刷 :P
不過上面的設定是安全的(一般來說)。

目前似乎有點小問題,但是基本上不影響。
詳細設定可以去這裡參考設定(17.4.3):
http://linux.vbird.org/linux_server/0420squid.php#server_acl

--------------6/6補充--------------

我直接把最初的樹莓派照片改上了風扇
整個是依照
http://jimmyeestudio.blogspot.tw/2013/04/raspberry-pi-fan.html
這邊的圖(配線),一般來說就照圖上面的正負接上(剛好紅黑顏色也對)


我是用5V 0.7W的風扇,整個很安靜,溫度方面是直接降10度(約36左右),
不過這個效果和我有加上散熱片,還有壓克力盒裝有關。
最後轉上顯示溫度的指令
sudo vcgencmd measure_temp

有了散熱就可以安心超頻,增加更多功呢了 :)

滿多人說只要把端口改成非預設,
就不容易被使用,
我也不太確定是否真的有效,
我自己是固定IP,又之前有被拿來攻擊Google,
所以就不試了,如果有人成功都沒有被盜用,
那就說一下吧~
----------------6/6 修改端口------------------
改Squid3的設定檔
nano /etc/squid3/squid.conf
先用搜索功能(^W 找到這個地方)
http_port 3128
把預設的3128改成自己要的
儲存(^X 再按 y 再按 enter)

記住 分享器和小烏龜都要改喔
我那邊是寫只開放3128
改成自己的就可以了
------------6/21 新增Webmin(測試中)------------
因為有人提出,所以我就打出來。
感覺Webmin是個不錯的玩意兒,
圖形漂亮功能多,還能指令直接操作,
感覺整個就不用在開pietty連線軟體了。
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=6096
@f051770給我的網址,樹莓派討論區的步驟直接操作

mkdir webmin
cd webmin
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.580.tar.gz
gunzip webmin-1.580.tar.gz
tar xf webmin-1.580.tar
cd webmin-1.580
sudo ./setup.sh /usr/local/webmin

我掠過上面那些套件,直覺說好像不重要 XD
看起來像是架設網站伺服器用的東東 =3=
總之我按照指令安裝後就可以用了
目前似乎沒什麼問題
反正少裝少用點資源這樣

在開始安裝後他會依序問你
連線用的Port要多少(預設10000)?
然後帳號和密碼(之後可以在webmin裡輕鬆修改)
我最後是遇到錯誤訊息然後卡住
"PID file /var/webmin/miniserv.pid does not exist"
後來查了一下 貌似不用理他
就退出重開樹莓派就可以連上去Webmin介面了
然後改成中文介面吧~ (雖然不太完全 :P
點webmin configuration(webmin)
點language
選好中文後再點Change Language就好
附上圖片:

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

沒有全中文 嘿嘿
這邊的那個按鈕按下可以更新
原來版本是1.580 更新後是1.630

純分享: Raspberry Pi 當作Proxy伺服器 (6/21 新增Webmin(測試中)

還不錯看吧~

先這樣 如果有問題 或是大家有什麼看法再告訴我吧=w=

最後在放上由@f051770提供的影片
內含Squid在webmin上的操作
http://www.youtube.com/watch?v=8P-ClXjBaw4
不過 他所用的設定和我不同
我沒辦法保證效果 也無法解決在那影片中操作出來無法使用的狀況
2013-05-09 19:33 發佈

其實昨天看完大大的文章就已經手滑訂了一台Raspberry Pi
今天才發現自己對linux不太熟
謝謝大大的分享
sfilc wrote:
其實昨天看完大大的文...(恕刪)


好你的手滑www
那我就當它的作售後服務了(?
你是去官方買的吧?
真好現在是英國貨,
價錢還一樣...我買到中國版 QAQ
而且現在定還有好多東西可以加購...

你看我的步驟,
如果有需要詳細說明就提出,
我補充給你,
另外,其實Squid也擁有快取的能力,
我自己家裡的網路是50M,
不太容易壅塞,所以我沒用,
當然,你如果想要這個功能,
可以直接去
http://linux.vbird.org/linux_server/0420squid.php#server_acl
尋找進階設定,或是問我。

偷偷告訴你......
我完全沒學過Linux......
跟著步驟走,保證輕鬆搞定~
只是該死的手滑真好 =3=
當初我還必須再三考慮才能買哩

對了,有問題多截圖,我比較能明白。
可直接掛VPN嗎,這樣連代理都省下來了

qqq2247495 wrote:
可直接掛VPN嗎,這...(恕刪)


如果你要問的是"mCool是否可以直接掛VPN",
那我無法回答,因為沒有VPN可以供測試,
建議你直接去討論mCool的文串上發問。

http://www.mobile01.com/topicdetail.php?f=18&t=3270254&p=1
大大,好東西,謝謝你了。有空能否補上proxy 安全性設定?感謝你

dragon0312 wrote:
大大,好東西,謝謝你...(恕刪)


安全設定已補上,
只是簡單的認證而已,不過可以有效阻擋,
更多功能可以Google,或是參考我給的網站。

謝謝收看,有問題就直接問吧!
感謝您的分享!
請問若以這樣的方式架設出來的Proxy server
使用mcool的emome APN
ANDROID手機是否需要ROOT? 或安裝特殊的軟體?

這樣透過自己架設的PROXY SERVER,所有的服務都可以正常使用嗎?
(EX: google map, google play, facebook, line, whatsAPP)
謝謝!


小弟目前有在考慮這樣的PROXY, 剛剛在自己的電腦上試裝了ccproxy
發現google play APP打不開,不知道這種方式架設的Proxy 會不會有相同的問題?

另外, 若要讓手機上所有的google都正常使用,這個系統的Squid proxy需要特別為特定服務 指定port嗎?

yrend wrote:
ccproxy


我不清楚ccproxy是甚麼樣的狀況,
而我目前手機是有Root的,
但是在APN設定似乎不需要Root。

你問的服務我只有whatsapp沒有使用,
但是其他服務都完美運行。

至於port部份我是用預設的3128,
但是有用密碼驗證(文末教學),
因為公開的Proxy Server是很容易被當跳板的,
我設置好兩天內疚被人家拿去刷Google搜索,
導致要打驗證碼這種慘況。

不過目前還有個小問題,
密碼驗證的部分似乎沒辦法直接在APN那邊設定好,
也就是說我使用瀏覽器時他會跳出來問我密碼,
至於其他應用就不會跳出,但也不能使用,
因此我找到一種解決方案(要Root),
一款免費的軟體:ProxyDroid,
他可以自動啟動,自動代理登入,
但是前提要Root,而且會在後台運行。

如果以上狀況可以接受的話,
歡迎自己架設代理伺服器,
目前用得又快又順,
而且未來還可以附加FTP Server,
來遠端存取資料。

另外提醒你一件事,
我自己是固定IP,所以就沒再繼續研究了。
如果你是浮動IP,那可能就要對這方面設定一下。
感謝您的回覆,
那麼..就目前來說..
要透過自架PROXY來上網的話,
手機ROOT是必要的了...(必須要裝自動Proxy認證軟體 =>ProxyDroid)

由於小弟的手機是HTC的NEW ONE..才剛入手..
如果ROOT馬上就沒有保固...
所以可能要再等看看,有沒有在Proxy Server端的解法了....

印象中掛mcool的Proxy..
對於其他的服務,也是會自動認證...
(或者是說..mcool的proxy不需要設密碼 所以沒有這樣的問題?)
不知道這個問題有沒有辦法解決..

或者在Proxy server端,看看是否有除了帳號密碼以外的辨識方式
來過濾到其他的惡意使用者..

之前架設的ccproxy..
手機連上之後, 也是需要開瀏覽器輸入帳號密碼後 才可以連上網頁瀏覽..
  • 7
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 7)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?