zoukankan      html  css  js  c++  java
  • 用树莓派做无线路由器

    在搞树莓派,顺便纪录一下如何通过树莓派发热点给手机或者其他设备使用。这里的前提是树莓派要求有无线网卡(一个小小的usb)。这里就不介绍如何安装树莓派系统。好,让我们直接进入主题

    1.修改wlan0的ip

    sudo nano /etc/network/interfaces

    把其中有关wlan0的部分注释或者删掉。注意别把搞混eth0的部分,那个是有线网卡

    iface wlan0 inet static 
    address 192.168.10.1 
    netmask 255.255.255.0

    2.安装hostapd

    sudo apt-get install hostapd

    编辑hostapd 默认配置文件

    sudo nano /etc/default/hostapd

    找到#DAEMON_CONF= "",修改为:

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

    然后编辑:

    sudo nano /etc/hostapd/hostapd.conf

    里面的内容修改大致如下,按照需要来改自己的参数,主要那几个修改下便可以,其中wpa之前是等于3.这里要修改为2.我们平时接的wifi还是WPA2这种模式居多。其中driver=nl80211 是大部分人选用的驱动,因为我的驱动安装有问题,因此我安装了第三方的驱动,最后出现如下的driver。下面会有安装第三方驱动方法。

    interface=wlan0
    ssid=Raspberry
    channel=11
    #bridge=br0
    
    # WPA and WPA2 configuration
    
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=2
    wpa_passphrase=raspberry
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP
    
    # Hardware configuration
    
    driver=rtl871xdrv
    ieee80211n=1
    hw_mode=g
    device_name=RTL8192CU
    manufacturer=Realtek

    hostapd主要便是这个hostapd.conf的文件设置。现在便可以重启你的hostapd服务

    sudo service hostapd restart

    如果没有出现错误,那可以下一步,我的就没那么幸运,出现下面错误,需要安装第三方驱动

    Configuration file: /etc/hostapd/hostapd.conf 
    nl80211: 'nl80211' generic netlink not found 
    Failed to initialize driver 'nl80211'

    卸载前面安装的hostapd驱动

    sudo apt-get autoremove hostapd

    下载第三方驱动

    wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz 
    tar -zxvf v1.1.tar.gz 
    cd RTL8188-hostapd-1.1/hostapd 
    sudo make 
    sudo make install

    Now!你可以重启hostapd服务,这下没问题了,嘻嘻。

    3。安装dhcp服务

    sudo apt-get install isc-dhcp-server

    编辑文件:

    sudo nano /etc/dhcp/dhcpd.conf

    内容如下:

    default-lease-time 600; 
    max-lease-time 7200; 
    log-facility local7; 
    
    subnet 192.168.10.0 netmask 255.255.255.0 { 
    range 192.168.10.10 192.168.10.100; 
    option routers 192.168.10.1; 
    option broadcast-address 192.168.10.127; 
    option domain-name-servers 8.8.8.8,8.8.4.4; 
    default-lease-time 600; 
    max-lease-time 7200; 
    }

    保存后重启服务

    sudo service isc-dhcp-server restart

    4.配置路由转发

    sudo iptables -F 
    sudo iptables -X 
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
    sudo bash 
    iptables-save > /etc/iptables.up.rules 
    exit

    编辑:

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

    添加下面两行代码:

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

    保存退出,然后修改iptables权限:

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

    开户内核转发:

    sudo nano /etc/sysctl.conf

    找到下面两行:

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

    把net.ipv4.ip_forward 前面的#去掉,保存退出。
    然后

    sudo sysctl -p

    5.服务自启动

    热点wifi当然是开机要自启动,不然还要bash命令的话,出去外面开个wifi都做不到。继续如下:

    $ sudo chkconfig --add hostapd 
    $ sudo chkconfig --add isc-dhcp-server

    到这里wifi的发射就算完成了,另有一篇关于开机启动项的问题,可以参考我这篇博文:http://www.cnblogs.com/xmfdsh/p/4469577.html

  • 相关阅读:
    SQL SERVER 实现多个数据库之间表的联系,利用临时表枚举表中行数据
    [CCF CSP]201909-2 小明种苹果(续)
    Anaconda 安装 Python 库(MySQLdb)
    [CCF CSP]201903-4 消息传递接口
    [CCF CSP]201609-4 交通规划
    2019年12月CSP考试第三题化学方程式解法
    Leetcode.94.二叉树的中序遍历
    GENIA命名实体数据集解析代码
    git添加新用户
    C#语言 十大经典排序算法动画与解析!(动态演示+代码)(java改写成C# )
  • 原文地址:https://www.cnblogs.com/xmfdsh/p/4469582.html
Copyright © 2011-2022 走看看