Thursday, March 29, 2012
Tuesday, February 28, 2012
Julia ?
我们需要有一门开源语言,这门语言在行业内是被公认许可的(基于许可证情况下)。我们希望这门语言能够有C语言一样的速度,Ruby一样得活力(dynamism)。我们需要像homoiconic一样的语言,它像Lisp一样有宏,但是也像Matlab一样有显而易见、熟悉的数学标记。
我们希望传统的编程语言像Python一样适用,像R语言一样适用于统计,像Perl一样适用于字符串处理,像线性代数Matlab一样强大,像 DOS命令一样擅长粘合程序。这似乎看起来简单易学,但是想要让黑客乐意去迎合它却不是简单之事。我们希望它具有互动性且能够被编译。
我们希望传统的编程语言像Python一样适用,像R语言一样适用于统计,像Perl一样适用于字符串处理,像线性代数Matlab一样强大,像 DOS命令一样擅长粘合程序。这似乎看起来简单易学,但是想要让黑客乐意去迎合它却不是简单之事。我们希望它具有互动性且能够被编译。
Sunday, February 26, 2012
西游记杂感
孙悟空七十二变本事很大,是因为好学。因为当年下决心拜师学艺,师傅曾问他想学三十六变还是七十二变,他选择七十二变。
孙悟空闹上天宫,被如来收服,是为一山还有一山高,也可以理解为个人能耐再大,也斗不过组织。
悟空愿保唐僧西天取经,说明建功立业还是要靠加入组织,或者需要有团队合作精神。唐僧的前世是神仙,所以最好是选择有背景的团队。
孙悟空闹上天宫,被如来收服,是为一山还有一山高,也可以理解为个人能耐再大,也斗不过组织。
悟空愿保唐僧西天取经,说明建功立业还是要靠加入组织,或者需要有团队合作精神。唐僧的前世是神仙,所以最好是选择有背景的团队。
Saturday, February 18, 2012
perl 中文处理技巧【转载】
perl对中文的处理(encode,decode) 最近在处理中文时遇到乱码的问题,google了一下,发现下面这篇文章。茅塞顿开!
Perl从5.6开始已经开始在内部使用utf8编码来表示字符,也就是说对中文以及其他语言字符的处理应该是完全没有问题的。我们只需要利用好Encode这个模块便能充分发挥Perl的utf8字符的优势了。
下面就以中文文本的处理为例进行说明,比如有一个字符串"测试文本",我们想要把这个中文字符串拆成单个字符,可以这样写:
use Encode;
$dat="测试文本";
$str=decode("gb2312",$dat);
@chars=split //,$str;
foreach $char (@chars) {
print encode("gb2312",$char),"\n";
}
结果大家试一试就知道了,应该是令人满意的。
这里主要用到了Encode模块的decode、encode函数。要了解这两个函数的作用我们需要清楚几个概念:
1、Perl字符串是使用utf8编码的,它由Unicode字符组成而不是单个字节,每个utf8编码的Unicode字符占1~4个字节(变长)。
2、 进入或离开Perl处理环境(比如输出到屏幕、读入和保存文件等等)时不是直接使用Perl字符串,而需要把Perl字符串转换成字节流,转换过程中使用 何种编码方式完全取决于你(或者由Perl代劳)。一旦Perl字符串向字节流的编码完成,字符的概念就不存在了,变成了纯粹的字节组合,如何解释这些组 合则是你自己的工作。
我们可以看出如果想要Perl按照我们的字符概念来对待文本,文本数据就需要一直用Perl字符串的形式存放。但 是我们平时写出的每个字符一般都被作为纯ASCII字符保存(包括在程序中明文写出的字符串),也就是字节流的形式,这里就需要encode和 decode函数的帮助了。
encode函数顾名思义是用来编码Perl字符串的。它将Perl字符串中的字符用指定的编码格式编码,最终转化为字节流的形式,因此和Perl处理环境之外的事物打交道经常需要它。其格式很简单:
$octets = encode(ENCODING, $string [, CHECK])
$string: Perl字符串
encoding: 是给定的编码方式
$octets: 是编码之后的字节流
check: 表示转换时如何处理畸变字符(也就是Perl认不出来的字符)。一般不需使用
编码方式视语言环境的不同有很大变化,默认可以识别utf8、ascii、ascii-ctrl、
iso-8859-1等。
decode函数则是用来解码字节流的。它按照你给出的编码格式解释给定的字节流,将其转化为使用utf8编码的Perl字符串,一般来说从终端或者文件取得的文本数据都应该用decode转换为Perl字符串的形式。它的格式为:
$string = decode(ENCODING, $octets [, CHECK])
$string、ENCODING、$octets和CHECK的含义同上。
现 在就很容易理解上面写的那段程序了。因为字符串是用明文写出的,存放的时候已经是字节流形式,丧失了本来的意义,所以首先就要用 decode函数将其转换为Perl字符串,由于汉字一般都用gb2312格式编码,这里decode也要使用gb2312编码格式。转换完成后Perl 对待字符的行为就和我们一样了,平时对字符串进行操作的函数基本上都能正确对字符进行处理,除了那些本来就把字符串当成一堆字节的函数(如vec、 pack、unpack等)。于是split就能把字符串切成单个字符了。最后由于在输出的时候不能直接使用utf8编码的字符串,还需要将切割后的字符 用encode函数编码为gb2312格式的字节流,再用print输出。
Monday, February 13, 2012
虚拟化服务器集群的搭建与虚拟机迁移
| 来源:Linux社区 作者:ssdut_virt |
硬件: Dell PowerEdge R200 4台
Dell PowerEdge T100 1台
软件: Ubuntu Server 10.04 、Xen 4.01 、Ghost For Linux
集群架构:
MainNode: No.1 Blade Server
OS: Ubuntu Server 10.04
Outer IP: xxx.xxx.xxx.xxx
Inner IP: 192.168.100.1
Node1: No.2 Blade Server
OS: Ubuntu Server 10.04 + Xen 4.01
Inner IP: 192.168.100.2
Node2: No.3 Blade Server
OS: Ubuntu Server 10.04 + Xen 4.01
Inner IP: 192.168.100.3
Node3: No.4 Blade Server
OS: Ubuntu Server 10.04 + Xen 4.01
Inner IP: 192.168.100.4
SharedStorageCentre: Tower Server
OS: Ubuntu Server 10.04
Inner IP: 192.168.100.5
首先安装配置好一台服务器的系统环境,然后使用G4L(Ghost For linux)将安装好的系统直接推到其它机器上,由于我使用Xen虚拟化环境,所以推系统时要求底层硬件相同;如果是在非虚拟化环境下,对于硬件一致性要求有待读者验证。
注:
1. 这里R200与T100需要分别安装,不能直推;
2. 推系统前先安装ssh,在我设计的网络拓扑结构中需要用ssh进行节点间访问;
3. 在Dell PowerEdge上安装Xen虚拟化环境时,安装后启动时会出现卡在“*Speech-dispatcher configured for user sessions”,应对办法是禁用图形界面。$vi /etc/X11/default-display-manager ,把里面内容改为false。此时,重启后会卡在“Checking battery state”,这时你已经成功启动Xen,只需要使用其它终端即可登录,例如Alt+F2。
4. G4L的使用将在后文给出。
在每台用G4L推装的系统上,需要进行以下三点修改:
一、更改主机名,方便日后使用。具体步骤如下:
1.启用root用户
运行命令 sudo su
2.以root用户身份登录
1)编辑文件/etc/hosts 将下面的一行
127.0.1.1 xxxxx
替换为
127.0.1.1 newhostname
2) 编辑 /etc/hostname文件 删除该文件的所有内容,添加newhostname
3)运行一下命令 hostname newhostname
3.退出root用户 改用一般用户登录即可
注:其中 xxxxx为原来的主机名 newhostname为你想修改的主机名
二、更改各个节点的IP,由于各个节点的系统是由一台Copy的,这时会出现默认的第一块网卡不是eth0的现象。例如:我的机器是双网卡,推完系 统后,输入ifconfig出现eth2、eth3,而eth0、eth1不见了;这时,编辑 /etc/udev/rules.d/70-persistent-net.rules 文件,发现eth0-eth3的信息都存在,要做的是删掉 eth0、eth1,并把eth2、eth3改为eth1、eth2,重启即可。
三、推装的系统还有可能出现网络不通的现象,不要着急,输入route,如果看到有两个default项,删除peth对应项即可。执行命令 sudo route del default dev peth0 。原因是机器路由表遇到两个default,不知该向哪发出数据包。
在我设计的网络拓扑环境下,内部节点不能访问外网,所以在主节点进行如下操作,利用主节点双网卡进行路由:
iptables -A POSTROUTING -t nat -s 192.168.100.0/24 -o eth1 -j SNAT --to-source xxx.xxx.xxx.xxx(Outer IP)
echo 1 > /proc/sys/net/ipv4/ip_forward
进行到这一步,你的集群系统环境基本搭建完毕,下面需要搭建共享存储器,以便虚拟机进行迁移。虚拟机迁移有存储还原迁移法和动态迁移法,我使用动态迁移法。
首先,在/etc/hosts中 添加所有节点的IP和节点名,这样可以使用节点名在各个节点之间进行访问了
192.168.100.1 MainNode
192.168.100.2 Node1
192.168.100.3 Node2
192.168.100.4 Node3
192.168.100.5 SharedStorageCentre
SharedStorageCentre:
1. 执行sudo apt-get install nfs-kernel-server
2. sudo mkdir /xen-storage
3. 编辑/etc /exports 文件,加入下面一行来导出存储器目录:
# /xen-storage *(rw,sync,no_root_squash)
Node1-Node3:
1. sudo mkdir /xen-storage
2. 执行临时挂载命令sudo mount SharedStorageCentre:/xen-storage /xen-storage
3. 在/etc/fstab 中添加 SharedStorageCentre:/xen-storage /xen-storage nfs defaults 0 0 以便重启后自动挂载
4. 需要注意的是,要想改变Domain的运行地点,必须修改默认的Xend配置文件/etc/xen/xend-config.sxp。此外,要使所做的修改在主机上生效,必须重新启动Xen 服务器所在的主机。 我们需要修改以下配置:
Xend-relocation-server :该标志用于启用/取消服务器迁移功能。默认时,该标志设为no ,即不允许改变服务器的位置。在迁移过程中,Domain虚拟内存将变成未经任何加密的原始形式。所以,在不可信的网络上启用该选项时一定要倍加小心。
Xend-relocation-port :Xend守护进程通过该端口进行迁移。这个端口的缺省值是8002。
另外,还有两个无需修改的参数,当在企业部署环境进行迁移时也要注意一下:
Xend-relocation-address :该标志将Domain的迁移限制到特定的接口上。指定的地址是侦听用于Domain迁移的入局连接的接口地址。只有启用Xend-relocation-server参数后,才会用到这个标志。默认为允许所有接口。
Xend-relocation-hosts-allow:这个标志定义了允许跟迁移端口进行通信的主机。其值为一个由空格分隔的正则表达式序列。如果该值为空,那么将允许全部输入连接,否则,该值要么与一个IP地址相匹配,要么与一个完整域名相匹配。
5. 建立多个运行在NFS 服务器存储器上的Xen Domain,并在Node1-Node3上启动各自对应的客户机Domain.具体方法是在Node1-Node3上建立并运行虚拟机,其路径为/xen-storage
6. 动态迁移命令:
# xm migrate –live DomName destinyIP
Dell PowerEdge T100 1台
软件: Ubuntu Server 10.04 、Xen 4.01 、Ghost For Linux
集群架构:
MainNode: No.1 Blade Server
Outer IP: xxx.xxx.xxx.xxx
Inner IP: 192.168.100.1
Node1: No.2 Blade Server
OS: Ubuntu Server 10.04 + Xen 4.01
Inner IP: 192.168.100.2
Node2: No.3 Blade Server
OS: Ubuntu Server 10.04 + Xen 4.01
Inner IP: 192.168.100.3
Node3: No.4 Blade Server
OS: Ubuntu Server 10.04 + Xen 4.01
Inner IP: 192.168.100.4
SharedStorageCentre: Tower Server
OS: Ubuntu Server 10.04
Inner IP: 192.168.100.5
首先安装配置好一台服务器的系统环境,然后使用G4L(Ghost For linux)将安装好的系统直接推到其它机器上,由于我使用Xen虚拟化环境,所以推系统时要求底层硬件相同;如果是在非虚拟化环境下,对于硬件一致性要求有待读者验证。
注:
1. 这里R200与T100需要分别安装,不能直推;
2. 推系统前先安装ssh,在我设计的网络拓扑结构中需要用ssh进行节点间访问;
3. 在Dell PowerEdge上安装Xen虚拟化环境时,安装后启动时会出现卡在“*Speech-dispatcher configured for user sessions”,应对办法是禁用图形界面。$vi /etc/X11/default-display-manager ,把里面内容改为false。此时,重启后会卡在“Checking battery state”,这时你已经成功启动Xen,只需要使用其它终端即可登录,例如Alt+F2。
4. G4L的使用将在后文给出。
在每台用G4L推装的系统上,需要进行以下三点修改:
一、更改主机名,方便日后使用。具体步骤如下:
1.启用root用户
运行命令 sudo su
2.以root用户身份登录
1)编辑文件/etc/hosts 将下面的一行
127.0.1.1 xxxxx
替换为
127.0.1.1 newhostname
2) 编辑 /etc/hostname文件 删除该文件的所有内容,添加newhostname
3)运行一下命令 hostname newhostname
3.退出root用户 改用一般用户登录即可
注:其中 xxxxx为原来的主机名 newhostname为你想修改的主机名
二、更改各个节点的IP,由于各个节点的系统是由一台Copy的,这时会出现默认的第一块网卡不是eth0的现象。例如:我的机器是双网卡,推完系 统后,输入ifconfig出现eth2、eth3,而eth0、eth1不见了;这时,编辑 /etc/udev/rules.d/70-persistent-net.rules 文件,发现eth0-eth3的信息都存在,要做的是删掉 eth0、eth1,并把eth2、eth3改为eth1、eth2,重启即可。
三、推装的系统还有可能出现网络不通的现象,不要着急,输入route,如果看到有两个default项,删除peth对应项即可。执行命令 sudo route del default dev peth0 。原因是机器路由表遇到两个default,不知该向哪发出数据包。
在我设计的网络拓扑环境下,内部节点不能访问外网,所以在主节点进行如下操作,利用主节点双网卡进行路由:
iptables -A POSTROUTING -t nat -s 192.168.100.0/24 -o eth1 -j SNAT --to-source xxx.xxx.xxx.xxx(Outer IP)
echo 1 > /proc/sys/net/ipv4/ip_forward
进行到这一步,你的集群系统环境基本搭建完毕,下面需要搭建共享存储器,以便虚拟机进行迁移。虚拟机迁移有存储还原迁移法和动态迁移法,我使用动态迁移法。
首先,在/etc/hosts中 添加所有节点的IP和节点名,这样可以使用节点名在各个节点之间进行访问了
192.168.100.1 MainNode
192.168.100.2 Node1
192.168.100.3 Node2
192.168.100.4 Node3
192.168.100.5 SharedStorageCentre
SharedStorageCentre:
1. 执行sudo apt-get install nfs-kernel-server
2. sudo mkdir /xen-storage
3. 编辑/etc /exports 文件,加入下面一行来导出存储器目录:
# /xen-storage *(rw,sync,no_root_squash)
Node1-Node3:
1. sudo mkdir /xen-storage
2. 执行临时挂载命令sudo mount SharedStorageCentre:/xen-storage /xen-storage
3. 在/etc/fstab 中添加 SharedStorageCentre:/xen-storage /xen-storage nfs defaults 0 0 以便重启后自动挂载
4. 需要注意的是,要想改变Domain的运行地点,必须修改默认的Xend配置文件/etc/xen/xend-config.sxp。此外,要使所做的修改在主机上生效,必须重新启动Xen 服务器所在的主机。 我们需要修改以下配置:
Xend-relocation-server :该标志用于启用/取消服务器迁移功能。默认时,该标志设为no ,即不允许改变服务器的位置。在迁移过程中,Domain虚拟内存将变成未经任何加密的原始形式。所以,在不可信的网络上启用该选项时一定要倍加小心。
Xend-relocation-port :Xend守护进程通过该端口进行迁移。这个端口的缺省值是8002。
另外,还有两个无需修改的参数,当在企业部署环境进行迁移时也要注意一下:
Xend-relocation-address :该标志将Domain的迁移限制到特定的接口上。指定的地址是侦听用于Domain迁移的入局连接的接口地址。只有启用Xend-relocation-server参数后,才会用到这个标志。默认为允许所有接口。
Xend-relocation-hosts-allow:这个标志定义了允许跟迁移端口进行通信的主机。其值为一个由空格分隔的正则表达式序列。如果该值为空,那么将允许全部输入连接,否则,该值要么与一个IP地址相匹配,要么与一个完整域名相匹配。
5. 建立多个运行在NFS 服务器存储器上的Xen Domain,并在Node1-Node3上启动各自对应的客户机Domain.具体方法是在Node1-Node3上建立并运行虚拟机,其路径为/xen-storage
6. 动态迁移命令:
# xm migrate –live DomName destinyIP
Sunday, February 12, 2012
Open FTP port in Linux
Procedure
Add support for FTP connection tracking.Task load required iptables modules
First login as the root user.Next type the following command to load two iptables modules:
# modprobe ip_conntrack
# modprobe ip_conntrack_ftp Now add following iptables rules for incoming request on port 21 (open port 21) to your script:
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 21 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
AND:
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 1024:65535 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
AND:
iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 20 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 20 -m state --state ESTABLISHED -j ACCEPT
Scripts:
sudo modprobe ip_conntracksudo modprobe ip_conntrack_ftp
sudo iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 21 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 1024:65535 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp -s 202.54.1.20 --sport 20 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 202.54.1.20 --dport 20 -m state --state ESTABLISHED -j ACCEPT
XP远程桌面应用
XP远程桌面应用
出于安全考虑我的个人资料、游戏娱乐、工作数据分别保存在家里和办公室5台电 脑,数年的时间证明这方案还是不错的,暂时没有重要的数据丢失的经历。随着电脑数量增加,资料保存就越来越分散,安全提高的同时效率也降低,有时为一些资 料经常要在几台电脑之间转来转去,既劳累又没效率。一款出色的远程管理软件我的问题无疑是迎刃而解。
家里和办公室都是不同外网IP的局域网,笔记 本用的是CDMA无线上网,三个工作组之间互相访问无疑VPN(Virtual Private Network)组建最适合,可惜技术门槛较高,一般要采用价格不菲的专业软件,姑且网段多电脑数量少购买VPN软件没有性价比,无耐之下只好放弃VPN 选择远程控制。远程控制软件总体分两类:1、收费的商业(共享)软件,如Symantec pcAnywhere、RemotelyAnywhere、Spytech NetVizor、波尔远程控制、远程控制任我行等。不管功能还是操作都非常优秀,唯一缺点就是要钱。2、完全免费型,如UltraVNC、红蜻蜓、灰鸽 子、冰河等。给人感觉就是“不正派”基本受到杀毒软件的封杀,说白就是所谓的“后门程序”。发现不少所谓的“商业破解版”其实就是挂着羊头卖狗肉,捆绑的 木马一般杀毒软件是查不出,一不小心随时成为别人的“鸡肋”,怕怕~~!
几经N次的下载测试均没有一款自己满意的远程控制软件,要么催促我购买正版,要么杀毒软件不停的吼叫声,更何况C/S(客户端/服务端)的形式不符合我的实在操作要求,再丰富的管理功能对我来说也是食之无味,弃之可惜。
忙大半天没任何收获,正想放弃时突然想起以前租用IDC服务器远程管理用的软件正是WinXP远程桌面,功能相对简单,整体上能满足我的要求,何况是免费的,决定是它!用了一个晚上时间终于把WinXP远程桌面连接设置全部完成。具体的设置方法通过教程方式与各位分享。
WinXP远程桌面连接的设置分三大步骤:
一、远程桌面设置:
1、建立远程管理用户(不建议使用默认的administrator账号),设定的密码长度尽量八位以上,设置时使用英文字母、数字和符号的组合,从而增强系统的安全性能。
2、在“系统属性”选择“允许用户远程连接到此计算机”,单击“选择远程用户”,如下图

“添加”——>输入刚才建立的系统管理账号——>单击“检查名称”,如下图

单击“确定”——再次“确定”设置完成。如下图

3、更改默认的3389端口。“开始”——>“运行”输入regedit进行注册表修改:
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
将PortNumber值改为自定义的数值,以免冲突最好不要设为低端端口,如7777(注意十六进制和十进制的区别,这里指的数值均指十进制)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
方法同上,上下两个portnumber的数值必须相同!如图

不懂设置的可直接下载“端口7777.rar”,解压后执行两个注册表文件即可。若要更改端口分别编辑文件将“"PortNumber"=dword:00001e61”其中“00001e61”改为相应的八位十六进制数值,具体换算方法可在系统的“计算器”(科学型)进行换算。
PS:注册表设置后必须重启电脑才能生效。
2008.06.20 update:补充一个3389端口修改程序,点击下载:ch3389.rar
4、防 火墙设置:WinXP自带防火墙设置方法:右单击“网上邻居”——>“本地连接”属性——>选择“高级”选项——>“设置”—— >“例外”——>“添加端口”——>“名称”输入远程桌面自定义端口、“端口号”输入7777——>选择“TCP”选项,如下 图:

单击“更改范围”——>选择“任何计算机(包括Internet上的计算机)”,如下图:

其它防火墙软件方法类似,只要开放7777端口或将WinXP远程桌面程序(默认路径C:\WINDOWS\system32\mstsc.exe)设置为“信任”名单即可。
5、 测试:在客户端依次打开“开始”——>“程序”——>“附件”——>“通信”——>“远程桌面连接”输入服务端IP+端口(如 192.168.1.101:7777),点击“连接”后弹出新窗口,你将看到一个WinXP登陆窗口即为设置成功。如下图

如果弹出错误的提示窗口请检查服务端的IP和端口是否设置确定。注意区分客户端口和服务端:上面进行一系列设置的是服务端也叫终端服务器,登陆的电脑简称客户端。如下图

6、远程桌面文件传送设置:运行“远程桌面连接”(C:\WINDOWS\system32\mstsc.exe)——>单击“选项”——>“本地资源”——>选择“磁盘驱动器”——>单击“连接”。如下图

在远程计算上的“我的电脑”里面就会出现本机各磁盘和远程计算机的硬盘各分区,可以在所有的分区里面任意打开、复制、粘贴操作。如下图

二、端口映射
内 网是局域网中的一员,是通过局域网连接广域网,两个不同网段的内网之间不能互访,通过端口映射将外网IP端口映射到内网电脑桌面远程端口(默认是3398 端口)即可解决问题。我的华为3com Aolynk BR204+路由器设置方法为:输入IP(这篇文章是在家里写的,是外网IP,呵呵~~)——>输入路由器系统相应的管理用户名和密码(强烈建议将 路由器系统的默认的账号密码改掉),如图

“高 级设置”——>“系统服务”——>“内部服务器IP”输入内网服务端的固定IP:192.168.1.100——>“服务名称”可以任 意输入——>“内部端口”和“外部端口”均为上面设定的端口数值:7777(其实我这里的并不是7777,安全起见该图片的端口数值特意打上马赛 克)。如图

设置完成后任何外网IP就能正常访问内网指定的服务端的远程桌面。开放端口映射会相对降低系统的安全,非必要千万不要映射多余的端口,切记!
三、动态域名(DDNS)
我 是用3M ADSL接入宽带,路由器每次拨号登陆ISP分配的IP地址都是动态的,通过动态域名系统访问远程桌面连接时,我只要输入域名就可以进行桌面连接而不用担 心每次IP的变动。花生壳目前还提供免费的动态域名服务,联网质量却越来越差,上次进行联网测试平均5-10分钟左断线一次,除非是VIP收费会员不推荐 使用花生壳。3322.org也是动态域名服务提供商的先锋者之一,目前的测试使用情况良好,相比花生壳网络质量有所提高,体积相对小巧玲珑。具体操作就 作详细介绍,大概是三个步骤:1注册登陆账号、2创建类似my.3322.org的动态域名、3下载客户软件并作相关设置即可。在DOS窗口PING其动 态域名,如果显示的IP正是本地网络外网IP即表示动态域名解析正常。
家里和办公室都是不同外网IP的局域网,笔记 本用的是CDMA无线上网,三个工作组之间互相访问无疑VPN(Virtual Private Network)组建最适合,可惜技术门槛较高,一般要采用价格不菲的专业软件,姑且网段多电脑数量少购买VPN软件没有性价比,无耐之下只好放弃VPN 选择远程控制。远程控制软件总体分两类:1、收费的商业(共享)软件,如Symantec pcAnywhere、RemotelyAnywhere、Spytech NetVizor、波尔远程控制、远程控制任我行等。不管功能还是操作都非常优秀,唯一缺点就是要钱。2、完全免费型,如UltraVNC、红蜻蜓、灰鸽 子、冰河等。给人感觉就是“不正派”基本受到杀毒软件的封杀,说白就是所谓的“后门程序”。发现不少所谓的“商业破解版”其实就是挂着羊头卖狗肉,捆绑的 木马一般杀毒软件是查不出,一不小心随时成为别人的“鸡肋”,怕怕~~!
几经N次的下载测试均没有一款自己满意的远程控制软件,要么催促我购买正版,要么杀毒软件不停的吼叫声,更何况C/S(客户端/服务端)的形式不符合我的实在操作要求,再丰富的管理功能对我来说也是食之无味,弃之可惜。
忙大半天没任何收获,正想放弃时突然想起以前租用IDC服务器远程管理用的软件正是WinXP远程桌面,功能相对简单,整体上能满足我的要求,何况是免费的,决定是它!用了一个晚上时间终于把WinXP远程桌面连接设置全部完成。具体的设置方法通过教程方式与各位分享。
WinXP远程桌面连接的设置分三大步骤:
一、远程桌面设置:
1、建立远程管理用户(不建议使用默认的administrator账号),设定的密码长度尽量八位以上,设置时使用英文字母、数字和符号的组合,从而增强系统的安全性能。
2、在“系统属性”选择“允许用户远程连接到此计算机”,单击“选择远程用户”,如下图
“添加”——>输入刚才建立的系统管理账号——>单击“检查名称”,如下图
单击“确定”——再次“确定”设置完成。如下图
3、更改默认的3389端口。“开始”——>“运行”输入regedit进行注册表修改:
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
将PortNumber值改为自定义的数值,以免冲突最好不要设为低端端口,如7777(注意十六进制和十进制的区别,这里指的数值均指十进制)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
方法同上,上下两个portnumber的数值必须相同!如图
PS:注册表设置后必须重启电脑才能生效。
2008.06.20 update:补充一个3389端口修改程序,点击下载:ch3389.rar
4、防 火墙设置:WinXP自带防火墙设置方法:右单击“网上邻居”——>“本地连接”属性——>选择“高级”选项——>“设置”—— >“例外”——>“添加端口”——>“名称”输入远程桌面自定义端口、“端口号”输入7777——>选择“TCP”选项,如下 图:
5、 测试:在客户端依次打开“开始”——>“程序”——>“附件”——>“通信”——>“远程桌面连接”输入服务端IP+端口(如 192.168.1.101:7777),点击“连接”后弹出新窗口,你将看到一个WinXP登陆窗口即为设置成功。如下图
如果弹出错误的提示窗口请检查服务端的IP和端口是否设置确定。注意区分客户端口和服务端:上面进行一系列设置的是服务端也叫终端服务器,登陆的电脑简称客户端。如下图
6、远程桌面文件传送设置:运行“远程桌面连接”(C:\WINDOWS\system32\mstsc.exe)——>单击“选项”——>“本地资源”——>选择“磁盘驱动器”——>单击“连接”。如下图
在远程计算上的“我的电脑”里面就会出现本机各磁盘和远程计算机的硬盘各分区,可以在所有的分区里面任意打开、复制、粘贴操作。如下图
二、端口映射
内 网是局域网中的一员,是通过局域网连接广域网,两个不同网段的内网之间不能互访,通过端口映射将外网IP端口映射到内网电脑桌面远程端口(默认是3398 端口)即可解决问题。我的华为3com Aolynk BR204+路由器设置方法为:输入IP(这篇文章是在家里写的,是外网IP,呵呵~~)——>输入路由器系统相应的管理用户名和密码(强烈建议将 路由器系统的默认的账号密码改掉),如图
三、动态域名(DDNS)
我 是用3M ADSL接入宽带,路由器每次拨号登陆ISP分配的IP地址都是动态的,通过动态域名系统访问远程桌面连接时,我只要输入域名就可以进行桌面连接而不用担 心每次IP的变动。花生壳目前还提供免费的动态域名服务,联网质量却越来越差,上次进行联网测试平均5-10分钟左断线一次,除非是VIP收费会员不推荐 使用花生壳。3322.org也是动态域名服务提供商的先锋者之一,目前的测试使用情况良好,相比花生壳网络质量有所提高,体积相对小巧玲珑。具体操作就 作详细介绍,大概是三个步骤:1注册登陆账号、2创建类似my.3322.org的动态域名、3下载客户软件并作相关设置即可。在DOS窗口PING其动 态域名,如果显示的IP正是本地网络外网IP即表示动态域名解析正常。
Subscribe to:
Posts (Atom)