分享免费的编程资源和教程

网站首页 > 技术教程 正文

树莓派拨号上网并做路由器实现上网功能

goqiw 2024-11-03 14:44:56 技术教程 32 ℃ 0 评论

1、基本环境

树莓派b+ 一个8G以上内存卡一个

软件 Win32 Disk Imager

树莓派镜像 2015-05-05-raspbian-wheezy.zip

无线网卡一个EDUP EP-N8508GS黄金版 迷你USB无线网卡 树莓派可用

2、烧录镜像

烧录完成后插入树莓派连接显示器先进行启动系统并连网查看ip,主要是为了下载安装一些必要的软件比如pppoe客户端以及hostapd软件,dhcp软件等也可以其他主机下载后上传,开机设置省略,最后远程连接树莓派如图所示:

普通用户操作权限少因此进行sudo提权,后切换到root用户

pi@raspberrypi ~ $ sudo passwd root

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

pi@raspberrypi ~ $ su - root

Password:

root@raspberrypi:~#

树莓派下载安装软件包格式为sudo apt-get install <软件包名字>

系统自带vi没有vim,习惯用vim安装vim

root@raspberrypi:~#sudo apt-get install vim

树莓派实现pppoe拨号上网需要安装以下软件包

root@raspberrypi:~# sudo apt-get install pppoe pppoeconf pppstatus

root@raspberrypi:~#pppoeconf

运行pppoeconf命令,然后,一路点击“是”就可以了,当然中间会提示你输入你的PPPOE上网帐号和密码。

root@raspberrypi:~#ifconfig #出现ppp0则表示成功可以用ping 命令试一试

查看usb中无线网卡的型号,并下载相对应的驱动

root@raspberrypi:~# lsusb

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.

Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

Bus 001 Device 006: ID 1c4f:0003 SiGma Micro HID controller

Bus 001 Device 005: ID 0df0:0103

这个网卡不是官网支持的因此我们要做以下操作

root@raspberrypi:~# apt-get install -y hostapp

root@raspberrypi:~# apt-get autoremove hostapd

root@raspberrypi:~# vim /etc/default/hostapd #到这个目录下修改为以下信息因为经测试不安装系统自带的hostpad,就没有下面的目录和配置文件因此我们先安装后卸载

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

接下来安装第三方hosapd

下载hostpad:

root@raspberrypi:~# wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz

root@raspberrypi:~# ls

v1.1.tar.gz

root@raspberrypi:~# tar zxf v1.1.tar.gz

root@raspberrypi:~# cd RTL8188-hostapd-1.1/

root@raspberrypi:~/RTL8188-hostapd-1.1# ls

COPYING hostapd patches README.md scripts src wpa_supplicant

root@raspberr root@raspberrypi:~/RTL8188-hostapd-1.1/hostapd # make && make install

启动hostapd

root@raspberrypi:~/RTL8188-hostapd-1.1/hostapd# service hostapd restart

[ ok ] Stopping advanced IEEE 802.11 management: hostapd.

[....] Starting advanced IEEE 802.11 management: hostapdioctl[RTL_IOCTL_HOSTAPD]: Invalid argument

. ok

修改配置文件

root@raspberrypi:~# vim /etc/hostapd/hostapd.conf 修改注释的两项就可以了

interface=wlan0

ssid=zlf #wifi名

channel=1

#bridge=br0

# WPA and WPA2 configuration

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=3

wpa_passphrase=zlf123456 #wifi密码

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

安装dhcp服务器

root@raspberrypi:~# apt-get install -y isc-dhcp-server

root@raspberrypi:~# vim /etc/dhcp/dhcpd.conf

root@raspberrypi:~# /etc/init.d/isc-dhcp-server restart

填写iptables规则

root@raspberrypi:~# vim /etc/iptables.up.rules

root@raspberrypi:~#iptbales -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

root@raspberrypi:~#iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

root@raspberrypi:~#iptbales -A FORWARD -i ppp0 -o eth0 -j ACCEPT

root@raspberrypi:~#iptbale-save > /etc/iptables.up.rules

root@raspberrypi:~# vim /etc/network/if-pre-up.d/ipatbles

#!/bin/bash

/sbin/iptables-restore < /etc/iptables.up.rules

此处挖了好多坑ifconfig可以看到外网对应端口为ppp0,所以配置iptables时需要特别注意

入口时ppp0而不是一般认为的eth0,出口是wlan0

查看网卡配置信息

root@raspberrypi:~# ifconfig

查看网卡指定ip信息

root@raspberrypi:~# vim /etc/network/interfaces

auto lo

iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0

iface wlan0 inet static

address 192.168.1.1

netmask 255.255.255.0

auto dsl-provider

iface dsl-provider inet ppp

pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf

provider dsl-provider

我把原先的删除了一部分导致有些配置刚开始不起作用最后的配置如上所示

树莓派拨号上网并实现无线路由器功能,不过速度好像是不快,是不是网卡的问题,还有待研究,这里面参考了很多文章也就不一一列举了。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表