...

Private Secure Proxy Server

posted on 29 Mar 2007 11:58 by ipats
สวัสดีครับ

ช่วงนี้มีข่าวบลอคเว็บกันเยอะเหลือเกิน (หรือเปล่า)

ปกติเวลาจะเข้าเว็บที่โดนบลอคกัน ก็จะต่อผ่าน proxy เอาได้
แต่เดี๋ยวนี้ก็หา proxy ยากเหลือเกิน เพราะเว็บรายชื่อก็โดนบลอคไปด้วย

ยังมีอีกหลายวิธี เช่นใช้โปรแกรม P2P ช่วย เช่น Tor แต่มันก็ช้าซะเหลือเกิน

วิธีที่พอจะได้ความเร็วหน่อยก็คือ หาคนที่ไม่โดนบลอค
เช่นคนในต่างประเทศ หรือคนที่มีลิงค์ที่อยู่นอกเหนือการควบคุม
แล้วก็ให้เค้าเปิด proxy server ให้เราเข้าไปใช้ ซึ่งบางทีอาจจะยุ่งยากนิดหน่อย
และก็อาจจะมีปัญหาเรื่องความปลอดภัยที่ต้องตั้งค่าวุ่นวายอีก

วันนี้ ผมเลยขอมาเสนอ วิธีทำ proxy server ใช้เองแบบง่ายๆ
สำหรับคนที่มีเน็ตไม่โดนบลอค เพื่อเพื่อนๆ ผู้น่าสงสารจากไทยแลนด์แดนแห่งบลอค

วิธีที่จะเสนอวันนี้คือ SSH Tunneling นั่นเองครับ
โดยเราจะใช้ฟีเจอร์ port forwarding ของ ssh ครับ

หลักการของมันก็คือ...
(รูปปลากรอบ.. วาดนานมาก.. จริงๆ คือ เอารูปในวิกิมามิกซ์กัน)

ปกติเวลาเราเข้าเว็บโดนบลอคจะเป็นแบบนี้



แต่เมื่อใช้วิธีนี้แล้ว จะเป็นแบบนี้


ก็คือ.. เราจะ ssh เข้าไปที่เครื่องที่ไม่โดนบลอค
แล้วจัดการเปิด HTTP Connection ผ่านอุโมงค์ที่สร้างขึ้น
ซึ่งวิธีนี้ตัว ISP เอง จะไม่เห็นเลยว่าเราจะเข้าเว็บอะไร ไม่รู้แม้ว่าเราจะเข้าเว็บ!
เนื่องจากในท่อของ ssh นั้นถูกเข้ารหัสตลอดทาง (เส้นสีเขียว) นั่นเอง

วิธีนี้ เราจะต้องการ
1. เครื่อง 1 เครื่องที่อยู่นอกขอบเขตการบลอค พร้อมติดตั้ง ssh server
2. user ที่จะเข้าใช้เครื่อง ssh server
3. เครื่องที่เราใช้ ติดตั้ง ssh client (บนวินโดว์เช่น PuTTY)

ตัว server นั้น เนื่องจากผมเคยต่อ ssh ไปแต่เครื่องตระกูลพวก linux
ซึ่งมันก็เปิดกันเป็นปกติอยู่แล้วไม่ต้องทำอะไร แต่บนวินโดว์คงต้องหาเอาเองนะ อิอิ

ถัดมา วิธีต่อ..
ถ้าเป็น linux ก็ง่ายมาก เปิด terminal ขึ้นมา
แล้วสั่ง ssh [username@host] -D [port] เช่น ssh abc@patinya.com -D 55555 แค่นี้เอง

แต่ถ้าเป็น PuTTY ก็ตั้งค่าตรง Connection > SSH > Tunnels
ใส่ Source port เป็นเลข เช่น 55555 ไม่ต้องใส่ Destition
เลือกชนิดเป็น Dynamic แล้วก็กด Add

หลังจากนั้นเราก็มาเซ็ต proxy ที่เบาร์เซอร์
เป็น localhost พอร์ตตามที่ตั้ง (เช่น 55555) ชนิด SOCKS

เท่านี้ การเล่นอินเทอร์เน็ตของเรา ก็จะผ่านท่อของ ssh ไปออกที่เครื่อง server
ทำให้ ISP ไม่สามารถรู้ได้ว่า เราเข้าเว็บอะไรอยู่ บลอคไม่ได้

ข้อเสียของวิธีนี้ก็คือ.. เราต้องหาเครื่องที่อยู่นอกขอบเขตการบลอค
แล้วก็ให้เจ้าของเครื่องสร้าง user ให้เรา ssh เข้าไปได้
แต่ผมว่ามันก็พอๆ กับการให้เจ้าของเครื่องติด proxy server อ่ะแหละน่า
เผลอๆ อันนี้ง่ายกว่าอีก แถม secure กว่าด้วย

แล้วต่อผ่าน proxy ดีไม่ดี อาจจะโดนสกรีนในชั้น Application ก็ได้
แต่ ssh นี่คงเป็นไปได้ยาก เพราะมันเข้ารหัสหมด
และมันเป็น protocol ที่คิดว่าไม่น่าจะโดนบลอคง่ายๆ ด้วย
เหมือนกับ http, smtp ถ้าโดนบลอคคงปัญหาใหญ่

เรื่องของ port forwarding เอามาประยุกต์ใช้ได้อีกหลายอย่าง
อีกอย่างที่ผมชอบก็คือการทะลุ NAT แบบว่า เน็ตที่หอมันผ่าน NAT
แต่วันดีคืนดี ผมอยากรีโมตเข้าเครื่อง จะทำยังไง อะไรประมาณนี้
ผมก็ ssh จากเครื่องที่หอ ไป server แล้วสั่ง server ให้เปิดพอร์ทรอซักพอร์ทนึง
ถึงเวลาเข้าจากข้างนอก ผมก็ต่อเข้า server ที่พอร์ทที่เปิดทิ้งไว้
แล้วมันก็จะ forward มาเครื่องที่หอให้ เจ๋งดี (ไว้สั่งโหลดบิต!!?!)

พอล่ะครับ ไปหล่ะ ไม่รู้จะช่วยได้บ้างหรือเปล่า
เพราะการจะหาเครื่อง server ต่อเข้าไปก็ยากพอดู (หรือเปล่า?)
แต่จริงๆ ถ้ามีเพื่อนใช้ลีนุกซ์ ก็แค่ขอให้เค้าสร้าง user ให้แค่นั้นเอง
เราก็ต่อไปเครื่องเค้าได้แล้ว (ถ้าไม่ติด firewall/nat) อิอิ

ปล. วิธีนี้เป็นวิธีที่ผมใช้ประจำเลยช่วงเน็ตโดนบลอคบ่อยๆ เนี่ย

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet

ไม่มี proxy ให้ใช้น่ะสิ

/me ขอใช้มั่ง...

#1 By PaePae on 2007-03-29 13:03

เราไปเช่าเครื่องกลางเองได้เปล่า?

#2 By veer on 2007-03-29 13:04

ขอเอาไปเผยแพร่เน้อ

#3 By wonam on 2007-03-29 13:12

"แต่จริงๆ ถ้ามีเพื่อนใช้ลีนุกซ์ ก็แค่ขอให้เค้าสร้าง user ให้แค่นั้นเอง"

เอ๊ะ....
แล้วเพื่อนจะยอมหรอ



5555

#4 By #G~nap# on 2007-03-29 17:05

หหุหุ ไอ้วิธีนี้คุ้นๆ ที่เอาไว้เล่น starcraft กับแกป่ะ

#5 By ^^ ~Devil_Be~ - -' on 2007-03-29 18:08

ตอนนั้นเนื่องจาก เน็ตเกษตร block incoming request คือ สร้าง server ไม่ได้นั่นเอง เราก้อเลยสร้างท่อผ่าน ..... ก้อเล่น starcraft ได้
ปล. พูดมากเด๋วโดนด่า

#6 By ^^ ~Devil_Be~ - -' on 2007-03-29 18:13

ถ้าไม่มี server ทำไงครับเพ่

#7 By ฟิวส์ on 2007-03-29 21:07

พี่วี: ได้ครับ โฮสต่างประเทศเช่าราคาถูกกว่าในประเทศบางที่อีกมั๊ง แต่อาจจะเอามาเปิด public ไม่ได้ ท่านๆ รู้จะโดนปิดเอา ก็ใช้ในวงส่วนตัวพอได้ครับ
ไม่ก็ตั้ง proxy ให้ fwd ผ่านท่ออีกที จับไม่ได้

จริงๆ ผมว่าวิธีนี้น่าจะเวิร์คสำหรับคนที่มีเพื่อนอยู่ ตปท. อะครับ

อ. มะนาว: ตามสบายเลยครับอาจารย์

ไอ้บี: เออ นะ.. เครื่อง CC เกตเวย์ของพวกเรา เอิ้กๆ

#8 By ไอ้แพท.. on 2007-03-29 21:14

^
^
หมายถึงเอาไว้ใช้ทำงานนะ ไม่ได้เล่นเกม อิอิ

#9 By ไอ้แพท.. on 2007-03-29 21:15

เสร็จกัน ทีนี้ exteen จะโดนบล็อคมั้ยเนี่ย?

#10 By DrRider (202.7.176.130 /60.241.200.124) on 2007-04-01 05:38

ทำได้แน่นอน
แต่ใครจะเปิด proxy ให้ล่ะ แม่งเล่นบล็อกที่ กสท.

#11 By - (58.8.105.230) on 2007-04-10 23:38

http://www.ban-ict.org ดูยูิทิ้วได้ครับ

#12 By proxy (124.120.52.109) on 2007-06-17 20:41

แล้วการทำproxy server ทำไงช่วยบอกทีถ้ามีเพื่อนอยู่ต่างประเทศอยู่แล้ว

#13 By อยากรู้ (202.28.169.165 /10.42.3.245) on 2007-08-21 03:04

แล้ว macintosh ต้องทำไงมั้งครับ...แล้วมีเครื่องมือ แบบ ultrasufe ของ PC บ้างไหมครับ

#14 By (67.159.44.59) on 2007-12-03 15:17

เน็ตเข้าได้แต่โหลดเอ็มมาไม่ได้เพราะมีคนต้ังไว้
เข้าไปแก้ที่ คอนโทนพาแนล ได้ปะ

#15 By charus (202.93.63.98) on 2009-01-26 17:47

-*-*-*-*-*-*-*-*-*-*-*-