網路穿牆術:使用VPN來突破網路限制(三) - stunnel篇
STunnel的作用是將在個人的電腦要送到外部SOCKS伺服器的資料,經過加密的步驟送出,在送給SOCKS伺服器前才解密。 如第一篇的圖所示,SOCKS伺服器本身並不直接接收個人電腦的資料,而是接收stunnel解密後的資料。Stunnel分二部份,一部份是伺服器端,在此次的實作中,STunnel伺服器和SOCKS伺服器是裝在同一台,這表示SOCKS伺服器只接受Stunnel伺服器的要求,故SOCKS只允許127.0.0.1來的資料即可。 而在個人電腦端的STunnel,則扮演著Client端的角色。負責將資料送出去前加密。加密的動作是透過SSL而且在此實作中,我們在Stunnel的伺服器和用戶端,皆產生一個新的私鑰,以確保資料的保密性。 STunnel最重要的就是私鑰,下載時附的私鑰是一點安全性也沒有的,故我們要用OpenSSL先產生私鑰。以下的例子為產生10年期的私鑰: d:\openssl\> openssl req -new -x509 -days 3650 -nodes -config ./openssl.cnf -out s em -keyout stunnel.pem Loading 'screen' into random state - done Generating a 1024 bit RSA private key .........++++++ ....................++++++ unable to write 'random state' writing new private key to 'stunnel.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a def...