OpenWrt路由器通过iPhone有线共享网络上网
2018年4月更新:
我自己的手机在openwrt上网速很慢,在电脑上又很快。应该不是被限速了,但是没找到原因。
三大运营商在学校争客户,手机卡开出了校内无限流量的条件。很开心,之前准备到东北大学的时候还担心校园网25G/月不够用,这就不用担心了。因为是手机卡上网,所以需要一个上网卡或者一个手机来上网络再共享网络给电脑/路由器。
方案一:使用上网卡共享。
这是我最开始认为稳妥的方法,便宜,方便。去闲鱼收了一个上网卡,50块。
到手后测试可以连电脑,也通过找资料,使得上网卡可以直接插在路由器上使用。
但是上网卡发热太高,导致网速变慢,延迟增高。这个办法就被否定了。
方案二:使用手机共享网络
用手机开热点是生活中经常办的事情。而且之前在学校也试过用iPhone连接数据线给电脑共享网络。
这里设备选择手头闲置的iPhone5s。
一、使用iPhone有线共享网络给电脑
讲解最简单的直接使用电脑共享iPhone的网络。
Windows平台需要安装iTunes,安装完之后,手机端将iPhone通过数据线连接到电脑,并在设置->个人热点->打开。电脑端在网络连接中就可以看到iPhone的网络,如果电脑网口还连接有网线,则禁用电脑网口。
Fedora直接插上手机就有了。(没太仔细研究)
二、使用OpenWrt路由器
Fedora都能使用iPhone共享的网络,我觉得OpenWrt肯定也可以,所以我就去搜索资料。发现可以,并且自己也尝试成功。下面将查到的资料总结一下。(其实一篇文章就讲清楚了,但是之前查了很多)
(一)安装OpenWrt依赖包
opkg update
opkg install kmod-usb-net-ipheth kmod-usb-net kmod-usb-ohci kmod-usb-uhci kmod-usb2 libimobiledevice-utils libplist-utils libusbmuxd-utils usbmuxd
kmod-usb-net-ipheth //这个是啥,查查
具体依赖包的作用见下面
Kernel modules --->
USB Support --->
<*> kmod-usb-net............... Kernel modules for USB-to-Ethernet convertors
<*> kmod-usb-ohci............................... Support for OHCI controllers
<*> kmod-usb-uhci............................... Support for UHCI controllers
<*> kmod-usb2................................... Support for USB2 controllers Utilities --->
<*> libimobiledevice-utils............ A library that talks to Apple devices.
<*> libplist-utils............................. Apple property list converter
<*> libusbmuxd-utils......................... USB multiplexing daemon utilies
<*> usbmuxd.......................................... USB multiplexing daemon
(二)配置usbmuxd
iPhone的USB tethering需要usbmuxd进程的运行。usbmuxd并不会自动运行,因此可以在OpenWrt终端手动启动,或制作以下开机自启动脚本,并通过命令使其自启动。[1]
使用命令新建/etc/init.d/usbmuxd脚本,并给脚本添加可执行权限。
touch /etc/init.d/usbmuxd
vi /etc/init.d/usbmuxd
chmod +x /etc/init.d/usbmuxd
下面是自启动脚本内容。
#!/bin/sh /etc/rc.common
# Copyright (c) - OpenWrt.org
START= stop() {
killall usbmuxd
} start() {
if [ ! -d "/var/lib/lockdown" ];then
mkdir -p /var/lib/lockdown
fi ./usr/sbin/usbmuxd &
}
脚本添加完成后,运行命令启动usbmuxd,并且添加自启动。
/etc/init.d/usbmuxd enable
/etc/init.d/usbmuxd start
(三)添加网络
在usbmuxd进程启动的前提下,使iPhone通过usb线连接路由器,并开启iPhone个人热点。
此时,手机端会弹出如图显示的是否允许电脑连接多媒体。这个可以看出路由器已经可以识别iPhone。
通过下面代码查看新增加的网络设备。原始设备一般为eth0,新增设备可能是eth1或eht2。
cat /proc/net/dev
这里,在我的路由器看到的新增设备是eth1,以此为例子,添加网络。
添加方式一:使用uci设置。
uci set network.iPhone=interface
uci set network.iPhone.proto=dhcp
uci set network.iPhone.ifname=eth1
uci commit network
添加方式二:编辑/etc/config/network文件,在文件中加入
config interface 'eth1'
option ifname 'iPhone'
option proto 'dhcp'
添加方式三:在luci界面手动添加
Network->Interface->Add new interface
添加网络,设备选择eth1,协议选dhcp
添加网络后,修改接口防火墙,与wan口在一起。(这个还没搞懂)
(四)上网吧!
这里将上面的思路整理了一下,写了一个自动配置脚本。
#!/bin/sh #script to make the OpenWrt Router use net from iPhone #install packages
opkg update
opkg install kmod-usb-net-ipheth kmod-usb-net kmod-usb-ohci libimobiledevice-utils libplist-utils libusbmuxd-utils usbmuxd #usbmuxd auto-start
cp usbmuxd /etc/init.d/usbmuxd
chmod +x /etc/init.d/usbmuxd /etc/init.d/usbmuxd enable
/etc/init.d/usbmuxd start #set network
uci delete network.wan uci set network.iPhone=interface
uci set network.iPhone.proto=dhcp
uci set network.iPhone.ifname=eth1
uci commit network uci set firewall.@zone[].network='wan6 iPhone'
uci commit firewall
/etc/init.d/firewall restart
/etc/init.d/network reload
/etc/init.d/network restart
也可以去我的GitHub查看
https://github.com/huipengly/OpenWrtUseiPhoneNet
参考
OpenWrt路由器通过iPhone有线共享网络上网的更多相关文章
- VMware如何实现和主机共享网络上网
VMware虚拟机的三种联网方法及原理 一.Brigde--桥接 :默认使用VMnet0 1.原理: Bridge 桥"就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在& ...
- 共享有线实现手机上网,然后使用charles来抓包
问题描述:共享有线实现手机上网(http://support1.lenovo.com.cn/lenovo/wsi/htmls/detail_1323385217890211.html) [建议] 还 ...
- OpenWRT路由器使用ipv6拨号上网教程
文章来源于群友,如有侵权,请联系我(aha971030@gmail.com)删除 原理介绍分析: 湖北E信地区可以使用ipv6拨号,好处是网络是上下对等不限速网络,也就是说,你的端口上限是多少,网上就 ...
- VMware Linux虚拟机与WIN7操作系统共享无线网络上网配置
Linux虚拟机与WIN7操作系统共享无线网络上网配置 by:授客 QQ:1033553122 测试环境: CentOS-7-x86_64-DVD-1503-01.iso Vmware 9 实践操作: ...
- OpenWrt 路由器如何让 lan 口主机获得 ipv6 网络访问 -- 知乎
本文转自知乎: OpenWrt 路由器如何让 lan 口主机获得 ipv6 网络访问? - mistforest的回答 - 知乎https://www.zhihu.com/question/29667 ...
- win7笔记本如何设置共享网络供手机WIFI上网?
第一步 按WIN+R调出“运行”栏,在“运行”菜单栏输入“cmd”,出现命令提示符,输入命令“netsh wlan set hostednetwork mode=allow ssid=xiaoming ...
- OpenSUSE共享网络
因为想要使用Arduino Ethernet扩展版,想要搭建一个局域网供其使用有线,无奈路由器离我太远.遂有本文. 实验器材: 装有OpenSUSE.有线网卡.无线网卡的笔记本. 路由器一台. 实验步 ...
- MAC Book 共享网络连接
CHENYILONG Blog MAC Book 共享网络连接 MAC Book 共享网络连接 MAC比Windows共享连接要方便很多,只需要以下两步操作: 1.打开系统偏好设置,选择共享 2.选择 ...
- 如何配置Hyper-V的虚拟机通过主机网络上网 (NAT)
前言 最近开始在Windows 8 上面直接使用Hyper-V的技术来建立虚拟环境进行开发和测试,这样免去了再安装额外软件的需要.在实际使用的时候,尤其是配置网络共享的时候,遇到些问题,与其他一些虚拟 ...
随机推荐
- python(18)- 协程函数及应用
协程 def init(func): def wrapper(*args,**kwargs): obj = func(*args,**kwargs) next(obj) return obj retu ...
- ffmpeg 跟我学 视频教程
最近一段时间找时间录制了一些Ffmpeg视频教程,还有录制完毕,会持续更新,内容会包含Ffmeg保存文件,网络流转发, 编码,解码,播放器制作,以及服务端搭建等等,适合初学者,有需要的朋友的可以关注: ...
- ElasticSearchserver操作命令
在win7环境,进入elasticsearch安装文件夹的bin文件夹: 1. elasticsearch.bat 就能够启动elasticsearch了.执行这个插件的优点是:elasticsear ...
- TXT文本写入数据库
load data local infile "D:/abc.txt" into table lee; leedabao.txt内容如下,中间用Tab隔开: 2 yuanpeng ...
- mongodb查看连接数、同步时间、oplog及修改表名的操作
1) mongodb查看连接数: db.serverStatus().connections; 2) mongodb查看同步时间: db.printSlaveReplicationInfo(); % ...
- Linux 中权限的再讨论( 上 )
前言 在Linux系统中,用户分为三个部分( 所有者 同组人 其他 ).每个部分的权限又可以赋予读/写/执行权限.这样,文件的权限标记一共包含 9 个权限位.好了,很多朋友对于Linux权限的了解就仅 ...
- SAM4E单片机之旅——5、LED呼吸和PWM
PWM在高频情况下,一个很好的用处就是通过控制占空比来控制输出的功率,比如控制风扇转速.LED灯的亮度等.这次就利用PWM的中断功能,动态改变脉冲的占空比,来实现呼吸灯的效果. 一.实现思路 PWM可 ...
- EasyIPCamera高性能摄像机RTSP服务器RTSPServer解决方案
EasyIPCamera EasyIPCamera是由EasyDarwin团队开发的一套非常稳定.易用.支持多种平台(包括Windows/Linux 32&64,Android,ARM his ...
- 九度OJ 1086:最小花费 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3960 解决:819 题目描述: 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下 ...
- 面试算法爱好者书籍/OJ推荐
面试算法爱好者书籍/OJ推荐 这个书单也基本适用于准备面试. 一.教科书 基本上一般的算法课本介绍的范围都不会超出算法导论和算法引论的范围.读完这两本书,其它的算法课本大致翻翻也就知道是什么货色了. ...