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

我一直试图与我的Android手机分享我的有线互联网连接。 但是我无法成功地做到这一点。 有没有人成功过? 我使用的操作系统如下:

  • Ubuntu 10.10
  • Android 2.3

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

如Roman所述,右键单击NetworkManager图标并选择“创建新的无线网络”。 我选择将连接断开(没有WPA,没有WEP)。 我的手机能够立即看到网络,我没有遇到任何麻烦。 桥接是自动完成的,所以我可以浏览互联网而无需额外配置任何东西。

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

我的个人建议:如果您的手机支持Cyanogenmod,您可以安装它以获得临时支持和其他hackish乐趣。 您需要根据自己的喜好来使用自己的手机。

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

祝好运!

首先,因为我们都知道Android的股票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-dongle并确保它在ubuntu上支持AP模式。

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

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

lshw -c network 

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

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

因此,如果您可以使用,或者如果您的电脑有第二个以太网卡,则应该从Play商店查看“反向系绳试用”应用程序。

  1. 像往常一样将电脑连接到互联网
  2. 通过USB将Android手机连接到电脑
  3. 在Androids’设置’中激活’USB-Tethering’
  4. 如此处所述,在Ubuntus网络管理器中创建新的有线连接
  5. 启动反向系绳并按照说明操作
  6. 在手机上浏览:)

请查看此链接并告诉我它是否与您正在寻找的大致相同。
https://help.ubuntu.com/community/WifiDocs/WirelessAccessPoint

如果它看起来像是(或接近)你想要的东西让我知道。
我有兴趣自己这样做,只是通过ppp0引导流量的轻微修改。 这是一个系留连接。
也许我们可以调整这些指令来完成我们需要的工作。

编辑:这看起来好像在专用机器上工作得最好(基本上使它成为路由器)。 我仍然在查看配置,但这可能会导致您使用无线连接到不同位置的笔记本电脑出现问题。
此外,似乎有一些涉及我们可能放弃的Windows机器的步骤。

你也想看到这个。 https://help.ubuntu.com/community/WifiDocs/MasterMode

假设您的计算机中还有一张无线网卡:在网络管理器中,单击菜单和“创建新的无线网络…”。 稍后,您将在Android中看到网络。

您可以从计算机的wifi菜单创建无线网络。 右键单击任务栏中的wifi图标,然后单击“创建新网络”。 填写选项,然后通过手机连接到该选项。 确保您的计算机也连接到有线网络电缆。 根据我的理解,电缆应自动桥接到无线网络,它应该都可以正常工作。

在三星S3迷你上使用Kubuntu 15.10和Android 4.2.2上的USB电缆为我提供了一个工作解决方案

要求

Android的

  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. 在您的计算机上连接到您的Android设备

     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) 

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

这对我有用

  • Ubuntu 12.04
  • Android 4.0.4

安装hostapd

 sudo apt-get install hostapd 

简单来说,hostapd允许您创建软件wifi接入点,允许适当数量的配置选项。 在本文的其余部分,我将展示如何使用hostapd在Linux中创建软件访问点,并通过它将设备分享到设备

安装hostapd安装dhcp服务器后

sudo apt-get install dhcp3-server hostapd

然后,打开一个文本编辑器程序,例如gedit将以下内容复制到其中。

 interface=wlan0 driver=nl80211 ssid=YOUR_SSID_NAME hw_mode=g channel=11 wpa=1 wpa_passphrase=YOUR_PASSWORD wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP wpa_ptk_rekey=600 

请在ssid=之后更改以填写网络名称,并在wpa_passphrase=之后wpa_passphrase=密码。

将文件保存为home文件夹中的hostapd.conf

创建一个新的ad-hoc无线并连接它。

现在,打开终端并键入:

 sudo hostapd hostapd.conf 

打开手机wifi,找到你的ssid。

来自HERE