Linux制作wifi热点/无线路由
参考: http://blog.csdn.net/u011641885/article/details/49512199
1.工具/原料
有无线网卡(usb接口的RT3070无线网卡)、有线网卡的台式机
安装linux操作系统,我使用的是ubuntu14.04
2.方法/步骤
a.检查确认无线网卡支持master模式
执行命令:iw list
在命令执行结果中如果看到了下面的内容(AP, AP/VLAN),就说明这张网卡是支持用于ap做路由的
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor
* mesh point
b.安装hostapd
我是手动编译的, 目录在/home/edward/opt/edward/hostapd/
修改hostapd配置文件vim /etc/dhcp/dhcpd.conf
将此文件改成如下:
ctrl_interface=/var/run/hostapd
interface=wlan0
driver=nl80211
ssid=emma
hw_mode=g
channel=10
macaddr_acl=0
auth_algs=3
wpa=2
wpa_passphrase=fah191430
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=TKIP CCMP
AP热点名称为emma, 密码为fah191430
然后开启hostapd, 进入到/home/edward/opt/edward/hostapd/hostapd目录
sudo ./hostapd -B /etc/hostapd.conf
发现有以下错误:
Configuration file: /etc/hostapd/hostapd.conf
nl80211: Could not configure driver mode
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
nl80211 driver initialization failed.
wlan0: interface state UNINITIALIZED->DISABLED
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
hostapd_free_hapd_data: Interface wlan0 wasn't started
解决办法:
改变NetworkManager里的状态,关闭wifi,同时软锁定
sudo nmcli nm wifi off
sudo rfkill unblock wlan
然后再启动hostapd服务
sudo hostapd -B /etc/hostapd.conf
c.安装配置dhcp服务器
sudo apt-get install isc-dhcp-server
修改配置文件/etc/dhcp/dhcpd.conf
option domain-name-servers 218.85.157.99;
subnet 192.168.1.0 netmask 255.255.255.0 { //注意:这里192.168.1.0不能写成192.168.1.1
range 192.168.1.77 192.168.1.250;
option routers 192.168.1.3; // 网关 要写成这台机器的 wlan0 的ip
option broadcast-address 192.168.1.255;
}
启动dhcp服务器
启动前先配置网卡的IP和子网掩码
sudo ifconfig wlan0 192.168.1.3 netmask 255.255.255.0 up
sudo /etc/init.d/isc-dhcp-server restart
d.iptables配置转发规则
配置转发前需要打开linux转发功能
临时改变,重启后恢复
sudo sysctl -w net.ipv4.ip_forward=1
永久改变
vim /etc/sysctl.conf
#添加或修改这样一段:
net.ipv4.conf.default.rp_filter = 1
#然后执行命令
sysctl -p
使用 iptables 设置转发
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
其中第一条表示将通过本机的转发数据包从eth0(外网)这个网卡发出去,另外两条表示只转发192.168.1.0/24这个网段过来的数据包,
这个网段正好是wlan0其它设备连上本机以后分配的网段
Linux制作wifi热点/无线路由的更多相关文章
- Linux创建WiFi热点
手机流量用完,需要开WiFi,由于是LinuxMint,感觉配置还算容易,找到一个不错的教程,收藏一下,以备后用.除了修改配置文件那步在我的电脑不需要外其他基本正确,而且Mint本来就衍生自Ubunt ...
- linux 开启wifi热点
1,在网络连接管理中创建一个wifi连接,点击 Add,然后选Wi-Fi 2,设置wifi热点名字.wifi接连名字 3,设置 Mode 选 Ad-hoc,其它默认. 4,在 Wi-Fi Securi ...
- Linux:Ubuntu16.04下创建Wifi热点
Linux:Ubuntu16.04下创建Wifi热点 说明: 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章转载自编程人生 具体步骤如下: 1. ...
- Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点
前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...
- Linux:Ubuntu16.04下创建Wifi热点
Linux:Ubuntu16.04下创建Wifi热点说明 1.Ubuntu16.04里面可以直接创建热点,而不用像以前的版本,还要其他辅助工具. 2.本篇文章参考自编程人生 具体步骤如下: 1. 点击 ...
- linux wifi热点服务脚本
最近有关wifi热点的驱动,启动参数都调试完了,验证可以连接传输数据. 首先要在系统启动脚本中插入wifi驱动,配置wlan0的ip insmod /system/vendor/modules/818 ...
- Kali Linux破解wifi密码(无须外置网卡)
环境准备: 方式一(选择该方式):Kali Linux.笔记本一台.U盘(至少8G) 方式二:Kali Linux.外置网卡.笔记本一台.VM 特别说明,主要是使用方式一进行破解,如果有外置网 ...
- 【树莓派】【转】将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)
下文为转载,文章转自:http://wangye.org/blog/archives/845/,仅供本次学习实践参考. 最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就 ...
- Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具
Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...
随机推荐
- JavaScript 中的不可变对象(Immutable Objects)
默认情况下,JavaScript 中的对象是可变的.我们可以更改原始值(字符串,数字等)和对象.我们来看看这个对象: let obj = { num: , obj: { content: " ...
- 使用maven命令搭建多模块企业级项目
http://www.cnblogs.com/xdp-gacl/p/4242221.html
- C++ Primer笔记2_四种类型转换_异常机制
1.类型转换 命名的强制类型转换: 有static_cast.dynamic_cast.const_cast.reinterpret_cast static_cast: 编译器隐式运行的不论什么类型转 ...
- UISegmentedControl 修改字体大小 和 颜色
UISegmentedControl 修改字体大小 和 颜色 大小: UIFont *font = [UIFont boldSystemFontOfSize:14.0f]; NSDictionary ...
- vue - check-versions.js for semver
引入的是一个语义化版本文件的npm包,其实它就是用来控制版本的,详情见:https://www.npmjs.com/package/semver 用谷歌翻译npm文档 semver.valid('1. ...
- silverlight客户端保存文件乱码问题
最近做一个项目,有一个需求是这样的:服务端从数据库里获得数据,客户端保存为Excel文件 最初解决方案:服务端获得数据,通过ExcelPackage,Convert.ToBase64String将by ...
- ES6 数组扩展
1....扩展运算符 该运算符将一个数组,变为参数序列. 作用:(1)代替aplly 'use strict'; Math.max(...[2,5,8]) (2)将字符串转为数组 2.Array.fr ...
- C++11 std::async 包装实体店::packaged_task
更好的方式 C++11中提供了操作多线程的高层次特性. std::packaged_task 包装的是一个异步操作,相当与外包任务,好比我大阿里把电话客服外包给某某公司. std::future 提供 ...
- activeMq发送消息流程
1,发送消息入口 Message message = messageBean.getMessageCreator().createMessage(session); producer.send(mes ...
- 一个表中的字段值用作另一个表的In查询条件
Question表与Paper表 Paper表中字段QuestionIds存储的是Question表中字段Id的拼接后的值 如: 'f855eba1-b308-4bd7-a250-c071a0e1bd ...