Wednesday, June 10, 2015

Tự tạo VPN bằng OpenVPN và VPS để cải thiện tốc độ mùa "đứt cáp"



Hiện theo một số thử nghiệm cho thấy việc VPN ra nước ngoài mỗi khi "đứt cáp" thì tốc độ truy cập các trang nước ngoài sẽ nhanh hơn hẳn. Bên cạnh đó đôi lúc khi ra cafe ngồi bạn cần vào Wifi và sợ bị một số "trẻ trâu" sniff mạng và ăn cắp mật khẩu, nếu có VPN thì bạn sẽ có thêm một lớp bảo mật kết nối của mình

VPN là gì ?

VPN viết tắt của Virtual Private Network ( mạng riêng ảo )
Là một dạng kết nối an toàn, khi thực hiện kết nối VPN thì thông thường toàn bộ kết nối internet trên thiết bị cùa bạn sẽ được chuyển hướng tới 1 máy chủ VPN Gateway bằng một kết nối an toàn được mã hóa, rồi từ máy chủ đó kết nối mới đi ra internet. Tức là giống khái niệm Proxy, nhưng mà kết nối giữa thiết bị của bạn và proxy sẽ bị mã hóa hoàn toàn, nên các cách thức tấn công như sniff mạng trên đường truyền dẫn, wan sniffing, tampering attack... đều tránh được phần nào.

Làm sao để có VPN ?

Có 2 cách:
1. Mua VPN : đây là cách đơn giản nhất, tiện, giá cả khá đa dạng, từ bèo bèo chậm thì 4-5$/tháng cũng có như hotspotshield, anchor vpn hoặc xịn tốc độ nhanh như Pure VPN giá khoảng 9.99$/tháng. Có thể tham khảo thêm ở đây: http://www.pcmag.com/article2/0,2817,2403388,00.asp
Tuy nhiên xài VPN mua thì đôi lúc tốc độ sẽ chậm rồi lại nhanh rồi lại chậm, do thực tế là các VPN mua hầu hết là nhiều account VPN xài chung một VPN Gateway Server. Cái nào mà nhà cung cấp nó warranty tốc độ thì giá hơi cao :)

2. Tự cài lên VPS ( Virtual Private Server - máy chủ ảo ): cách này thì tiện cho bạn nào đã có VPS ở nước ngoài thì có thể tận dụng để mở VPN hoặc là có thể tận dụng các VPS miễn phí ( được khuyến mãi ) để mở VPN xài miễn phí luôn :) dĩ nhiên để làm việc này cần chút ít kiến thức kỹ thuật :))
Cái lợi là VPN sẽ chỉ có mình bạn xài nên băng thông VPS có nhiêu thì bạn xài VPN có bấy nhiêu. Mền dùng VPN tự tạo này quất Dota 2 ầm ầm ko lag :)

Nếu mua thì coi ở link trên rồi vô trang chủ của thằng bán VPN mua thôi :)

Cách cài Open VPN  trên Digital Ocean VPS để có VPN free 2 tháng

Ở dưới đây hướng dẫn cách cài Open VPN lên VPS của Digital Ocean để xài free 2 tháng, nếu bạn click vào link (affiliate) dưới đây để đăng kí VPS trên Digital Ocean thì bạn sẽ nhận dc 10$ free, đủ xài 2 tháng VPS gói thấp nhất (5$/tháng khoảng 100k VND/tháng), được 1000GB băng thông mỗi tháng, nhưng tốc độ nhanh bằng VPN mua giá 10$ tháng ( do VPN tự tạo thì có mình bạn dùng thôi, còn VPN kia mua thường là đồ xài chung )



Link đăng kí account Digital Ocean
https://www.digitalocean.com/?refcode=8c378af87286



Đăng ký thì cứ như bình thường thôi, tuy nhiên Digital Ocean yêu cầu bạn phải add thẻ thanh toán quốc tế ( VISA hay Master Card ) để kích hoạt account. Bạn cứ add vì xài hết 10$ thì destroy cái VPS là được :) còn bạn nào muốn xài tiếp sau 2 tháng free thì hàng tháng DO sẽ tự động charge 5$ vào thẻ

Sau khi đã có account Digital Ocean thì bạn tiến hành tạo VPS ( bên Digital Ocean nó gọi VPS là droplets )

Có hướng dẫn từng bước tại đây: https://www.digitalocean.com/community/tutorials/how-to-create-your-first-digitalocean-droplet-virtual-server

Chú ý tới bước Select Droplet Image tức là bước chọn hệ điều hành cài đặt lên VPS thì nhớ chọn CentOS 6.5 x64 
Do hướng dẫn này dựa trên HDH này để thực hiện



Sau khi tạo VPS thì thông tin truy cập server sẽ được gửi qua mail, vô mail để lấy thông tin truy cập. Thông tin truy cập thực ra là SSH account tức là giao diện dòng lệnh truy cập từ xa trên Linux




Cài đặt Open VPN để tạo VPNSau khi có thông tin truy cập thì bạn vô Digital Ocean Control panel vô droplet và chọn mục Access



Click console access để truy cập VPS qua giao diện dòng lệnh, khi được hỏi login thì gõ root , rồi khi được hỏi password thì gõ password ở trong mail vô


Khi vô được thì sẽ có giao diện dòng lệnh kiểu như vầy

[root@xnohat ~]# _

Với đấu nhắc lệnh nháy nháy :)

Rồi giờ thì thực hiện gõ vào từng lệnh sau

wget http://swupdate.openvpn.org/as/openvpn-as-2.0.26-CentOS6.x86_64.rpm

Bấm enter, chờ lệnh chạy xong về lại dấu nhắc ở trên
( chú ý: ai chạy lệnh trên mà bị báo là command not found thì chạy lệnh này rồi chạy lại lệnh trên
yum install wget )

yum localinstall openvpn-as-2.0.17-CentOS6.x86_64.rpm

Bấm enter, chờ lệnh chạy xong về lại dấu nhắc ở trên

passwd openvpn

Bấm enter, sẽ thấy hiện ra lệnh yêu cầu nhập mật khẩu cho user openvpn, đây chính là account truy cập vpn của bạn

[root@xnohat ~]# passwd openvpn
Changing password for user openvpn.
New password:

Sau khi nhập mật khẩu lần 1 và lần 2 ( nhập lại ) thì sẽ có thông báo tạo mật khẩu thành công

[root@xnohat ~]# passwd openvpn
Changing password for user openvpn.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Ok vậy là cài xong, bây giờ vô giao diện web click click dễ ẹc hơn :)

Trước tiên bạn cần quay trở lại droplet control panel để coi cái dòng được khoanh vuông dưới đây


Dòng khoanh đỏ chính là Địa chỉ IP của VPS, bạn ghi lại địa chỉ IP này.

Sau đó gõ vô thanh địa chỉ của trình duyệt:

https://địa_chỉ_ip_của_vps:943

Sẽ có thông báo lỗi kiểu kiểu như vầy, bạn kiếm cái nút hay link có chữ proceed... hay continue ...




Click vô để truy cập tiếp . Lỗi này là do cái chứng chỉ https của vps của bạn là hàng tự tạo nên trình duyệt nó cảnh báo

Bạn sẽ thấy giao diện đăng nhập trang client Open VPN.



Nhập username là openvpn và password là pass mà bạn đã tạo khi nãy ở dòng lệnh


Trang này sẽ cho bạn tải các phần mềm để kết nối Tới VPN của bạn. ví dụ Windows thì tải link đầu tiên.

Đối với Windows hay Mac thì bạn tải ở link trong trang trên sẽ tự động kèm theo thông tin cấu hình trực tiếp kết nối vô VPN này rồi nên không cần làm gì thêm, tải về cài vô thôi.

Sau khi cài thì ở thanh đồng hồ của Windows sẽ xuất hiện icon của OpenVPN nhấp phải vô đó để hiện menu



Click Connect to địa_chỉ_IP_VPS_của_bạn để kết nối vô VPN

Nhập username và mật khẩu của account openvpn


Rồi bấm connect ( nó có hỏi gì nữa thì cứ ok ok ok )

Khi kết nối thành công xong thì sẽ thấy có cái thông báo



Là đã kết nối thành công tới VPN rồi đó

vô thử trang http://www.whatismyip.com để coi IP đã bị đổi chưa


He he, địa chỉ IP giờ đã đổi thành địa chỉ IP ở Singapore. À lúc tạo droplet bạn có quyền chọn DataCenter tức là nơi đặt VPS của bạn, nếu ở Singapore thì IP của bạn sẽ là ở Singapore, ở New York thì sẽ ở Mỹ ... etc tùy bạn chọn :)

Đối với việc kết nối trên Android hay iOS thì bạn cần vô trang quản lý ở trên rồi tải app cài vô máy. Sau khi cài thì vô lại trang quản lý để tải file profile ( *.opvn ) rồi chọn mở file bằng app OpenVPN là vô được VPN . Mền để dành cho các bạn tự mò :))

Tận hưởng kết nối an toàn VPN của riêng bạn đi nhé ;)

xnohat

25 comments:

  1. dạ bài viết giúp mở mang kiến thức

    ReplyDelete
  2. VPN (tạo bằng VPS) đặt ở nước ngoài
    Đứt cáp thì băng thông đi nước ngoài bị nghẽn. Vậy thì xài VPS trong trường hợp này liệu có ích lợi gì về mặt tốc độ?

    ReplyDelete
  3. Cho e hỏi thêm cái khoản vps, sau 2 tháng free VPS, destroy VPS xong, thẻ thanh toán của mình còn dùng để đăng kí tài khoản khác được không ạ.

    ReplyDelete
  4. Thanks a, mạng nhanh hẳn =))

    ReplyDelete
  5. sao nó không nhận Debit card của em nhỉ, cứ đòi credit card thì kiếm đâu ra :D

    ReplyDelete
  6. chưa làm được card :( !! thanks anh!

    ReplyDelete
  7. Thanks xnohat bài viết hay và bổ ích cho các newbie. Mình xin phân tích tý. Giả sử mình dùng cáp quang tại nhà. Fiber Viettel 12Mb/s đây là tốc độ nội mạng còn ngoại mạng thì mấy trăm Kb/s nói chung nhỏ mà không cam kết tốc độ gì hết, nhiều người dùng thì chịu chậm.
    Cái cần nói là băng thông quốc tế đã nhỏ rổi mà dứt cáp thì còn tệ hơn nữa vì sẽ ưu tiên cho các kết nói có cam kết 1Mb/s hay 1,5Mb/s. Vì vậy nếu đạt VPS tại Sing này Mỹ thì người dùng cá nhân chịu chết vì không thế cải thiện --> thắt cổ chai.
    Nến VPS đạt tại Việt nam và mình tận dụng cổng băng thông lớn của nó đễ đi quốc tế thì good nhưng VPS tại Việt Nam không có free.

    ReplyDelete
  8. Bài viết thiếu phần install wget nên nhiều ae ko chạy được.
    Dòng lệnh:
    yum install wget
    Còn nữa là phần port 943 làm sao tạo nhỉ? Mình nghĩ đây là hướng dẫn cơ bản nên có 1 số chi tiết nhỏ bị anh bỏ qua, mong anh bổ sung để ae non-it học hỏi thêm.
    Thanks.

    ReplyDelete
  9. down file profile ( *.opvn ) o dau v?

    ReplyDelete
  10. A ơi thiết lập làm sao để e connect với openvpn android với
    https://80.79.23.116
    Pass minhtruc

    ReplyDelete
  11. Mình chuyển tcp thành udp và cổng mặc định 443 thành 9201 thế nào anh nhỉ !!!

    ReplyDelete
  12. Anh cho em hỏi, vps đang làm server chạy site wordpress thì làm vpn đc ko vậy?

    ReplyDelete
  13. Bài viết rất chi tiết. Cám ơn bạn

    ReplyDelete
  14. Xin hỏi Phúc làm sao thay địa chỉ ovpn server khi chạy app? Tôi thử thay đổi toàn bộ IP trong client.ovpn nhưng khi run thi vẫn hiện IP cũ.
    Vì tôi cài openvpn lên 1 centos server dùng privateIP, tất cả port cần phục vụ cho ovpn đều được NAT qua router.

    ReplyDelete
  15. Xin hỏi Phúc làm sao thay địa chỉ ovpn server khi chạy app? Tôi thử thay đổi toàn bộ IP trong client.ovpn nhưng khi run thi vẫn hiện IP cũ.
    Vì tôi cài openvpn lên 1 centos server dùng privateIP, tất cả port cần phục vụ cho ovpn đều được NAT qua router.

    ReplyDelete
  16. Xin cảm ơn hướng dẫn của bạn, tôi đã làm theo và thành công mặc dù chả biết tí j về tin học cả :) thanks alot

    ReplyDelete
  17. Xin cảm ơn hướng dẫn của bạn, tôi đã làm theo và thành công mặc dù chẳng biết tí j về tin học cả, thanks alot !

    ReplyDelete
  18. Xin cảm ơn tôi làm đc rồi

    ReplyDelete
  19. a cho em hỏi vậy cái server vpn đó nó có log lại địa chỉ IP nguồn của mình ko??

    ReplyDelete
  20. có thể chuyển qua dùng VPN của FlyVPN, nhanh và ổn định

    ReplyDelete
  21. e cung da su dung nhung no gap chut van de
    e muon tao mot tai khon thi lm nhu nao

    ReplyDelete

Quí đọc giả đọc xong, nếu thấy chút thú vị thì tác giả cũng mong được chút comment lấy làm kích lệ