V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zhoubug
V2EX  ›  分享创造

n2n for android 版 随时随地用和手机访问你的电脑,NAS 等设备

  •  
  •   zhoubug · 2014-05-09 14:35:37 +08:00 · 25647 次点击
    这是一个创建于 3850 天前的主题,其中的信息可能已经有所发展或是发生改变。
    n2n is a p2p VPN daemon.

    google play:
    https://play.google.com/store/apps/details?id=org.zhoubug.n2n_gui

    不知道有多少人了解,这应该是一个或许只要码农感兴趣的app。
    功能简单来说就是:随时随地用手机安全访问电脑,NAS等其它任何加入自己创建的n2n group的设备。

    n2n 是vpn 但属于p2p的vpn,使用n2n的设备只要处于可穿透的NAT后,设备间的数据通信就是p2p的。
    app自带了浏览访问系统共享文件的功能,其它远程访问的需求,可以自行安装远程桌面,ssh等客户端。只要网络通了,还有什么不可做到的哪?随时随地访问共享文件,远程桌面公司的电脑,ssh家里
    的树莓派等等。

    使用细节还有linux,windows等系统对应的客户端请查看应用说明里的地址。

    附注:第一次发布 第一次分享 个人测试平台有限 问题肯定存在有问题你拍我改~~
    第 1 条附言  ·  2014-05-15 06:45:51 +08:00
    追加:在百度应用中心上线 百度手机助手搜索 n2n 可以下载安装
    第 2 条附言  ·  2014-05-26 10:38:42 +08:00
    升级新版本1.1.2 主要增加对n2n v1的支持 方便n2n v1的用户使用。
    debian ubuntu等系统下通过apt-get install n2n 安装的都是n2n v1版本
    增加了两个n2n v1的supernode服务器,用户也可以自定义自己的supernode。

    想使用n2n v2的可以
    svn co https://svn.ntop.org/svn/ntop/trunk/n2n
    自己编译

    百度手机助手可搜索n2n 安装。
    http://as.baidu.com/a/item?docid=6511769
    第 3 条附言  ·  2014-11-21 17:01:56 +08:00
    百度手机助手给下架啦.......估计沾点vpn边的东西都不让发。
    不过我也确实弄了个n2n翻墙版本自己手机上一直用,很稳定,哈哈。

    补发一个网友写的很完整的使用说明:
    http://www.shuyz.com/n2n-vpn-network-introduction-and-config.html
    62 条回复    2021-12-02 21:21:36 +08:00
    zhoubug
        1
    zhoubug  
    OP
       2014-05-09 14:45:46 +08:00   ❤️ 2
    追加下使用说明:
    1,首先确认你的android设备需要已经root,并安装tun.ko(一个用于vpn的内核模块)
    地址: https://play.google.com/store/apps/details?id=com.aed.tun.installer

    2,在你的PC,或者别的平台上安装相应的n2n客户端,参加app说明里的地址。
    手机与PC使用相同的group name和password连接就可以啦

    3,手机和电脑或更多电脑已经组建好VPN 局域网,就可以使用多种方式互相访问。
    zhoubug
        2
    zhoubug  
    OP
       2014-05-09 14:50:58 +08:00   ❤️ 1
    自测使用3G 访问远程桌面,共享文件都很流畅,国内用户可以选择CN节点
    zhoubug
        3
    zhoubug  
    OP
       2014-05-09 18:17:22 +08:00
    用google play store的多吗~
    osinx
        4
    osinx  
       2014-05-09 18:37:06 +08:00   ❤️ 1
    顶一个, 以前自己编译过android下的.

    现在运营商都不给公网IP了, 这是神器.
    hylau
        5
    hylau  
       2014-05-09 19:18:04 +08:00
    @zhoubug 手机屏太小
    zhoubug
        6
    zhoubug  
    OP
       2014-05-09 21:22:35 +08:00 via Android
    @hylau 用来弄个nas做私有云连接不错 或者临时查看备份些文件到电脑 网络通啦很多应用可以发掘~
    MASAILA
        7
    MASAILA  
       2014-05-09 21:40:19 +08:00
    应用里面的图标都太丑了
    zhoubug
        8
    zhoubug  
    OP
       2014-05-09 21:54:25 +08:00   ❤️ 1
    @MASAILA 哈哈 先看功能 我的审美已经很满意啦
    mortal
        9
    mortal  
       2014-05-10 00:51:41 +08:00   ❤️ 1
    挺好用的 :)
    可惜公司的电脑封了 UDP 端口,连不上 supernode……
    zhoubug
        10
    zhoubug  
    OP
       2014-05-10 06:25:22 +08:00 via Android
    @mortal 嗯 supernode 目前提供了默认两个供选择 。中美各放了一个。
    zhoubug
        11
    zhoubug  
    OP
       2014-05-12 10:38:38 +08:00
    超级节点supernode 其实就是打洞节点 用户也可自己在vps上自己起一个 这样就可以把家里公司里的各种设备组建成一个私有环 互相联通。
    zhoubug
        12
    zhoubug  
    OP
       2014-05-15 06:46:35 +08:00 via Android
    追加:在百度应用中心上线 百度手机助手搜索 n2n 可以下载安装
    zhoubug
        13
    zhoubug  
    OP
       2014-05-26 10:39:15 +08:00
    升级新版本1.1.2 主要增加对n2n v1的支持 方便n2n v1的用户使用。
    debian ubuntu等系统下通过apt-get install n2n 安装的都是n2n v1版本
    增加了两个n2n v1的supernode服务器,用户也可以自定义自己的supernode。
    kedamail
        14
    kedamail  
       2014-10-06 10:37:30 +08:00
    @zhoubug 电脑、路由器和手机上都装了这个,节点之间都可以ping通,但是在手机和电脑的浏览器上输入路由器节点地址访问不了,我电脑上的n2n 地址为10.0.0.2,路由器n2n 地址为10.0.0.1,在电脑上可以ping通10.0.0.1,但是浏览器上打不开10.0.0.1,不知怎么去配路由器上的防火墙?
    la0wei
        15
    la0wei  
       2014-10-28 18:23:30 +08:00
    运气很好,遇到作者了
    firestarter
        16
    firestarter  
       2014-10-30 15:11:33 +08:00 via Android
    Debian装n2n 怎么看是v1还是v2啊? 还有openwrt装这个 能用作代理不?
    zhoubug
        17
    zhoubug  
    OP
       2014-11-21 17:06:30 +08:00
    @firestarter debian 如果apt-get装的应该就是v1,也可以自己编译。运行edge -v 或者supernode -v可以看到版本
    anyfc
        18
    anyfc  
       2014-11-22 16:40:19 +08:00
    @zhoubug android 5.0下无法使用了,楼主可否更新下?
    zhoubug
        19
    zhoubug  
    OP
       2014-11-28 17:52:49 +08:00   ❤️ 1
    @anyfc android 5.0 可以root吗? 我没有升级。等我有环境试验下。
    gwm714
        20
    gwm714  
       2014-11-28 20:31:07 +08:00
    @zhoubug Galaxy S3 android 4.3 无法正常运行,检查发现好像没有创建tun接口,手机使用openvpn没有问题,说明已经加载tun module,请指导,谢谢
    root@m0:/ # cat /dev/tun
    sh: cat: /dev/tun: File descriptor in bad state

    root@m0:/ # busybox ifconfig
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    p2p0 Link encap:Ethernet HWaddr 8A:30:8A:72:D3:B4
    inet6 addr: fe80::8830:8aff:fe72:d3b4/64 Scope:Link
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    wlan0 Link encap:Ethernet HWaddr 88:30:8A:72:D3:B4
    inet addr:10.0.1.86 Bcast:10.0.1.255 Mask:255.255.254.0
    inet6 addr: fe80::8a30:8aff:fe72:d3b4/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:38486 errors:0 dropped:590 overruns:0 frame:0
    TX packets:2226 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:4969867 (4.7 MiB) TX bytes:319705 (312.2 KiB)
    gwm714
        21
    gwm714  
       2014-11-30 00:17:06 +08:00
    问题基本解决,执行
    mkdir /dev/net
    ln -s /dev/tun /dev/net/tun
    后查看程序可以创建tun接口n2n,但不知道为什么添加ip地址没有成功。手动设置ip后网络可以ping通对端了
    busybox ifconfig n2n 10.10.10.22 netmask 255.255.255.0 mtu 1400
    问题应该还是n2n代码里设置ip地址那段和我的手机环境不兼容,希望作者能帮助跟踪一下一些特殊情况下(比如tun不在/dev/net/下)是否正常使用。
    anyfc
        22
    anyfc  
       2014-12-04 18:53:41 +08:00   ❤️ 1
    @zhoubug 抱歉,现在才看到。
    现在5.0已经可以完美root了
    my660
        23
    my660  
       2015-01-10 07:54:58 +08:00
    @zhoubug 谢谢大神让世界更美好
    zhoubug
        24
    zhoubug  
    OP
       2015-01-22 16:52:19 +08:00
    @anyfc 你好 做了个针对5.0的版本 但我没有比较好的测试环境 可否联系坐下测试 方便的话发你一个5.0版本你先测试下
    xyq123
        25
    xyq123  
       2015-01-29 16:49:12 +08:00
    啊哈,居然在这里遇上作者,希望能增加root后的设备开机自启动哦
    waltcow
        26
    waltcow  
       2015-02-01 10:39:39 +08:00
    @zhoubug 如果家里的电脑(win7)跑了n2n的客户端,公司的电脑连到家里的电脑,是window的远程桌面吗?
    zhoubug
        27
    zhoubug  
    OP
       2015-02-12 09:18:50 +08:00
    @waltcow 是的
    xndx
        28
    xndx  
       2015-02-14 20:18:02 +08:00
    @zhoubug 希望能够增加设置路由的功能。现在家里客户端为10.0.0.1,公司为10.0.0.2 公司内网为10.98.0.0网段。每次我都需要收都设置10.98.0.0网段通过10.0.0.2 来路由到公司内网。希望能在界面上增加相应的设置,在连接完成后自动设置指定网段的路由,谢谢!
    fachet
        29
    fachet  
       2015-03-06 01:16:29 +08:00
    大神您好,其实我不是特别熟悉linux,我在VPS上make make install了V2的版本之后发现我的路由器上装的是V1的版本,想换成V1的版本应当怎样操作?make uninstall报错的。跪求!已经琢磨好几个晚上了。。。T_T
    zhoubug
        30
    zhoubug  
    OP
       2015-03-06 06:45:14 +08:00 via Android
    @fachet 在你服务器上再编译出v1版本,可以不用make install 在程序目录下运行,也可以运行which edge 找到上次安装的程序改下名再install v1 。同理处理下 supernode
    fachet
        31
    fachet  
       2015-03-08 14:43:54 +08:00
    @zhoubug 多谢指导,我刚刚看到回复提醒实在抱歉。根据您的提示已经有了一些进展,现在这样改完了以后运行edge 会提示[tuntap_linux.c: 85] ERROR: ioctl() [Device or resource busy][-1]
    然后ping另一个node的时候supernode上的提示是:
    WARNING: Received packet with unknown protocol version (2): discarded
    我想咨询您一下这个tun是不是没有更新协议呢?或者这种问题怎么样去解决?
    fachet
        32
    fachet  
       2015-03-08 15:01:13 +08:00
    @zhoubug 哦我懂了,我已经解决了,多谢您费心!
    fachet
        33
    fachet  
       2015-03-22 12:29:25 +08:00
    @zhoubug 大神您好我现在又遇到一个很奇怪的现象。我用了一个加州的vps做supernode,节点1:自家小区宽带1使用openwrt跑在netgear 4300上10.1111.1.1,节点2:加州另一个VPS,10.111.1.3,节点3:办公室Windows 10.111.1.5.这样的情况下,从节点1和节点3分别于节点2互相ping速度都可以接受。但是节点1和节点3互ping经常时断时续,通的时候ping值也有大概700ms+,您有没有相关见解?按说走的网络都是北京联通的,怎么会有这么慢甚至比国外ping进来还慢?
    BOGU
        34
    BOGU  
       2015-03-26 13:26:31 +08:00
    不知道楼主有没有遇到掉线的情况,我用N2N v1 也有半年多了,就是在公司的时候有事在用N2N连接会家里的树莓派,supernode是我在香港的vps主机,连接上去之后基本上不能连续连接1个小时,经常掉线。。。不知道什么原因。楼主有遇到过这种情况吗?
    wubozh
        35
    wubozh  
       2015-04-27 21:43:33 +08:00
    小米2SC手机,更新到最新的miui6 for 5.02,就不能用n2n了,表现为能连上我自建的V1超级节点,但不能打开其他节点。请楼主发一个最新的n2n安卓客户端
    hui198016
        36
    hui198016  
       2015-05-27 16:44:17 +08:00
    @zhoubug 有木有详细使用手机端n2n的案例,有些配置不是特别明白。比如手机连接supernode不知道有没有连接成功,ping不通虚拟节点,不知道哪里出了问题。还有general setting里的n2n v1是不是一定要选的。
    zhoubug
        37
    zhoubug  
    OP
       2015-05-28 06:16:22 +08:00 via Android
    @hui198016 start 后看屏幕提示信息,显示Rx消息就是联通啦super.
    是否选中n2n v1 要根据你的super是v1 还是v2
    hui198016
        38
    hui198016  
       2015-05-28 09:13:40 +08:00
    @zhoubug 现在能显示RX消息,但是ping不同supernode的虚拟节点。很郁闷不知道怎么回事
    ct
        39
    ct  
       2015-09-22 10:55:03 +08:00
    @zhoubug 请问能在非 root 权限下运行 n2n 吗?我看 openvpn 也是调用的 tun 驱动, openvpn 就能在非 root 权限下运行, openvpn 好像是用的 vpnservices
    skyshe
        40
    skyshe  
       2017-03-22 10:11:42 +08:00
    这个软件很棒,但是要是能做出服务形式的就更好了,因为现在只要释放应用什么的就关闭整个虚拟网络了
    skyshe
        41
    skyshe  
       2017-03-22 10:14:52 +08:00
    @zhoubug 个软件很棒,但是要是能做出服务形式的就更好了,因为现在只要释放应用什么的就关闭整个虚拟网络了,这样很不方便,毕竟网络是希望一直连通才好
    skyshe
        42
    skyshe  
       2017-03-22 10:15:54 +08:00
    @zhoubug 还有,要是阁下能释出安卓的开发源码,就更好了,
    param
        43
    param  
       2017-06-19 08:40:20 +08:00
    WARNING: Rx REGISTER_SUPER_ACK with wrong or old cookie
    param
        44
    param  
       2017-06-19 08:54:41 +08:00
    就算都是 v2,不同的 supernode,也会存在兼容问题
    zhoubug
        45
    zhoubug  
    OP
       2017-06-19 09:52:44 +08:00
    @param 这个会在网络延迟很大时出现,注册包会带一个校验码,因为是 udp 消息 当 ACK 消息因为延迟大而乱序时会有这个提示。
    rszhaochen
        46
    rszhaochen  
       2017-07-08 00:05:29 +08:00
    @zhoubug 请问一下,安卓版本的 N2N 客户端,能支持开机启动后能自动运行(事先配置好参数)吗?因为我有一个电视机顶盒需要远程,平时不在家可以远程控制看看状态什么的,有点强迫症,所以想确认一下。感谢
    lucktu
        47
    lucktu  
       2017-08-09 17:33:13 +08:00
    可惜我的手机 root 以后就不好用,所以一直还是保持非 root 状态。

    要是能不 root 能安装使用就好了。
    assiadamo
        48
    assiadamo  
       2017-09-15 10:00:51 +08:00
    @zhoubug 我出现 Rx REGISTER_SUPER_ACK with wrong or old cookie 问题了,但是我是在本机调试的....
    assiadamo
        49
    assiadamo  
       2017-09-15 12:08:21 +08:00
    @zhoubug 我在阿里云单机调试 edge 输出 Rx REGISTER_SUPER_ACK myMAC=... Attempts 2 应该是连上了罢,但是我用安卓 app 和 windows 连都 WARNING: Supernode not responding - moving to 0 of 1。
    windows 的 edge.exe 是使用 https://github.com/meyerd/n2n.git v2 的源码 cmake -G "MSYS Makefile" 编译的
    assiadamo
        50
    assiadamo  
       2017-09-15 13:56:25 +08:00
    @zhoubug 解决了...supernode 的防火墙设置得是 udp 的....而且 supernode 和 edgenode 版本得完全相同才不会出现 old cookie 问题,如果是自己编译的可执行文件,可能和 app 的版本不一样,连不上
    zhoubug
        51
    zhoubug  
    OP
       2017-09-15 15:46:55 +08:00
    @assiadamo app 端有 V1 和 V2 的选项 这个要和 supernode 的版本对应。
    hhy
        52
    hhy  
       2017-09-16 11:07:08 +08:00
    @zhoubug 能不能让安卓版 N2N 开机自行启动
    BlueFireworks
        53
    BlueFireworks  
       2017-09-30 16:02:16 +08:00
    现在 root 越来越难了,如何破
    zhoubug
        54
    zhoubug  
    OP
       2017-09-30 18:45:16 +08:00 via Android
    @BlueFireworks 推荐小米手机开发版 不影响系统手机又可以使用 该 app
    elitezhe
        55
    elitezhe  
       2017-10-06 09:11:21 +08:00 via Android
    @zhoubug n2n 安卓是不是不兼容 meyerd 的 n2n ?我部署了 meyerd 的 v2,三台 Ubuntu 都 OK 了,但是安卓不行。有时提示

    9:01:27 O6/Oct/2017 09:01:27 [
    ./edge.c:1046] WARNING: Supernode not responding
    - moving to 0 of 1

    有时是 invalid community 等。

    是否因为客户端版本和 n2n 安卓的版本不一样?(不是 V1 V2 的版本,这个我确定我选的没问题
    lookas2001
        56
    lookas2001  
       2017-10-23 18:08:31 +08:00 via Android
    还没尝试,但是感觉这玩意是个好东西。
    somanykey
        57
    somanykey  
       2017-11-10 10:41:48 +08:00
    @zhoubug 请问下 lz,我用的是 meyerd 的 n2n(按照知乎上看的文档操作的)。和您的 n2n 版本是什么关系?
    现在遇到一个问题,edge node 互相 ping 不通,阻塞没有回显.

    具体环境是这样的,我在阿里云主机上部署了 meyerd 的 super node,
    两台 Android 机分别部署了 ndk 编译出来的 edge node。(改了 android 上一些编译问题, 还有 /dev/tun, ifconfig 路径等问题)
    服务器和本地-v -v -f 的 register super 和 ack 都打出来了,本地 ifconfig 看虚拟网卡也在
    但是 edge node 互相 ping 不通,阻塞没有回显
    (阿里云主机看过没有配安全组规则, iptables 也没打开)
    traceroute 显示
    tracetoute 10.8.0.26
    192.168.0.1
    219.133.11.1
    183.56.68.41
    183.56.66.113
    * * *
    * * *
    用过您在 google play 发布的版本,连官方的 super node
    traceroute 10.8.0.26
    10.8.0.26

    就完成了
    lucktu
        58
    lucktu  
       2018-01-04 15:36:21 +08:00
    我来回答一下楼上的两位关于“ meyerd 的 n2n ”的问题:

    他那里的 v2 版本,名义上与以前的 v2 是完全一样的版本号,但是它是改进版,是为 v3 铺路的。它的正常运转需要新的中心节点的支持,以前的 v1 和 v2 的中心节点都不再适用。而他这里的 v1 做过一些小的修正,与以前的 v1 完全兼容,大家可以更新跟进。而且,大家有什么好的想法可以与该作者交流,目前该作者正处于兴趣热点上,反馈还比较及时。

    我这里提供一个共大家测试的 meyerd 的中心节点:n2n.lucktu.com:10088
    lucktu
        59
    lucktu  
       2018-01-04 15:45:35 +08:00
    然后我得感谢一下本文的作者,是您给我们手机用户带来了手机也可以操作 n2n 的惊喜,并且你的中心节点也是我收录到的最稳定长久的一个,非常感谢您!
    http://www.lucktu.com/archives/749.html

    我感觉 zerotier 与 n2n 类似,都是虚拟网卡下工作,既然 zerotier 能正常在非 root 的手机上使用,那么是不是 n2n 也可以,这我就不知道了。要是能在非 root 的手机上使用 n2n 就好了,大家的手机都可以装上去(不需要破坏保修,不需要担心后遗症),真正实现随时随地在线。
    lucktu
        60
    lucktu  
       2018-01-14 13:34:12 +08:00
    上面说错了,好像 zerotier 不需要虚拟网卡也能工作:
    http://www.senra.me/nat-traversal-series-zerotier-p2p-vpn-can-be-used-in-container-without-tuntap/
    yanyuechuixue
        61
    yanyuechuixue  
       2020-12-20 10:22:30 +08:00
    十分抱歉挖坟了,由于没有权限发帖(不知道为啥),所以在这里请教一下。
    macos 11 big sur 使用 n2n 的时候总是报错 tuntap 有问题,之前的 os 版本没问题。

    请问大佬们知道怎么解决么?
    Acoffice
        62
    Acoffice  
       2021-12-02 21:21:36 +08:00
    n2n 已经恢复开发了,目前版本 3.0 了. 大佬有空可更新一下啊.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:45 · PVG 20:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.