android ubuntu网络,Android手机利用USB共享网络通过Ubuntu连接网络
注意,是手机利用PC网络连网,而不是PC利用手机网络连网。前提:1、Ubuntu正常连接网络2、手机已root3、手机上安装了busybox步骤:1、设置Ubuntu上的IP转发查看"/proc/sys/net/ipv4/ip_forward"文件中的值是否为"1", 如果不是, 则需要在"/etc/sysctl.conf"文件中添加"net.ipv4.ip_forward=1", 然后执行以下命
注意,是手机利用PC网络连网,而不是PC利用手机网络连网。
前提:
1、Ubuntu正常连接网络
2、手机已root
3、手机上安装了busybox
步骤:
1、设置Ubuntu上的IP转发
查看"/proc/sys/net/ipv4/ip_forward"文件中的值是否为"1", 如果不是, 则需要在"/etc/sysctl.conf"文件中添加"net.ipv4.ip_forward=1", 然后执行以下命令:
$ sudo /etc/init.d/procps restart
2、设置Ubuntu上的NAT
执行下面的命令查看表中是否有相应的表项:
$ sudo iptables --table nat -L POSTROUTING
如果没有则执行以下命令:
$ sudo iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE
3、手机通过USB线连接到PC,打开手机上的“USB共享网络”(具体位置与名称手机各异,大概在“设置-网络-网络共享”之类的)。
分别在电脑和手机上输入"ifconfig"与"busybox ifconfig", 你会发现两边都有一个叫做"usb0"的网络接口, 且IP地址都是一个网段, 如"192.168.42.X", 两边也可以互相ping通. 这就是USB共享虚拟出来的网络接口, 我们后面全部需要靠这个接口来与电脑通信。
手机上的输入可通过在Ubuntu上用adb shell进入手机终端来输入,如果提示insufficient permissions for device,则先切到root身份,再执行以下命令:
# adb kill-server
# adb start-server
4、设置手机上的路由表. 方法很简单, 只需要将默认路由的网关设置为电脑上"usb0"接口的IP地址就可以了, 比如这个IP地址为"192.168.42.100", 则在手机终端中输入以下命令:
# busybox route add default gw 192.168.42.100
5、设置手机上DNS
# setprop net.dns1 8.8.8.8
好了,大功告成!
最后,有点麻烦的是,每次重新打开USB共享,电脑和手机上的usb0的IP会重新分配,因此,需要重新配置手机上的路由。
更多推荐
所有评论(0)