思路:目前国内的随身wifi基本上都是用的Ralink芯片的USB无线网卡而已,只不过很多无线网卡芯片不支持master模式,所以不能兼做ap,而Ralink出的几款芯片都是支持master模式的,在Linux下就可以通过hostapd这个软件包+iptables(NAT)+dhcpd(给设备动态分配IP)设置使手机等设备共享电脑上的有线连接实现上网。

经查,小米wifi用的应该是mediatek(也就是以前的Ralink)的7601芯片。ArchLinuxer最喜欢做的一件事,先在AUR里搜搜看:

yaourt -Ss 7601

结果如下

aur/dkms-mt7601u v3.0.0.4-1 (2)

DriverforRalink MT7601U chipset wireless adaptors

aur/dkms-mt7601u-latest v3.0.0.4-5 (4)

DriverforRalink MT7601U chipset wireless adaptors

aur/mt7601u-ap-dkms 3.0.0.3-1 [installed] (1)

Kernel moduleforRalink MT7601U chipset wireless adaptors with Access

Point (AP/Master) support.

aur/mt7601u-dkms 3.1-1 (1)

Kernel moduleforMediaTek MT7601U USB dongles, written from scratch based

on the vendor GPL-driver. Unlike the vendor driver this driver uses modern

Linux WiFi infrastructure and should work flawlessly with NetworkManager,

wicd, wpa_supplicant and such.

aur/mt7601u-git 2015.04.30-1 (3)

DriverforMediatek MT7601U USB bgn WiFi dongle

aur/test_mt7601u 0.1-2 (0)

Testif mt7601u (wifi) is loaded. If not, it install it

心中窃喜呀!居然有‘mt7601u-ap-dkms‘这个现成的包,直接开装!

$ yaourt -S mt7601u-ap-dkms#此处省略一万字。。。

:: 进行安装吗? [Y/n]

(1/1) 正在检查密钥环里的密钥 [######################] 100%(1/1) 正在检查软件包完整性 [######################] 100%(1/1) 正在加载软件包文件 [######################] 100%(1/1) 正在检查文件冲突 [######################] 100%(1/1) 正在检查可用硬盘空间 [######################] 100%(1/1) 正在安装 mt7601u-ap-dkms [######################] 100%Creating symlink/var/lib/dkms/mt7601u-ap/3.0.0.3/source ->

/usr/src/mt7601u-ap-3.0.0.3DKMS: add completed.

Error! echoYour kernel headersfor kernel 4.0.1-1-ARCH cannot be found at/usr/lib/modules/4.0.1-1-ARCH/build or /usr/lib/modules/4.0.1-1-ARCH/source.>>> You might need to modprobemt7601Uap manually.>>> Also, you *must*change the default values (especially WPAPSK)>>> in /etc/Wireless/RT2870AP/RT2870AP.dat>>> Read the documentation in /usr/src/mt7601u-ap-3.0.0.3/doc.

WTF! 我的机器上竟然没有linux header...(抱歉昨天刚装的新电脑,系统也是新的)。 赶紧装上!

$ yaourt -S linux-headers

之后就没有问题了,yaourt -S mt7601u-ap-dkms顺利安装并成功自动编译成功内核模块,注意后面的提示:

>>> You might need to modprobemt7601Uap manually.>>> Also, you *must*change the default values (especially WPAPSK)>>> in /etc/Wireless/RT2870AP/RT2870AP.dat>>> Read the documentation in /usr/src/mt7601u-ap-3.0.0.3/doc.

嗯,按照给出的提示,先把新编译好的内核模块modprobe一下:

# modprobertutil7601Uap

#modprobemt7601Uap

#modprobe rtnet7601Uap

同样按照给出的提示,编辑/etc/Wireless/RT2870AP/RT2870AP.dat,把里面SSID(名称)和WPAPSK(密码)改成你自己的内容:

...

SSID=RA_11_AP #AP对外显示的名称

...

WPAPSK=Chang_Me_Now #密码

...

好!有了驱动,咱就可以安装需要的软件了:

$ yaourt -S hostapd

之后要写入这个文件,指定SSID名称和密码以及小米wifi的设备名(ra0):/etc/hostapd/hostapd.conf

ssid=xiaomi_WIFI #设置AP接入点名称wpa_passphrase=Somepassphrase #设置你的WIFI密码

interface=ra0 #小米随身wifi插入电脑后默认的interface名称就是ra0

bridge=br0

auth_algs=3channel=7driver=nl80211

hw_mode=g

logger_stdout=-1logger_stdout_level=2max_num_sta=5rsn_pairwise=CCMP

wpa=2wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP CCMP

顺便说一下,在mt7601u-ap-dkms这个包里设置过一次SSID和密码了,在hostapd里也有一个设置SSID和密码的地方。我不知道到底哪个才是真正管用的,所以两个地方都设成一样的了,免得麻烦。

为了NAT,需要软件包’iptables‘,多数发行版默认应该已经装好了。为了给联网的设备分配动态IP,需要软件包dhcp并做一定的配置:

yaourt -S iptables dhcpsudo mv /etc/dhcpd.conf /etc/dhcpd.conf.example #主要是默认的配置文件比较烦,我们先把它备份一下,再自己创建一个sudo vi /etc/dhcpd.conf

在/etc/dhcpd.conf中输入以下内容:

option domain-name-servers 114.114.114.114, 8.8.8.8;

option subnet-mask 255.255.255.0;

option routers192.168.123.100;

subnet192.168.123.0 netmask 255.255.255.0{

range192.168.123.150 192.168.123.250;

}

默认情况下,dhcpd会对电脑上所有网卡都起作用,而我们希望它只作用于小米wifi,故可以借助systemctl让它成为只针对ra0这个interface的service。先要创建一个systemctl用的配置文件:

sudo vi /etc/systemd/system/dhcpd4@.service

输入以下内容:

[Unit]

Description=IPv4 DHCP server on %I

Wants=network.target

After=network.target

[Service]

Type=forking

PIDFile=/run/dhcpd4.pid

ExecStart=/usr/bin/dhcpd -4 -q -pf /run/dhcpd4.pid %I

KillSignal=SIGINT

[Install]

WantedBy=multi-user.target

准备好dhcpd后,就可以编辑脚本了:

vi ~/bin/ap.sh

输入以下内容:

#!/bin/sh#modprobe kernel modules forxiaomi Wireless cardmodprobertutil7601Uapmodprobemt7601Uapmodprobertnet7601Uap

#Set Static IP address on interface ra0

ip link set up dev ra0

ip addr add192.168.123.100/24dev ra0

#enable packet forwarding

sysctl net.ipv4.ip_forward=1#enable NAT

iptables-t nat -A POSTROUTING -o enp2s0 -j MASQUERADE

iptables-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

iptables-A FORWARD -i ra0 -o internet0 -j ACCEPT

#enable dhcpd

systemctl start [email protected]

#enable hostapd

systemctl start hostapd

保存以后,设置其为可执行文件,再sudo运行,大功告成!

chmod 755 ~/bin/ap.sh

sudo ~/bin/ap.sh

以后只要想用小米WIFI共享上网,只要sudo运行一遍这个脚本就行啦!

参考资料:

本文是受上面说的这篇文章的启发,我自己对照Arch Wiki设置好的,这样对整个设置的内部运行机制了解得深一些。那篇文章里提供了Github的源码,可以下载下来后直接编译运行,似乎简单些。但我只编译了没运行,不确定能不能直接用。

原文:http://www.cnblogs.com/victl/p/4498595.html

小米wifi设置access_小米随身wifi到手,准备开搞当个ap给linux共享wifi上网!相关推荐

  1. linux 共享wifi热点,Kali-linux下使用HostAPd创建wifi热点(AP)

    安装hostapd:apt-get install hostapd 2.配置hostapd.conf 这个文件里有大量配置信息,幸好我们一般能用到的就那几个(其中多数去掉注释,配置保持默认):inte ...

  2. wifi虚拟服务器名称怎么弄,虚拟wifi设置方法大全【图解】

    现在手机的功能都很强大,我们除了可以利用手机通讯之外,手机还具有很多的功能.我们可以在手机上面听歌.看视频.上网等.这些功能都是离不开网络的,只有有了网络我们才能更好的使用这些功能.如果是直接使用数据 ...

  3. Android跳转至系统位置信息设置界面和wifi设置界面

    跳转至位置信息设置界面: /**直接跳转至位置信息设置界面*/public static void openLocation(Context context) {Intent intent = new ...

  4. 新版phicomm虚拟服务器,斐讯(PHICOMM)路由器WiFi设置教程 | 192路由网

    斐讯路由器WiFi设置网址是多少?斐讯路由器无线网络(WiFi)怎么设置?部分新手用户经常在问斐讯路由器WiFi设置相关的问题:因此,本文将详细介绍斐讯路由器无线WiFi的设置方法.首先说明一下,本文 ...

  5. html5跳转WiFi设置,如何进入wifi管理界面_如何进入wifi设置界面?-192路由网

    在本文中,鸿哥给大家介绍,用电脑怎么进入wifi路由器设置页面,并对wifi路由器进行相关的设置. 平时经常有些用户找到鸿哥,问我怎么才能进入wifi管理界面? 原因是这些用户中,很多新手用户是完全不 ...

  6. 共享wifi到底应该怎么样去运营呢?

    共享wifi到底应该怎么样去运营呢? wifi大师到底应该怎么样去运营呢? 怎么样去运营才能有更好的效果呢? 下面让阿星我来为大家讲解一下这个WiFi大师到底应该怎么去做才能达到更好的运营效果 首先: ...

  7. 【2022年火爆的商铺共享WiFi系统源码】

    2022年火爆的共享wifi到底是一个什么项目? 共享Wifi项目在市场上又掀起了热潮,很多人好奇的问共享wifi到底是一个什么项目呢?今天就带大家来了解一下共享wifi! 一.共享wifi是一个什么 ...

  8. 微火的腾讯共享wifi项目是什么?这个项目有前景吗?

    腾讯共享WiFi又火了,但还是有很多人不了解腾讯共享wifi项目什么.今天,小编来和大家聊聊腾讯共享WiFi是什么,以及这个项目的前景分析.#共享wifi# 事实上,腾讯共享WiFi项目并不是腾讯的, ...

  9. 共享wifi项目怎么样

    共享Wifi项目在市场上有掀起了热潮,很多人好奇的问共享wifi到底是一个什么项目呢?今天就带大家来了解一下共享wifi!这是所有共享项目中的一个小项目.对于共享WiFi,很多人不了解,但提到共享单车 ...

  10. 我今天就带大家了解一下共享WiFi项目,为什么如此的受大家喜爱,以及它闪亮的地方在哪.

    共享wifi码目前是最为火爆的项目之一,其原理很简单,一张带有二维码的贴纸,通过绑定商家WiFi在二维码上,用户只需扫二维码就可以连接商家WiFi,并且产生收益.今天,我们就来看看扫码赚钱的共享wif ...

最新文章

  1. java 导出 jar lib_java使用IDEA引入外部jar和导出可执行jar文件的方法
  2. 可执行SQL文的mybatis工具类
  3. ubuntu下 ffmpeg视频编码和转换命令
  4. linux操作系统网络内核优化
  5. 用Red5搭建支持WEB播放的实时监控视频
  6. Oracle Dump 分析学习总结
  7. 王石:人生60岁才是开始
  8. VS C# DateTimePicker()的小技巧
  9. Angular 应用级别的依赖 Fake
  10. OpenSSL(openssl-1.0.1h)编译与安装(Win7)
  11. 与Zell关闭星期五
  12. 【SICP练习】102 练习2.79-2.80
  13. python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
  14. 网络攻击导致企业遭受损200万美元
  15. 【基础教程】基于matlab图像融合总结【含Matlab源码 055期】
  16. php html ubb,PHP写的UBB代码转换HTML代码
  17. 64位Windows2003下如何正确发布VesnData.Net(VDN)
  18. 百兆网络变压器原理图及网络变压器功能(附PDF工程图纸)
  19. voip 网络电话快速搭建
  20. 红与黑 DFS(JAVA解法)

热门文章

  1. 刷新计算机dns缓存的命令,如何刷新dns缓存 刷新dns缓存命令(ipconfig /flushdns)
  2. 世界以痛吻我,我要报之以歌
  3. web前端课程设计:个人博客网站设计——个人博客(6页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web前端设计与开发期末作品
  4. xmpp 即时通讯
  5. QT应用编程: windows下QT调用COM组件
  6. date日期格式化 java,Java日期格式化常用方法
  7. 梦网云科技的短信接口怎么样,真实体验
  8. 软件测试报告模板excel,测试报告模板,excel.docx
  9. 国二C语言用编译器做题,C语言编程实例100题——国二国三题库大全(必过).doc
  10. vue 一周日历展示,上一周下一周展示。