查看: 4593|回复: 0

[项目] 使用Raspberry Pi作为无线路由器

[复制链接]
  • TA的每日心情
    开心
    2016-8-15 09:30
  • 签到天数: 162 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-1-29 10:06:34 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 小菜儿 于 2015-1-29 10:12 编辑

    首先,我们需要安装必须软件和环境,一个是hostap,一个是dhcp

    1. sudo apt-get install hostapd
    2. sudo apt-get install dhcp3-server
    复制代码

    安装完毕后编辑/etc/hostapd/hostapd.conf文件,如果没有,就自行新建

    1. sudo vi /etc/hostapd/hostapd.conf
    复制代码

    hostapd.conf是无线网络的配置文件,包含了SSID等内容,以下是我的配置,根据注释自行修改,其他参数自行百度

    迅捷FW150US驱动文件见《Raspberry Pi安装迅捷FW150US无线网卡

    1. interface=wlan0
    2. #driver是wlan的驱动模块名称,这里的rtl871xdrv是迅捷FW150US用的,前提是安装了我上篇文章里的驱动
    3. driver=rtl871xdrv
    4. #ssid名称,随意改
    5. ssid=RasPi
    6. channel=6
    7. hw_mode=g
    8. wpa=2
    9. #密码,随意改
    10. wpa_passphrase=1234567890
    11. wpa_key_mgmt=WPA-PSK
    12. wpa_pairwise=TKIP
    13. rsn_pairwise=CCMP
    复制代码

    保存之~然后再修改/etc/dhcp/dhcpd.conf 文件进行子网配置

    1. sudo vi /etc/dhcp/dhcpd.conf
    复制代码

    根据不同的环境,给无线路由器配置一个网段,不要和其他网络冲突就行,以下为dhcpd.conf中子网的配置参考

    1. subnet 192.168.0.0 netmask 255.255.255.0
    2. {
    3. range 192.168.0.2 192.168.0.10;
    4. #option routers要和wlan0 IP一致,注意后文有提到改命令
    5. option routers 192.168.0.1;
    6. #domain-name-servers是可访问internet的eth0所使用的DNS,可以使用公共DNS,如8.8.8.8等
    7. option domain-name-servers 8.8.8.8;
    8. }
    复制代码

    根据realtek驱动包里的说明文档,hostapd不能用原生程序,只能自己编译替换。我已经编译好了,需要的朋友拿去直接替换/usr/sbin/目录下的hostapd和hostapd_cli即可。

    替换文件下载

    hostapd、hostapd_cli:hostpad

    保存,现在就可以启动无线路由了

    1. #下行命令为手动设置无线网卡IP地址,和上述option routers一致
    2. sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
    3. #启动DHCP服务,否则连上无线之后分配不到IP
    4. sudo service dhcpd start
    5. #启动hostapd
    6. sudo hostapd -B /etc/hostapd/hostapd.conf
    7. #打开IP转发
    8. sudo bash -c "echo 1 >/proc/sys/net/ipv4/ip_forward"
    9. #设置NAT
    10. sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    复制代码

    转载自:http://zhainan.org/post-1661.html

    P.S. 还有一步,为了避免 DHCP 获取不到 IP,需要添加自启动:

    1. vi /etc/rc.local
    复制代码

    在 exit 0 之前添加以下代码:

    1. ifdown wlan0
    2. ifup wlan0
    3. ifconfig wlan0 192.168.51.1 netmask 255.255.255.0
    4. service isc-dhcp-server restart
    5. service hostapd restart
    复制代码

    实验成功,只不过把网段换成了 192.168.51.0,原文中的 hostpad 和 hostpad_cli 下载链接已失效,自己编译了下替换了原来的链接。效果图:
    QQ截图20150116205540.jpg
    QQ图片20150116205445-e1421413729569.jpg
    QQ图片20150116205452.png
    QQ图片20150116205458.png


    出处:http://www.sxb.pw/2098.html
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 15:32 , Processed in 0.117114 second(s), 16 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.