如何通过 USB 启用 Ubuntu 20.04 到 Android 6.0.1 和 10 的互联网共享

如何通过 USB 启用 Ubuntu 20.04 到 Android 6.0.1 和 10 的互联网共享

Ubuntu 上的互联网连接是通过以太网电缆进行的。
我想连接两个设备,从 Ubuntu 共享互联网三星Galaxy注释边缘[SM-N915FY; android: 6.0.1] 和三星 Galaxy注 9[SM-N960F;Android 10] 由USB电缆。我已经阅读了所有关于共享互联网的先前主题,都厌倦了,但我还是无法共享数据。

连接 - 系统设置模块-> 标签IPv4已更改方法共享至其他计算机,但仍然不起作用。

当然,我已经接受了通过手机上的 PC 访问的权限。
三星 Note 和 Note 都没有反向网络共享选项。启用它也很累USB 调试

答案1

这是一个老问题,但有一个简单的方法,感谢一个神奇的工具

  1. 获得格尼雷特
  2. 安装adb并允许 USB 调试
  3. 跑步./gnirehtet run

https://www.ubuntubuzz.com/2019/09/android-reverse-tethering-with-ubuntu-1804.html

答案2

我有办法,但有点棘手。你需要:

  • 带有“USB-PC 互联网共享”选项的 Android(不是传统的 USB 网络共享)
  • iptables 或 nftables (用于伪装/SNAT)
  • tcpdump
  • iproute2
  • Linux 上的 DNS 服务器(dnsmasq 可快速设置)

1/ 在您的 Android 设备上:转到设置 >> 网络连接 >> 网络共享和便携式热点 >> USB-PC 互联网共享。选择确定或选择任何建议的操作系统(通常是不同的 Windows 版本),只要启用了该功能,这都无关紧要。=> 现在您的智能手机将立即尝试连接到互联网,但您的 Linux 系统尚未准备好。您将需要检索以下信息:您的智能手机将使用的子网和默认网关。这可以通过以下方式完成tcpdump

2/ 在 Linux 上:使用tcpdump捕获来自 USB 网络接口的流量(当从 Android 激活 USB PC 互联网共享时启用)。您将看到很多 whohas XXXX。此 IP 地址是您的 Android 尝试访问的默认网关。将此 IP 地址和正确的子网掩码添加到网络共享接口(sudo ip address add XXXXX dev XXXX)或使用网络管理器

3/ 使用 iptables 启用伪装:

sudo iptables -A POSTROUTING -o usb_thethering_interface -j MASQUERADE

4/ 确保您的 DNS 服务器在 Linux 上运行。

应该可以正常工作

相关内容