Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teredo (IPv6) 检测 & 筛选脚本 [pteredor] #10328

Open
SeaHOH opened this issue Apr 4, 2018 · 64 comments
Open

Teredo (IPv6) 检测 & 筛选脚本 [pteredor] #10328

SeaHOH opened this issue Apr 4, 2018 · 64 comments

Comments

@SeaHOH
Copy link
Contributor

SeaHOH commented Apr 4, 2018

https://github.com/SeaHOH/pteredor

Windows 增加一个使用 XX-Net 自带 Python 启动的 bat,将以下五个文件放到 XX-Net 根目录即可运行。
start-with-xx-net.bat
pteredor.py
win_inet_pton.py
win_reset_gp.py
win32runas.py

  1. 运行环境:Python 2 + win_inet_pton & Python 3
  2. 采用符合 teredo 标准的路由请求进行初始化检测
  3. 检测 NAT 类型以大致判断 teredo 是否可用
  4. 统计各服务器响应速度, Windows 下可选择是否设置成脚本推荐的服务器

最后声明一下,这个脚本只能做到检测和筛选,它并不能直接帮助你正常使用 IPv6。

  1. 如果检测结果是 offline,说明你的网络无法使用 teredo 或配置错误,需要检查本机防火墙(核心网络相关规则)或者路由器(端口映射、安全设置等)。
  2. 如果检测结果是 symmetric,而且强制继续筛选设置也无法正常使用 IPv6,那么与 offline 的情况大致相同,需要检查设置。
  3. 要使用此脚本需恢复组策略的 teredo 设置为未配置才能正常进行设置更改。
  4. 为了更好的使用 teredo,请在网络中心的更改适配器设置中,取消勾选适配器的 IPv6 协议。
  5. 请务必不要禁用防火墙服务,不然无法使用 teredo。
  6. 必要时可执行以下命令重置 IPv6,然后重启计算机:
    netsh int ipv6 reset
    netsh int 6to4 set state disable
    netsh int isatap set state disable
    
@YuzhouZhang
Copy link

很赞!

@beiking
Copy link

beiking commented Apr 4, 2018

好,,我测试下

@SeaHOH SeaHOH changed the title Teredo 检测&筛选脚本 [pteredor] Teredo (IPv6) 检测 & 筛选脚本 [pteredor] Apr 4, 2018
@cdh1991
Copy link

cdh1991 commented Apr 8, 2018

@SeaHOH 这玩意能不能做成linux或openwrt的teredo客户端,集成到xx-net中

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 8, 2018

linux 下面有 teredo 客户端啊,这个只是测试服务器响应而已,而且流量是走中继服务器,能有多大用处还真不知道,毕竟我没有用 teredo。

@AnyWAT
Copy link

AnyWAT commented Apr 8, 2018

老白没看明白在Windows下怎玩😆

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 8, 2018

双击...

@cdh1991
Copy link

cdh1991 commented Apr 8, 2018

@SeaHOH IPv4连不上没有IPV6,teredo能替代ipv6,特别是在openwrt等嵌入式路由器上 这个要是能搞成类似teredo上时,感觉用处很大啊。

运行py文件出现以下提示
其他文件调用也出现
try bind local port: 4944
Starting probe NAT type...
Traceback (most recent call last):
File "pteredor.py", line 531, in
recommend = main(*args, local_port=local_port, remote_port=remote_port)
File "pteredor.py", line 408, in main
if not self.qualified:
NameError: name 'self' is not defined

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 8, 2018

呃,最后一次改出了个 bug。。。
已修复

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

IPv6 配置指南(Backfire及更高版本适用)
@chendaihang 帮你搜了一下,这是 OpenWrt 的官方 Wiki,其它隧道都支持,唯独不支持 teredo。

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

增加一个使用 XX-Net 自带 Python 启动的 bat,解压到 XX-Net 根目录即可运行。
pteredor.zip
default

@kapans
Copy link

kapans commented Apr 9, 2018

这啥意思???

File "E:\SOFTWARE\NET\PROXY\XX-Net\pteredor.py", line 397
def main(*args, local_port=None, remote_port=None):
^
SyntaxError: invalid syntax
请按任意键继续. . .

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

好吧,只在之前测试了 Python2,等我改一下。

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

OK,改好了。

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

😱海GG的 pteredor.zip 对我机器下毒🤣强烈抗议!!!
default
1
3
default
default

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

@AnyWAT 不要搞这么夸张,你能正常使用就不要捣乱了。
之前就说过 symmetric(对称)NAT 的问题,如果侦测到是 symmetric 就不会改动。

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

算了,我再加一点选择,是否强制测试并设定。

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

搜了半天还是没搞懂 natawareclient(启用 Teredo 客户端并标识 NAT 类型) 的意思。
@AnyWAT 所以问一下你的本地网络环境大概是怎样的结构?

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

😭更不懂,电脑——路由器——光纤

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

嗯,enterpriseclient 知道是什么意思,但是 natawareclient 就不懂了,所以想知道你的网络环境来推断一下。
路由器拨号?本机拨号?ISP NAT?等等

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

路由器拨号,😂ISP NAT 怎知、怎回?移动
英文系统会否清晰些?
default

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

😂上爬。。。

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

楼上已回:路由器拨号,😂ISP NAT 怎知、怎回?移动
本机自动获取(路由设各用网设备静态IP)

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

了解,谢谢。 😺

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

改好了,就等 Win10 来测试了。

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

😜还让我来?

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Apr 9, 2018

现在你也可以用了,不会再像之前那样。 @AnyWAT

@AnyWAT
Copy link

AnyWAT commented Apr 9, 2018

default
😋神逻辑:
The recommend server is ['teredo.iks-jena.de'].
Do you want to set recommend teredo server, Y/N? y
。。。
服务器名称 : win1710.ipv6.microsoft.com.

@beiking
Copy link

beiking commented May 3, 2018

s2

检测后的推荐服务器,与最终设置的服务器不一致。
@SeaHOH

@SeaHOH
Copy link
Contributor Author

SeaHOH commented May 3, 2018

是很奇怪,上面出现过一次 #10328 (comment) ,没发现哪里的问题。
怀疑和脚本无关,因为设置前后服务器无变化。

@beiking
Copy link

beiking commented May 3, 2018

设置前后服务器有变化,,我这是多次测试了,所以前后服务器都是win1711.ipv6.mircrosoft.com。
如果你原服务器不是 win1711.ipv6.mircrosoft.com,新设置的服务器就会变成win1711.ipv6.mircrosoft.com。

我之前没发现是因为我检测出来的推荐服务器就是 win1711.ipv6.mircrosoft.com
而这次我换了个网络测试,才发现这问题。

@SeaHOH
Copy link
Contributor Author

SeaHOH commented May 3, 2018

我实在想象不出是怎么回事。。。
因为引用的是同一个变量,中间并无任何其它赋值操作。

@beiking
Copy link

beiking commented May 3, 2018

@SeaHOH
原因找到了
pteredor.py 596行,,要改为 cmd += ' refreshinterval=default'
漏了一个空格

所以,会被重置成默认服务器

@SeaHOH
Copy link
Contributor Author

SeaHOH commented May 3, 2018

还是你眼神好使,自己写的怎么都看不出来。

@caitianzhu
Copy link

win10.ipv6.microsoft.com
teredo-debian.remlab.net
出现问题就互换服务器,我只用这两个,再到所有控制面板项\网络连接(禁用/启用)在用的连接。- -我是这样解决抽风的

@nlpsuge
Copy link
Contributor

nlpsuge commented Aug 27, 2018

支持Linux?

@SeaHOH
Copy link
Contributor Author

SeaHOH commented Aug 27, 2018

Linux 支持检测,不支持设置。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

9 participants