查看: 1404|回复: 1

[项目] 教大家用树莓派做一个无线路由器

[复制链接]

主题

好友

1125

积分

进士

  • TA的每日心情
    擦汗
    2019-1-15 13:35
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2019-1-23 13:18:21 |显示全部楼层
    使用树莓派来做无线路由器,首先需要确认的是USB无线网卡已经安装了正确的驱动并能工作,其次所使用的无线网卡需要支持AP功能,否则即使正确配置了无线路由器,有软件也无法正常工作。配置无线路由器需要安装 hostapd 与 isc-dhcp-server ,其中 hostapd 是一个用于访问点以及认证服务器的服务程序。(配置时建议以管理员身份配置)

    一、配置无线网卡固定 IP 以及子网地址

    • 编辑网络配置文件:  vi /etc/network/interfaces 文件,找到和wlan0相关的几行注释掉。

    1. # allow-hotplug wlan0
    2. # iface wlan0 inet manual
    3. # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    复制代码
    • 在文件最后添加几行网卡的配置(192.168.2.1是给raspberry pi 做的路由器分配的网关 ip,这个不能跟局域网里其他路由网关ip重复。)

    1. iface wlan0 inet static
    2. address 192.168.2.1
    3. netmask 255.255.255.0
    复制代码
    1.png


    二、安装Hostapd

    输入命令:apt-get install hostapd 完成软件安装。修改 hostapd 的默认配置文件: vi /etc/default/hostapd,取消“#DAEMON_CONF = ""”最前面得注释号“#”,并增加一个 hostapd 的配置文件。
    DAEMON_CONF="/etc/hostapd/hostapd.conf"


    2.png


    • 配置hostapd服务器,建立配置文件: vi /etc/hostapd/hostapd.conf,并输入以下内容。
    1. # 设置默认的接入点为无线网卡 wlan0
    2. interface = wlan0

    3. # 设置驱动程序为 nl80211
    4. driver = nl80211

    5. # 设置网卡工作模式为 802.11G
    6. hw_mode = g

    7. # 设置无线网络 SSID 为 RaspberryPi
    8. ssid = RaspberryPi

    9. # 设置无线通道为5,如果发现连接速度慢或有干扰,也可以设置为其他数值
    10. channel = 6

    11. # 设置加密模式为 WPA2
    12. wpa = 2

    13. # 设置密码为123456789
    14. wpa_passphrase = 123456789

    15. # 设置加密方式为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
    22. wmm_enabled=1
    复制代码
    • 修改完成后保存退出,并重新启动 hostapd 服务器: /etc/init.d/hostapd restart(如有重启错误,先确保hostapd已启动:restart -> start),提示配置成功。
    3.png





    三、安装DHCP服务

    • 输入命令:apt-get install isc-dhcp-server 完成服务安装。修改DHCP服务的配置文件: vi /etc/dhcp/dhcpd.conf,注释掉以 option domain - name 为开头的两行,以取消对域名的设置。
    4.png



    • 随后在文档的最后增加以下内容,修改完成后重新启动dhcp服务: /etc/init.d/isc-dhcp-server restart(如有重启错误,先确保hostapd已启动:restart -> start),提示配置成功。


    1. subnet 192.168.10.0 netmask 255.255.255.0 {
    2.   range 192.168.2.10 192.168.2.100;
    3.   option routers 192.168.2.1;
    4.   option broadcast-address 192.168.2.127;
    5.   option domain-name-servers 8.8.8.8,8.8.4.4;
    6.   default-lease-time 600;
    7.   max-lease-time 7200;
    8. }
    复制代码


    5.png


    • 重新启动服务后,就可以通过客户端来连接无线路由了,这时可以通过无线连接到树莓派上,但是不能上网。
    6.png



    四、配置路由转发

    • 不能上网原因是还没有设置数据的转发功能,而在 Linux 系统中我们通常使用防火墙来实现这一功能。输入命令:

    1. iptables -F
    2. iptables -X

    3. # 设置转发规则
    4. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    5. # 将转发规则保存到防火墙配置中
    6. iptables-save > /etc/iptables.up.rules

    7. # 开启防火墙
    8. /etc/init.d/iptables start

    9. # 开启内核转发功能
    10. echo 1 > /proc/sys/net/ipv4/ip_forward
    复制代码



    ---------------------
    作者:Lyh-Memory
    来源:CSDN

    回复

    使用道具 举报

    主题

    好友

    9640

    积分

    状元

  • TA的每日心情
    郁闷
    10 小时前
  • 签到天数: 862 天

    连续签到: 18 天

    [LV.10]以坛为家III

    发表于 2019-1-28 16:21:58 |显示全部楼层
    308.png
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /5 下一条

    手机版|爱板网

    GMT+8, 2019-2-22 10:59 , Processed in 0.091440 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部