安卓机有构建远程局域网的方法吗?

2018-02-08 10:46:37 +08:00
 tianzry
想跟朋友一起联机玩 元气骑士 ,但是它只能同一个 WiFi 下局域网联机,无法广域网联机,可是我们不在同一个局域网环境下。所以想问问,有办法做到构建一个远程局域网环境的办法吗?

以前电脑上有一个叫 hamachi 的软件可以实现这种想法的,只是它没有安卓客户端。
6635 次点击
所在节点    问与答
11 条回复
FlyPuff
2018-02-08 11:10:06 +08:00
感觉会卡爆吧。。。可以考虑其他 steam 上的 coop 游戏哇
function007
2018-02-08 11:12:03 +08:00
zerotier 有安卓客户端
tianzry
2018-02-08 12:59:01 +08:00
@FlyPuff 这个比较轻量,悠闲点呢
tianzry
2018-02-08 13:01:13 +08:00
@function007 谢谢老铁的推荐。试了一下这个,两台手机都装上了,也分配了个 192.168.169.*的 IP,勾选了全局,不过不知为何搜索局域网的游戏搜不出来,可能配置出了问题🤣
quartz699
2018-02-08 20:09:46 +08:00
搜索局域网内的设备,应该是通过广播地址查找的吧。Android 系统有 wlan0,tun0 等网络接口,wifi 用的 wlan0,vpn 用的 tun0,zerotier 建立的是 vpn 所以用的 tun0,所以该游戏搜索时有可能只广播了 wlan0 接口上的地址,而没有广播 tun0 接口。如果可以直接输入对方 ip 连接的话,就能避免这个搜索不到的问题。
zerotier 在你的网络环境下,不知道能不能穿透,不能的话可是走的 zerotier 的服务器,延迟会很大。你可以 ping 一下看看延迟怎么样
tianzry
2018-02-08 23:39:49 +08:00
@quartz699 嗯嗯,谢谢指导,我试试看
terrytw
2018-02-09 09:49:19 +08:00
你可以用 hamachi 和电脑模拟器....
tianzry
2018-02-09 19:25:29 +08:00
@terrytw 这个就太吃力了,作为休闲手游呐
tianzry
2018-02-09 19:31:35 +08:00
@quartz699 老铁,我测试了一下,果然,通过 zerotier 给连接上了,两台手机互相 ping zerotier 提供的内网 ip,可以 ping 通,延迟 600ms 左右。但是游戏里头仍旧无法找到对方。不知老铁知道 wlan0 桥接 tun0 的方法不,网上这方面的资料少之又少诶。
另外说一句,供大伙参考测试:想要 zerotier 提供的内网 ip ping 得通,需要在 my.zerotier.com/network/xxx 里头配置一下连接上的用户,勾选 Allow Ethernet Bridging
quartz699
2018-02-10 15:24:34 +08:00
zerotier 延迟太大,可以考虑其它 vpn,pptp 或 openvpn 等。

桥接的话不能单靠手机吧,将 tun0 与 wlan0 桥接了,而 tun0 的流量本身是走 wifi(wlan0)的,除非插网线走 eth0 了。不过 android 系统怎么桥接我也不知道。

网上找到一个类似的问题( http://forums.whirlpool.net.au/archive/1765479 ),也没有给解决方法。

zerotier 建立的局域网能够互通这是没问题的。试过一个 LAN Messager 软件( https://apkpure.com/lan-messenger-p2p-offline-chat-and-file-sharing/com.nabinbhandari.lam.android ),输入对方 ip 就可以建立聊天窗口,处于局域网下会自动搜索局域网中的设备,比如在 wifi(wlan0)下搜索该 wifi 网段的设备,4G(ccmni0)网络下,搜索电信运营商内网下的设备。然而尝试在这两种网络下开启 vpn(tun0),发现它也不会自动搜索 vpn 局域网的设备。但它提供直接输入 ip 连接的功能,然后 vpn 局域网的设备也确实可以建立通信。

所以可以看出,这款游戏和 LAN Messager 都并未对 tun0 网段内的设备进行搜索。虽然不懂 android 软件的开发,但我想这在技术上应该是可行的。或许可以发邮件给游戏开发商反应一下该问题。

那么现阶段,或许有个比较麻烦的解决办法。vpn 用法是一样的,zerotier 就先不考虑了,延迟大。需要公网 ip(或 ngrok 等服务?),建一个 openvpn 服务器,两端 PC 用 openvpn 客户端连接到该局域网,PC 开 wifi 热点,再将 PC 的 openvpn 虚拟网卡与无线网卡桥接。这样,手机连接 wifi 就直接由 openvpn 局域网内的 DHCP 分配 vpn 局域网 ip 地址(或自己设置静态地址)。或是用 openwrt 路由器,将路由器的 tun0 与 lan 桥接。以上也只是猜想,我并没有实践过。
tianzry
2018-02-11 00:06:20 +08:00
@quartz699 感谢老铁分享,我再琢磨琢磨,谢谢(*°∀°)=3

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/429388

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX