如何与 Android 手机共享有线互联网连接(反向网络共享)?

如何与 Android 手机共享有线互联网连接(反向网络共享)?

我一直尝试将有线互联网连接与 Android 手机共享。但是我没能成功。你们中有人成功过吗?我使用的操作系统如下:

  • Ubuntu 10.10
  • Android 2.3

答案1

是的,这是可能的。我有 Ubuntu 11.04、NetworkManager 0.8.4、运行 Cyanogenmod 7 的 Android Nexus One 手机。

按照 Roman 的描述,右键单击 NetworkManager 图标并选择“创建新无线网络”。我选择让连接保持打开状态(无 WPA,无 WEP)。我的手机能够立即看到网络,并且我毫无困难地连接。桥接是自动完成的,因此我无需配置任何额外内容即可浏览互联网。

您使用上述方法遇到问题的原因是因为 Android 2.3 不支持 ad-hoc 网络。确切地说,Android 的 wpa_supplicant 不显示 ad-hoc 网络。有多种方法可以解决这个问题。在 Google 上搜索并在 xda-developers 论坛中搜索。您可能需要对手机进行一些黑客攻击,这超出了本文的范围。

我个人的建议是:如果你的手机支持 Cyanogenmod,你可以安装它来获得临时支持和其他 hackish 乐趣。你需要 root 你的手机,这可能符合你的口味,也可能不符合你的口味。

另一种选择是尝试“基础设施模式”。按照上述方法设置临时无线网络后,单击 NetworkManager 图标,选择“编辑连接”。点击无线选项卡并编辑您刚刚创建的临时网络。在模式下,选择“基础设施”。我不确定这是否适合您,因为我没有可以测试的 Android 手机。我的想法是,如果临时模式是问题所在,那么另一种模式可能是解决方案。

祝你好运!

答案2

首先,众所周知,Android 的库存 ROM,即手机自带的 ROM,不支持 ad-hoc 模式(令人惊讶),甚至 Ice-Cream Sandwich(Android 4.0)也不支持 ad-hoc 模式。

因此,我们需要使用 Ubuntu 创建一个接入点,任何 Android 手机都可以轻松连接到该接入点。在 Windows 中,您可以使用 Connectify 来执行此操作,并且效果很好,但在 Ubuntu 中,您可能会遇到某些问题,具体取决于您的 wifi 卡是否支持接入点模式(主模式)。

现在,即使你的 wifi 卡支持接入点模式,下一个问题是你的 wifi 卡的驱动程序是否支持 AP 模式,如果支持那么问题就解决了,如果不支持那么你有三个选择:

  1. 等待驱动程序收到 AP 模式的更新。(许多 wifi 卡驱动程序仍处于准备阶段)

  2. 购买一个 wifi 加密狗并确保它支持 ubuntu 上的 AP 模式。

  3. 使用 Windows,Connectify 将为您完成这项工作。

如果您有兴趣,可以发布您的 wifi 卡驱动程序的名称,以便我进一步为您提供帮助。使用此命令:

lshw -c network

答案3

对我来说可行的解决方案使用 USB 连接线在三星 S3 mini 上的 Kubuntu 15.10 和 Android 4.2.2 上

要求

安卓

  1. busybox 应用程序已安装
  2. 使用 USB 电缆连接至计算机
  3. 在您的 Android 设备上启用 USB 调试(以便能够从您的电脑进行 adb)

电脑

  1. 在你的 /etc/network/interfaces 中你需要有这两行,否则你会得到一个no such device错误

    allow-hotplug usb0
    auto usb0
    
  2. adb 已安装 ( apt-get install android-tools-adb)

联系

  1. 在您的 Android 中,启用“设置”->“连接”->“网络连接”->“网络共享和便携式热点”->“USB 网络共享”选项,这将创建一个到您计算机的 USB 连接,您可以使用ifconfig计算机上的命令查看该连接。查看@接口名称,对我来说就是enxf6759e7fbebd这个。

    enxf6759e7fbebd Link encap:Ethernet  HWaddr a2:61:3c:83:1c:38  
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:6 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:464 (464.0 B)  TX bytes:0 (0.0 B)
    
    eth0      Link encap:Ethernet  HWaddr 50:e5:49:47:f4:fd  
        inet addr:192.168.178.20  Bcast:192.168.178.255  Mask:255.255.255.0
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:40894966 errors:0 dropped:0 overruns:0 frame:0
        TX packets:86312833 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000 
        RX bytes:20969506400 (20.9 GB)  TX bytes:120329513606 (120.3 GB)
    
    lo        Link encap:Local Loopback  
        inet addr:127.0.0.1  Mask:255.0.0.0
        UP LOOPBACK RUNNING  MTU:65536  Metric:1
        RX packets:30521 errors:0 dropped:0 overruns:0 frame:0
        TX packets:30521 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0 
        RX bytes:10868749 (10.8 MB)  TX bytes:10868749 (10.8 MB)
    
  2. 使用以下命令在此网络接口上为您的计算机分配一个 IP 地址,sudo ifconfig enxf6759e7fbebd 192.168.42.135 netmask 255.255.255.0其中 enxf6759e7fbebd 是您在上一步中获得的接口。

  3. 启用 IP 转发

    sudo -- sh -c  'echo 1 > /proc/sys/net/ipv4/ip_forward'
    
  4. 使用以下命令在计算机上启用 nat

    sudo iptables -t nat -F
    sudo iptables -t nat -A POSTROUTING -j MASQUERADE
    
  5. 在你的电脑上连接到你的安卓设备

    adb shell
    su
    
  6. 然后你就可以用busybox ifconfig -a命令来检查你的连接了

    rndis0    Link encap:Ethernet  HWaddr FA:08:D6:1A:35:90  
        inet addr:192.168.42.129  Bcast:192.168.42.255  Mask:255.255.255.0
        inet6 addr: fe80::f808:d6ff:fe1a:3590/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000 
        RX bytes:0 (0.0 B)  TX bytes:564 (564.0 B)
    

您可以将默认路由添加到您在第 2 点中修复的计算机网络地址,就是busybox route add default gw 192.168.42.135 dev rndis0这样(您可以使用busybox route命令检查您的路由)

答案4

我找到了一个可行的解决方案,可以通过 USB 反向网络共享与手机共享我的互联网连接,但我的笔记本电脑使用无线连接:

互联网 -> 无线 -> 笔记本电脑 -> USB 线 -> Android 手机

因此,如果您可以做到这一点,或者您的电脑有第二张以太网卡,您应该从 Play 商店中查看“反向网络共享试用”应用程序。

  1. 像往常一样将你的电脑连接到互联网
  2. 通过 USB 将 Android 手机连接到电脑
  3. 在 Android 的“设置”中激活“USB 网络共享”
  4. 按照说明在 Ubuntu 网络管理器中创建一个新的有线连接这里
  5. 启动 Reverse Tether 并按照其说明操作
  6. 在手机上浏览:)

相关内容