1、安装需要的包

sudo apt-get install hostpad uhdcpd

2、配置/etc/network/interfaces文件

配置wlan0为静态地址

格式如下:

iface wlan0 inet static

address 192.168.10.1

netmask 255.255.255.0

保存,退出

3、配置/etc/udhcpd.conf文件

设置 自动分配地址范围  dns  网关等

具体如下:(依据个人需要进行配置)

start 192.168.10.2 # This is the range of IPs that the hostspot will give to client devices.

end 192.168.10.200

interface wlan0 # The device uDHCP listens on.

remaining yes

opt dns 8.8.8.8 8.8.4.4 # The DNS servers client devices will use.

opt subnet 255.255.255.0

opt router 192.168.10.1 # The Pi's IP address on wlan0 which we will set up shortly.

opt lease 864000 # 10 day DHCP lease time in seconds

4、sudo vim /etc/default/hostpad

#DAEMON_CONF= ""  改为

DAEMON_CONF= "/etc/hostapd/hostapd.conf"

5、编辑/etc/hostapd/hostapd.conf

如下:

  1. # 把无线网卡wlan0 作为接入点
  2. interface=wlan0
  3. # 使用nl80211驱动
  4. driver=nl80211  (有的可能是rtl871xdrv,我的不行,提示“未知的”)
  5. #共享网络的SSID是RaspberryPi
  6. ssid=RaspberryPi(WiFi名)
  7. # 网卡工作在802.11G模式
  8. hw_mode=g
  9. #无线网卡选用11信道
  10. channel=11
  11. # WPA2 配置
  12. wpa=2
  13. #wpa密码是raspberry
  14. wpa_passphrase=raspberry(WiFi密码)
  15. #认证方式为WPA-PSK 加密方式为CCMP
  16. wpa_key_mgmt=WPA-PSK
  17. wpa_pairwise=CCMP
  18. rsn_pairwise=CCMP
  19. beacon_int=100
  20. auth_algs=3
  21. wmm_enabled=1

6、编辑 /etc /default/udhcpd

将 其注释掉

#DHCPD_ENABLED=no

7、配置路由转发

下一步就是让从无线网卡 wlan0 进来的数据 转发到 有线网卡 eth0上面 通过有线网卡连接网络接到互联网。

因为eth0是获取的动态ip,所以这里通过iptables来实现简单的路由转发。

输入命令

  1. sudo iptables -F
  2. sudo iptables -X
  3. sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  4. sudo bash
  5. iptables-save > /etc/iptables.up.rules
  6. exit


输入命令

  1. sudo nano /etc/network/if-pre-up.d/iptables


把下面两行复制粘贴到编辑窗口

  1. #!/bin/bash
  2. /sbin/iptables-restore < /etc/iptables.up.rules


保存退出
输入命令

  1. sudo chmod 755 /etc/network/if-pre-up.d/iptables


开启内核转发
输入命令

  1. sudo nano /etc/sysctl.conf


找到这里

  1. # Uncomment the next line to enable packet forwarding for IPv4
  2. #net.ipv4.ip_forward=1


去掉 net.ipv4.ip_forward 前面的#
保存退出

输入命令

  1. sudo sysctl -p


 

8、将服务设置为开机自启模式

sudo update-rc.d hostapd enable

sudo update-rc.d udhcpd enable


之后,重启机器,使用手机应该能看到设置的WiFi,连接后,访问以下外网,看看是否可用

树莓派设置成无线路由(AP)的更多相关文章

  1. 树莓派.设置无线网卡为AP工作模式(pi2和pi3)

    树莓派2的设置办法: 1. 安装NetworkManager管理工具(可选),以支持nmcli命令 sudo apt-get install -y network-manager 2. 安装hosta ...

  2. 树莓派设置静态IP地址

    树莓派设置静态IP地址http://www.jianshu.com/p/b0e6d066d6b6 ——————————————————————————————————————————————————— ...

  3. 华为无线ap3010dn-agn刷成胖ap

    刚买的华为ap3010dn-agn 版本为 v200R007C20SPC500  默认不带命令 ap-mode-switch [Huawei]dis version Huawei Versatile ...

  4. C++构造函数/析构函数 设置成private的原因

    C++构造函数/析构函数 设置成private的原因 标签(空格分隔): c/c++ 将构造函数,析构函数声明为私有和保护的,那么对象如何创建? 已经不能从外部调用构造函数了,但是对象必须被构造,应该 ...

  5. Mac下输入法总是默认中文,怎么设置成英文的?

    最近一同事在DreamWeaver里,写CSS样式的时候,默认总是中文,切到别的窗口,再切回来,就变成中文了,总要按一下切换键,时间长了特别烦人. 在网上找了一些方法,最后找到一个有效的. 总结一下就 ...

  6. 关于网页控件设置成disabled以后,提交不到后台的问题

    在开发的时候经常遇到这样的问题,就是需要设置某个控件不可编辑,这个控件可能是一个input文本框,可能是一个select下拉列表 遇到这样的问题,一般有两种处理方法 第一种是将input 控件添加 d ...

  7. C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动(转载)

    #region//开机自动运行        private void CB_Auto_CheckedChanged(object sender, EventArgs e)        {//CB_ ...

  8. C#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标

    #项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标 2012-08-25 09:11匿名 | 浏览 3286 次  C#编程 C#项目用vs2005自带的工具打包后安装的桌面快捷方式图标怎么设 ...

  9. 让超链接点击后不跳转,可以用href = "#",但是这个#就会锚点到页面最上边 点击链接后不跳转可以设置成

    让超链接点击后不跳转,可以用href = "#",但是这个#就会锚点到页面最上边     点击链接后不跳转可以设置成     1.<a href="javascri ...

随机推荐

  1. gcc常用命令集

    引用:http://developer.51cto.com/art/200609/32317_1.htm 对于GUN编译器来说,程序的编译要经历预处理.编译.汇编.连接四个阶段 假设源程序文件名为te ...

  2. Intel 编译Boost库

    C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013 ...

  3. linux网络编程:使用单进程实现多客户端通信

    服务端: //回射服务器 //避免僵尸进程 #include "unistd.h" #include "sys/types.h" #include " ...

  4. yii中使用active record进行关联显示

    model中: view中:

  5. css案例学习之relative与absolute

    代码 <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  6. C++的四种cast操作符的区别--类型转换

    Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意? A:转换的含义是通过改变一个变量的类型为别的类型从而 ...

  7. __declspec,__cdecl,__stdcall都是什么意思?有什么作用?

    __cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要 ...

  8. MVC与WebForm最大的区别

    原文地址:http://www.cnblogs.com/birdshover/archive/2009/08/24/1552614.html 使用ASP.NET MVC框架,创建默认项目,第一直观感觉 ...

  9. TX enqueue DRM

  10. STL入门

    STL入门 STL的组成 六大组件 容器container 算法algorithm 迭代器iterator 仿函数function object 适配器adaptors 空间配制器allocator ...