"ความสำเร็จเป็นผลของการผสมผสานกันอย่างลงตัวของโชคและฝีมือ"
ตั้ง VPN Server เองที่เมกา Transfer 1TB ในราคาเพียง $5 ต่อเดือน
21 Jul 2014 20:41   [16102 views]

แต่ก่อนมีเหตุต้องเทสต์การเข้าถึงเว็บและบริการต่างๆผ่านทางเนตของเมกาอยู่เรื่อยๆ รวมถึงบางทีก็มีความจำเป็นต้องหลอกบางเว็บว่าอยู่เมกาเพื่อทำธุรกรรม เลยใช้อยู่สองวิธีคือ Proxy และ VPN ไปๆมาๆก็ไปใช้ VPN อย่างเดียว เพราะต่อง่ายดี กดทีเดียวก็ต่อได้ละ แล้วก็ดูปลอดภัยกว่า

และหลังจากหาวิธีมาหลายวิธี ว่าจะตั้ง Server เองก็หลายรอบ แต่สุดท้ายก็ไปซื้อใช้บริการเค้าจนได้ที่ StrongVPN ในราคาเดือนละ $7 เพราะเป็นบริการที่ปลอดภัยและราคาถูกที่สุดที่หาได้ในตอนนั้นละ แต่ก็ไม่ได้เร็วเท่าไหร่อ่ะนะ

จนวันนี้ DigitalOcean ได้สร้างทางเลือกใหม่ให้เราได้ทำอะไรแปลกๆบน Server ในราคาถูกลง เริ่มต้นเพียงเดือนละ $5 ซึ่งจะได้เครื่อง Root Access ที่เราสามารถ ssh เข้าไปทำอะไรก็ได้ ซึ่งตัวถูกสุดจะมาพร้อม CPU 1 Core RAM 512MB HDD 20GB ซึ่งก็ถือว่าโอเคสำหรับทำอะไรเล็กๆขำๆ แต่ที่เยอะแบบไม่รู้จะให้มาทำไมเยอะแยะคือ Transfer ที่จัดเต็มมาให้ 1TB

ราวกับเกิดมาเพื่อทำ VPN ...

ดังนั้นก็ตั้ง VPN Server เลยละกัน !!

ซึ่งโดยส่วนตัว Host เว็บจำนวนหนึ่งบน DigitalOcean อยู่แล้ว (ยกตัวอย่างเว็บนี้เป็นต้น) แล้ว Traffic ก็แบบว่า ให้มา 2TB (เราใช้แพลน $10 ต่อเดือน) แต่ Traffic ใช้ไปแค่หลักสิบ GB เอง เสียดายมากกกกกก เลยขอใช้ Traffic ที่เหลือมาทำ VPN ซะเลย หลังจากใช้มา 1 อาทิตย์ต้องบอกว่าใช้งานได้ดีมากกกกกกกกกกกกกกกกกก เลยมาบอกต่อถึงวิธีทำ

สร้าง Ubuntu Droplet บน DigitalOcean

สมัครสมาชิก DigitalOcean ให้เรียบร้อย (ใช้เวลาไม่น่าเกิน 1 นาที) แล้วก็เข้าไปกด Create Droplet

ตอนสร้างให้เลือก Size เป็นตัวต่ำสุด $5 ต่อเดือน Region ให้เลือก New York (หรือถ้าอยาก VPN จากประเทศอื่น ก็เลือกตามใจได้เลย) ทางด้าน Linux Distributions เลือกเป็น Ubuntu 14.04 x64 แล้วก็ Create Droplet เล้ย !

ใช้เวลาแป๊บเดียวก็จะได้เครื่องของตัวเองมาเป็นที่เรียบร้อย ระหว่างนี้ให้เข้าไปเช็คเมล จะได้ Password ของ Root มา ก็ใช้ Account Information ที่ได้มา ssh เข้าไปเลยจ้า

(เนื่องจากขั้นตอนนี้ค่อนข้างง่ายและตรงไปตรงมา สร้างเครื่องกันเองได้แน่ๆ ดังนั้นไม่ขอพูดเยอะเน้อ)

ติดตั้ง VPN Server (pptpd)

ไม่พูดพร่ำทำเพลง เริ่มติดตั้ง VPN Server เลย ตรงนี้เราเลือกที่จะลงเป็น VPN ประเภท PPTP เพราะง่ายสุด (มี OpenVPN, L2TP, ฯลฯ อีก แต่จะเขียน PPTP โอเคป่ะ) โดยเราทำตามวิธีตามเว็บนี้ VPNReviewer

Step 1: ลง pptpd

apt-get updateapt-get install pptpd

Step 2: ตั้งค่า pptpd โดยใช้ vi หรือ nano หรือ pico แล้วแต่ถนัด เปิดไฟล์ Config ของ pptpd

vi /etc/pptpd.conf

กำหนด IP ให้ Server และ IP Pool เพื่อแจกจ่ายให้ Client

localip 10.10.0.1remoteip 10.10.0.2-10

อย่างด้านบนฝั่ง Server จะได้ IP 10.10.0.1 ส่วนเครื่องที่ติดต่อเข้าไปจะได้ IP ระหว่าง 10.10.0.2 - 10.10.0.10 เสร็จแล้วก็ Save แล้วไปลุยไฟล์ต่อไป

vi /etc/ppp/pptpd-options

ให้ไล่เช็คไฟล์ดูว่ายังไม่มีบรรทัดไหนมั้ย ถ้าไม่มีก็เติมไปให้เรียบร้อย (อย่างเคสเนยไม่มี mtu และ mru)

name pptpdrefuse-paprefuse-chaprefuse-mschaprequire-mschap-v2require-mppe-128ms-dns 8.8.8.8#ms-dns 8.8.4.4proxyarpnodefaultroutelocknobsdcompmtu 1490mru 1490

Save ให้เรียบร้อย

ขั้นตอนต่อไปเราจะทำการกำหนด Account สำหรับ Login เข้ามาใช้ VPN ไปแก้ไขไฟล์ดังนี้

vi /etc/ppp/chap-secrets

เพิ่มข้อมูล Username/Password/IP ลงไปตามรูปแบบ <username> pptpd <password> <IP> ยกตัวอย่างเช่นจะกำหนด Username เป็น hello และ password เป็น 12345 และจะแจก IP เป็น 10.10.0.2 (ต้องสัมพันธ์กับ IP Range ที่กำหนดด้านบน)

hello pptpd 12345 10.10.0.2

ถ้าอยากได้หลาย Account ก็ใส่บรรทัดเพิ่มได้อีก เต็มที่ !

Step 3: ตั้ง IP Forwarding

แก้ไขไฟล์

vi /etc/sysctl.conf

มองหาบรรทัดที่มีข้อมูลเกี่ยวกับ net.ipv4.ip_forward ถ้ามัน Comment อยู่ ให้ Uncomment แล้วถ้าค่าเป็น 0 อยู่ ให้กำหนดเป็น 1

net.ipv4.ip_forward=1

เซฟให้เรียบร้อย แล้วรันคำสั่งนี้เพื่อให้ระบบนำ Configuration ที่เปลี่ยนไปไปใช้

sysctl -p

ตั้ง NAT ระหว่าง eth0 และ ppp ด้วย iptables

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEiptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT

Restart pptpd เพื่อเริ่มใช้งานตาม Configuration ด้านบน

service pptpd restart

เสร็จ !

ตั้งการเชื่อมต่อ VPN บนคอมพ์และมือถือ

ฝั่ง Server ก็เป็นอันเรียบร้อย ต่อไปก็ฝั่ง Device ที่จะเชื่อมต่อผ่าน VPN ยกมาให้ดู 2-3 ตัวละกันนะ

Windows 8.1

เข้าหน้า Home Screen แล้ว Search หา VPN ในหัวข้อ Settings แล้วเลือก Manage virtual private networks (VPN)

กด Add a VPN Connection

กรอกข้อมูลให้ครบ

  • VPN Provider - Microsoft
  • Connection Name - ตั้งชื่อตามสะดวก
  • Server name or address - IP ของ Server DigitalOcean ที่เปิดไว้ (ไปดูใน Console หลังบ้านได้เลย)
  • Type of sign-in info - User name and password
  • User name - Username ที่ตั้งไว้ตามด้านบน (จากด้านบนคือ hello)
  • Password - Password ที่ตั้งไว้ตามด้านบน (จากด้านบนคือ 12345)

แล้วก็กด Save

ยัง ยัง ยังไม่จบ คลิกเมาส์ขวาที่ไอคอนอินเทอร์เนตด้านขวาล่าง เลือก Open Network and Sharing Center

เลือก Change adapter settings

คลิกเมาส์ขวาที่ Connection ที่สร้างขึ้นมาแล้วเลือก Properties

ไปที่ Tab Security ตั้งค่าตามภาพด้านล่างนี้เลย

แล้วก็กด OK

คราวนี้ก็เรียบร้อย ลอง Connect เลย คลิกที่ไอคอนอินเทอร์เนตด้านล่างแล้วจะปรากฎแถบด้านขวามา เลือกที่ Connection ที่สร้างขึ้นมาแล้วกด Connect แล้วก็รอจนขึ้น Connected

เรียบร้อย !

ลอง Speedtest ดูซะหน่อย ผลออกมาได้ดังนี้

ถือว่าเร็วมาก ส่วนการใช้งานจริง บางเว็บก็เร็ว บางเว็บก็ช้า แต่โดยเฉลี่ยแล้ว ถือว่าเป็นที่น่าพอใจและเพียงพอกับการใช้งานและทดสอบงาน

จากนั้นก็ลองทดสอบการเข้าถึงเว็บที่เข้าไม่ได้เช่น pornhu..... เอ่อ อันนี้ลองกันเองละกันนะ ข้ามไปหัวข้อต่อไปดีกว่า

ถ้าอยากจะ Disconnect ก็กด Disconnect ได้ทันที หรือหากอยากจะต่อกลับไปอีกรอบก็กด Connect คลิกเดียวจบ


Android

บนแอนดรอยด์จะต่อง่ายมาก เข้าไปใน Settings -> Wireless & networks -> VPN แล้วกด Add VPN ตรงเมนู กรอก Name, Server address แล้วก็กด OK

จากนั้นกดเปิด VPN ซึ่งมันจะบังคับให้ Set Screen Lock ก่อน (ในกรณีที่ยังไม่ได้เซตไว้) ไม่ทราบสาเหตุเหมือนกันว่าทำไม แต่ก็ต้องทำไป

แล้วก็กดไปที่ Connection ที่สร้างขึ้นมา กด Connect แล้วมันจะขึ้น Username/Password มาให้กรอก ก็กรอกไปเลยจ้า แล้วก็กด Connect

ใช้งานได้เรียบร้อย !

จะรู้ได้ยังไงว่า Traffic ใกล้หมด 1TB หรือยัง

ไม่หมดหรอก


ก็ไม่นึกเลยว่าจะถึงวันที่ VPN มีความจำเป็นในชีวิตประจำวัน ยังไงก็หวังว่าจะมีประโยชน์นะฮับ =)

บทความที่เกี่ยวข้อง

Aug 19, 2014, 04:51
5215 views
บันทึกการทำ Material Design ใช้บน "iOS" ด้วย Swift น่อย
Aug 5, 2014, 17:59
5125 views
มีอะไรใหม่สำหรับ Swift Language ใน Xcode 6 beta 5
0 Comment(s)
Loading