@Dao_An: Bạn nhầm lẫn giữa hai khái niệm mã hóa bằng SSL/TLS (https) và qua VPN rồi. Với TLS, mọi dữ liệu trao đổi giữa client và server được mã hóa. Tuy nhiên, các server nằm trên đường đi giữa client và server vẫn biết được target IP address của gói dữ liệu. Và trong thực tế, hình thức này không bảo đảm đủ tính bảo mật vì các server trung gian vẫn có thể giải mã các dữ liệu trung gian và mã hóa lại bằng các certificate của chính nó. Ví dụ như sau:
Giao tiếp dùng https theo lý thuyết:
Client ==> Proxy ==> Destination Server
Thực tế:
Client ==> Proxy <== Destination Server
Thành ra cả Client và Destination Server đều nghĩ là thông tin của mình được giao và nhận đúng nơi, nhưng thật ra là nó chỉ giao tiếp với Proxy ở giữa, Proxy thay thế certificate của Destination Server bằng certificate của riêng nó và làm cho end user có cảm giác rằng dữ liệu của mình vẫn an toàn. Nhưng thực ra nội dung của nó hoàn toàn có thể bị lộ tại Proxy Server (Tôi đã thấy qua cách thiết lập này và nếu không để ý đến các certificate - đại đa số người dùng không ai để ý đến cái này - thì bạn không nhận ra là dữ liệu của mình đã đi qua Proxy. Và thực ra nếu có để ý đi nữa nhưng lỡ lần đầu bạn cho trình duyệt của bạn trust cái certificate của Proxy thì kết quả cũng vậy)
Đó là lý do bạn cần thêm dịch vụ VPN, VPN sẽ mã hóa toàn bộ dữ liệu giữa Client và Destination Server, kể cả target IP address. Vì vậy, cho dù có các Proxy thì chúng cũng chỉ biết có việc trao đổi dữ liệu giữa Client và VPN Server mà thôi. Vì vậy, việc Client truy cập Server nào chỉ được biết bởi VPN Server, còn các Proxy Server không thể biết được. Đây là khái niệm gọi là tunneling của VPN.
Tuy nhiên, tôi cũng không nghĩ rằng cách làm của bạn @TyE là tốt vì các lý do sau đây: Bạn tạo VPN để mọi người truy cập Web đen, tôi nghĩ là chúng ta không nên khuyến khích việc này. Thứ nữa là trong thực tế thì một server của bạn có lẽ đủ cho bạn dùng trong một số trường hợp, nhưng nếu có nhiều người dùng và nhu cầu băng thông cao thì server của bạn có lẽ sẽ chết sớm và không giải quyết được vấn đề như bạn @Dao_An đã nói.