利用ipv6,从家里远程连接到学校的电脑上

1#    p2227    
2010-1-31 18:31
本文的前奏是
http://forum.neubt.com/viewthread.php?tid=336038


不过那个帖子里的机器用的是某ghost版的Win7,然后用msdn版的发现不行,估计是有什么设置没设好,故问了百度,现收集整理结果如下


1.服务端当然要安装ipv6协议,这个能来这里的人都不需要讲解啦


2.最关键的,在服务器端机器上,运行命令提示符,执行命令行,添加一条规则:
netsh interface portproxy add v6tov4 listenport=3389 connectport=3389
其中这个3389是你的远程连接的端口,默认是3389,如果你有修改,请改成你的值


3.运行命令提示符,执行 netsh interface ipv6 show address
将得到本机上所有的 IPv6 物理及虚拟界面参数,找到“本地连接”那一段,其中有且仅有一地址类型为“公用”的行,推荐用那一行地址来连接,在win7下,就是本地连接的“IPv6地址”而不是“IPV6临时地址”


比如我的某台机上面安装有VMware,netsh interface ipv6 show address的结果如下(注:为安全起见,以下显示的地址有修改,ipv6可是全球唯一的,呵呵)
正在查询活动状态...


接口 7: VMware Network Adapter VMnet8


地址类型   DAD 状态   有效寿命  首选寿命  地址
------------------- ------------ ------------ -----------------------------
链接   首选项   infinite  infinite fe80::250:56ff:fec0:8


接口 6: VMware Network Adapter VMnet1


地址类型   DAD 状态   有效寿命  首选寿命  地址
------------------- ------------ ------------ -----------------------------
链接   首选项   infinite  infinite fe80::250:56ff:fec0:1


接口 5: Teredo Tunneling Pseudo-Interface


地址类型   DAD 状态   有效寿命  首选寿命  地址
------------------- ------------ ------------ -----------------------------
链接   首选项   infinite  infinite fe80::ffff:ffff:fffd


接口 4: 本地连接


地址类型   DAD 状态   有效寿命  首选寿命  地址
------------------- ------------ ------------ -----------------------------
临时   首选项    6d17h21m3s    17h18m16s 2001:250:300a:1371:e9fe:4919:2c7c:df94
临时   反对    5d17h23m55s  0s 2001:250:300a:1371:490d:8ac5:3a9a:5281
临时   反对    4d17h26m46s  0s 2001:250:300a:1371:1dd4:95cc:3181:f74f
临时   反对    3d17h29m38s  0s 2001:250:300a:1371:7549:a46:57d2:79af
临时   反对    2d17h32m29s  0s 2001:250:300a:1371:931:f44b:110a:8786
临时   反对    1d17h35m21s  0s 2001:250:300a:1371:d04c:c1fe:6f3a:9092
临时   反对   17h38m12s  0s 2001:250:300a:1371:219c:7455:772b:75e4
公用   首选项  29d23h59m45s6d23h59m45s 2001:250:300a:1371:211:43ff:faaf:abb2
链接   首选项   infinite  infinite fe80::211:43ff:feaf:aab2


接口 2: Automatic Tunneling Pseudo-Interface


地址类型   DAD 状态   有效寿命  首选寿命  地址
------------------- ------------ ------------ -----------------------------
链接   首选项   infinite  infinite fe80::5efe:192.168.209.1
链接   首选项   infinite  infinite fe80::5efe:192.168.103.1
链接   首选项   infinite  infinite fe80::5efe:202.116.xxx.xxx


接口 1: Loopback Pseudo-Interface


地址类型   DAD 状态   有效寿命  首选寿命  地址
------------------- ------------ ------------ -----------------------------
环回   首选项   infinite  infinite ::1
链接   首选项   infinite  infinite fe80::1



ipv6的地址多得可怕,此时要挑蓝色的那个来连接
that's all ,enjoy it~
2#    p2227    
2010-1-31 20:27
哦??现在才评分??版主该不会去了验证吧??那辛苦了
3#    stephenpcg    
2010-2-1 20:04
win7直接支持v6的mstsc的,我在win7下面手工设定了一个很短很好记的v6地址,然后在家直接用v6远程连回去。MSDN版的也不需要设置,直接就可以连。
如果是xp的话,可以用你的方法,还有更具体的一些说明可以见这篇文章: http://goo.gl/jWkU


P.S. 我是我们实验室的网管,我在实验室的网关上对v4做了端口映射,所以也可以直接v4远程桌面回去,hiahiahia~~~
4#    stephenpcg    
2010-2-1 20:09
对了,在win7里面根本不需要这句话:
netsh interface portproxy add v6tov4 listenport=3389 connectport=3389
win7的rdp协议直接支持ipv6的。还有,你的v6地址实在多的可怕,我通常只有三个,一个临时的,一个永久的,另外还有一个是自己手工指定的,手工指定有两个好处,一是好记,二是即使有时候有必要重启机器,也不怕ip变掉。原生环境下IPv6自动配置的ip很稳定,根MAC有关,但是通过隧道或者openvpn等其他方式连接获取到的地址就不一定了,你可以看我最近的登录地址都不一样,我是通过openvpn回去的。
如果愿意的话,这些信息你可以更新到你的主帖中。
5#    sscfool    
2010-2-1 21:58
补充一下,在xp下,如果想利用windows自带的mstsc远程桌面客户端通过ipv6连接服务器,直接连是不行的,程序会提示“指定的服务器名无效”。应该加上端口转发规则,即在cmd里输入netsh interface portproxy add v4tov6 listenport=3389 connectaddress=<server ipv6 address> connectport=3389
其中高亮部分换成你要连的服务器ipv6地址,连接时,在mstsc中输入地址127.0.0.1,即本地地址localhost
6#    p2227    
2010-2-1 22:01
回复 4# stephenpcg
首先感谢你的回复


win7直接支持v6的mstsc的,我在win7下面手工设定了一个很短很好记的v6地址,然后在家直接用v6远程连回去。
MSDN版的也不需要设置,直接就可以连。

你没看我的帖子哦,我用msdn版的win7是不能直接用的,至于要怎么样设置才能用我就没空去管了,因为我的实验环境都 配置在某台xp的机上,所以我只关注怎么用ipv6远程这台机


cn_windows_7_ultimate_x86_dvd_x15-65907.iso
大小: 2604238848
MD5: 3BE75DF53E0CFB3905AF0B4F4471C9F3
SHA1: B589336602E3B7E134E222ED47FC94938B04354F
CRC32: E6FDF910
偶是这个msdn版 的,你呢?



可是如果是xp的话,可以用你的方法,还有更具体的一些说明可以见这篇文章:
http://goo.gl/jWkU
本文就是参考这篇文章写的


P.S. 我是我们实验室的网管,我在实验室的网关上对v4做了端口映射,所以也可以直接v4远程桌面回去,hiahiahia~~~



我是整个学校才几个出口,实验室的网管都没用,要学校的网管才可以。我实验室还是用交换机的呢,获得的ip和其他的服务器是同一个局域网的,但没用,只有个别的机才能直接访问外网,其他的都是NAT的



对了,在win7里面根本不需要这句话:
netsh interface portproxy add v6tov4 listenport=3389 connectport=3389
win7的rdp协议直接支持ipv6的。

你没看我的帖子哦,我用msdn版的win7是不能直接用的,至于要怎么样设置才能用我就没空去管了,因为我的实验环境都 配置在某台xp的机上,所以我只关注怎么用ipv6远程这台机


cn_windows_7_ultimate_x86_dvd_x15-65907.iso
大小: 2604238848
MD5: 3BE75DF53E0CFB3905AF0B4F4471C9F3
SHA1: B589336602E3B7E134E222ED47FC94938B04354F
CRC32: E6FDF910
偶是这个msdn版 的,你呢?



还有,你的v6地址实在多的可怕,我通常只有三个,一个临时的,一个永久的,

你没看我的帖子哦,我那台机安装有vmware



另外还有一个是自己手工指定的,

我想知道xp下如何手工指定
搜索过,有两种方法,但都不行


C:\>netsh
netsh>interface ipv6
netsh interface ipv6>add address "本地连接" fe80:a520:1314::1 /* 设定固定的IPv6地址 */
会说:“连到系统上的设备没有发挥作用。”


ipv6 adu 5/3ffe:3207:xxx::xxxx.xxxx

会说:address update error: 1f


当然方法在实际使用的时候有根据自己的实际有修改,不可能ipv6地址是xxx


最后好有gui界面的可设置软件更好的方法,win7是可以在本地连接里直接设置的,xp不行。。。。



手工指定有两个好处,一是好记,二是即使有时候有必要重启机器,也不怕ip变掉。原生环境下IPv6自动配置的ip很稳定,根MAC有关,但是通过隧道或者openvpn等其他方式连接获取到的地址就不一定了,你可以看我最近的登录地址都不一样,我是通过openvpn回去的。

openvpn?我google一下先,不过用六飞也类似于vpn吧
7#    p2227    
2010-2-1 22:18
补充一下,在xp下,如果想利用windows自带的mstsc远程桌面客户端通过ipv6连接服务器,直接连是不行的,程序 ...
sscfool 发表于 2010-2-1 21:58



    用xp sp3版本以上的mstsc就可以直接输入ipv6的地址,或者你提取win7下的mstsc吧,我附件 里的就是了
8#    stephenpcg    
2010-2-2 01:12
我的Win7就是MSDN版,装好系统,启用远程桌面服务,就可以从其他机器直接用v6远程回来了。
Win7 Ultimate 7600.16385.090713-1255_x64_en


至于xp下的mstsc如何用v6连其他机器,我到没研究过,因为我都是直接在linux下用rdesktop连我的win7的:-)


XP对v6的支持不是很好,不知道能否手工指定v6的ip,也许本身就不支持吧,win7可以很方便的配置,linux就更方便了,我在linux下平时都把自动配置关掉,只用手动配置的v6的。


关于v6的一些高级配置,可以看看这篇文章: http://goo.gl/H1Rk


openvpn嘛,那得你们学校支持了,我们学校的网络环境相当不错,所有的v4走教育网都是独立ip,v6都是原生的。v4进实验室的时候可能会有NAT,比如我们实验室,所以我加上端口映射,然后再openvpn回学校,就可以直接v4访问自己的机器了。


回复stephenpcg
首先感谢你的回复


win7直接支持v6的mstsc的,我在win7下面手工设定了一个很短很好记 ...
p2227 发表于 2010-2-1 22:01
9#    p2227    
2010-2-2 11:31
我的Win7就是MSDN版,装好系统,启用远程桌面服务,就可以从其他机器直接用v6远程回来了。
Win7 Ultimate...
stephenpcg 发表于 2010-2-2 01:12



Windows XP的IPv6无状态自动配置关不掉,自动配置出来的永久地址删不掉。

呃,难道这句话就是“本身就不支持(手动配置ipv6 地址)”的意思
10#    stephenpcg    
2010-2-2 12:18
呃,难道这句话就是“本身就不支持(手动配置ipv6 地址)”的意思
p2227 发表于 2010-2-2 11:31



我Windows用的比较少,我只知道,xp的v6是通过补丁打上去的,就像98之前的系统上网要额外安装TCP/IP协议一样,所以XP对IPv6的支持不是很完善,只是基本能用而已。我平时主要用Linux,Linux是内核直接支持各种网络的协议栈的,所以配置起来非常灵活。
跳转到第 Go