半肾
精华
|
战斗力 鹅
|
回帖 0
注册时间 2008-4-20
|
说明: (1)本文仅就内网使用PD的可行性进行说明(主要目的在于提出思路),
(2)条件可能对部分人来说相当苛刻, 难以接受(实用度极其低下)
(3)如果有更好的方法请告知, 非常感谢.
注: 有同学提到OpenVPN, 因为本人的vps比较烂无法安装OpenVPN, vps提供商也明确表示OpenVPN无法使用.
另外我本人没有OpenVPN的经验, 只对SSH相对熟悉.
适用人群
内网用户, 有一个速度较快的ssh帐号(可能需要root来修改配置文件)
基本思路
通过公网跳板机来获取可监听的端口, 从而可以使用PD/share, emule获得highID, BT获得非阻塞外网IP.
原理图如下

软件准备
(1)SSH客户端
可以使用Putty, 或者msys/cygwin自带的命令行版本ssh, 又或者其他的图形工具. 我在实验过程中使用的是msys,
因为我日常工作使用已经装了, 推荐大家使用Putty, 比较方便.
下文介绍使用的PuttyPortable可以从这里得到
http://portableapps.com/apps/internet/putty_portable
(2)Proxifier
全局代理工具, 帮助PD使用SSH建立的sock5代理. 当然你也可以使用其他的工具.
软件可以从官网得到
http://www.proxifier.com/download.htm
这里使用的是Proxifier Portable Edition v3.15(下载那个zip包)
这个软件是商业软件, 这里给个注册机下载(可以自己找)
http://pan.baidu.com/share/link?shareid=63293&uk=69340491
假设
(1)ssh帐号
用户名:pduser
密码:123
服务器地址: 101.0.0.1
(2)PD监听端口:20816
SSH动态转发端口:9055
步骤
**************配置PuttyPortable*******************
下载完后解压安装
运行PuTTYPortable.exe

Session 配置服务器地址

Connection->Data 填写自动登录用户名

Connection->SSH 设置不请求shell

Connection->SSH->Tunnels 设置转发
(1)设置9055动态转发
按照图中配置, 然后点Add

(2)设置20816反向转发
按照图中配置, 然后点Add

(3)最终效果

Seesion 保存设置(非常重要, 不然就白填了..)

点击Open

输入密码(注意, 密码是不显示出来的, 有可能会对部分同学造成困惑)
到此为止, ssh的设置已经完毕
(这里需要指出的是服务器的/etc/ssh/sshd_config必须要有GatewayPorts yes的设置, 这也是为什么可能需要root的原因,
改完了以后记得重启sshd, service sshd restart)
经测试putty可能存在crash断开连接的情况, [strike]msys自带的ssh非常稳定[/strike], 这里提供下启动脚本
#!/bin/sh
ssh -fNTD 9055 pduser@101.0.0.1
ssh -fNTgR 0.0.0.0:20816:127.0.0.1:20816 pduser@101.0.0.1
推荐使用SecureCRT来做端口转发
******************配置Proxifier************************
下载完后解压,用注册机搞定
运行Proxifier.exe

Profile->ProxyServers, 点击Add, 按照图中配置,点击OK


Profile->Proxification Rules, 删除localhost规则, 点击Add, 按照图中配置,点击OK


******************开启PD*********************
 |
|