2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 树莓派配置路由_使用树莓派搭建无线路由器

树莓派配置路由_使用树莓派搭建无线路由器

时间:2024-01-24 11:06:21

相关推荐

树莓派配置路由_使用树莓派搭建无线路由器

目标

搭建一个支持安全访问的无线路由器,该路由器作为二级网络网关,上网设备经由无线网络连接到该路由器上后,通过以太网路由从主网访问Internet。

注:没有采用OpenWRT,用的是Raspbian。

硬件准备

树莓派B+ 1台

无线网卡EDUPEP-N8508GS 1个

16G TF卡 1枚(4G以上就可以,选大点可以做其他用途)

可以访问Internet的路由器

Windows机器 1台

显示器 1台(我用的是电视机替代)

键盘鼠标一套

软件准备

构建无线路由器

烧录树莓派系统

在Windows系统下格式化TF卡、烧录镜像实在是简单至极。

下载Raspbian系统镜像并解压。

插入TF卡(最好格式化一下),注意TF卡挂载的盘符。

运行Win32DiskImager,选择Raspbian镜像(.img文件),并选择TF卡挂载的盘符,然后点击写入。

设置树莓派系统

这一步主要完成树莓派系统的初始化相关工作。

连接设备

将树莓派通过以太网口连接到主路由器(可连接internet)上;

将树莓派连接到显示器上;

将键盘、鼠标连接到树莓派上。

将烧录好系统镜像的TF卡插入树莓派机器,并启动机器。

Raspbian系统启动成功后,先进行一些系统上的准备工作:

通过Menu->Preferences->Raspberry Pi Configuration,完成Change Password、Expand Filesystem、TimeZone、Locale修改。也可以在命令行下运行sudo raspi-config程序进行设置。

运行ifconfig查看以太网卡的ip地址。

从远端计算机(Mac或PC)上通过SSH Client连接到树莓派上。

更新树莓派系统:sudo apt-get update && sudo apt-get upgrade

重启树莓派机器:sudo reboot

从远端重新通过SSH Client连接上树莓派机器。

设置无线路由

安装hostapd和isc-dhcp-serverpi@rpi:~ $ sudo apt-get install hostapd isc-dhcp-server

配置hostapdpi@rpi:~ $ sudo vim /etc/hostapd/hostapd.conf

在文件中添加如下内容:

interface=wlan0

hw_mode=g

ssid=hotpot

channel=6

wpa=2

wpa_passphrase=12345678

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

auth_algs=1

macaddr_acl=0

ignore_broadcast_ssid=0

保存退出后可以使用下面的命令测试一下配置是否正确:

sudo hostapd /etc/hostapd/hostapd.conf

如果配置没有问题,则WiFi列表中应该可以扫描到hotpot且输入密码可以连接。

修改hostapd文件,使服务启用刚才创建的配置的文件。pi@rpi:~ $ sudo vim /etc/default/hostapd

添加:

DAEMON_CONF=“/etc/hostapd/hostapd.conf”

保存退出。

配置wlan0的ip为静态地址pi@rpi:~ $ sudo vim /etc/network/interfaces

在文件修改wlan0的配置为如下内容:

allow-hotplug wlan0

iface wlan0 inet static

address 10.10.0.1

netmask 255.255.255.0

配置DHCP服务pi@rpi:~ $ sudo vim /etc/dhcp/dhcpd.conf

首先,将option domain-name…内容注释掉,如:

# option domain-name "";

# option domain-name-servers , ;

其次,将authoritative的注释去掉,如:

# If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.

authoritative

然后,在文件尾部添加wlan0的子网信息,如:

subnet 10.10.0.0 netmask 255.255.255.0 {

range 10.10.0.10 10.10.0.50;

option broadcast-address 10.10.0.255;

option routers 10.10.0.1;

default-lease-time 600;

max-lease-time 7200;

option domain-name "local";

option domain-name-servers 8.8.8.8, 8.8.4.4;

}

保存后退出。

修改isc-dhcp-server文件使wlan0支持DHCP请求:pi@rpi:~ $ sudo vim /etc/default/isc-dhcp-server

将文件中INTERFACES=“”改为INTERFACES=“wlan0”,保存退出。

设置无线网卡和以太网卡之间的ip路由

首先,设置sysctl.conf文件:pi@rpi:~ $ sudo vim /etc/sysctl.conf

在文件中将net.ipv4.ip_forward=1的注释去掉。

然后,运行命令启用ip转发:pi@rpi:~ $ sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

接着,设置路由表:pi@rpi:~ $ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

pi@rpi:~ $ sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

pi@rpi:~ $ sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

(如果运行iptables命令时出现“iptables v1.4.21: can’t initialize iptables table ‘nat’…”类似的错误信息,则需要检查系统是否已经更新——sudo apt-get update和sudo apt-get upgrade,并且确保已经重启机器)

下一步,将路由表保存到文件中:pi@rpi:~ $ sudo sh -c "iptables-save > /etc/myrouter.nat"

最后,修改interface文件,确保系统重启后路由表会自动重新载入:pi@rpi:~ $ sudo vim /etc/network/interfaces

在文件末尾添加:

up iptables-restore < /etc/myrouter.nat

保存退出。

将hostapd服务设定为开机启动。pi@rpi:~ $ sudo update-rc.d hostapd enable

重启服务(机器),测试。

其他

可以在系统上安装openconnect以连接安全服务。

首先,安装openconnect:pi@rpi:~ $ sudo apt-get install openconnect

然后,运行命令连接安全服务pi@rpi:~ $ echo service-password | sudo openconnect -u service-username -b --passwd-on-stdin site-url

运行ifconfig命令,可以看到新网卡信息tun0

添加tun0相关的路由信息:pi@rpi:~ $ sudo iptables –t nat –A POSTROUTING –o tun0 -j MASQUERADE

pi@rpi:~ $ sudo iptables –A FORWARD –i wlan0 –o tun0 -j ACCEPT

pi@rpi:~ $ sudo iptables –A FORWARD –i tun0 -o wlan0 –m state –state RELATED,ESTABLISHED –j ACCEPT

将路由表更新保存到文件:pi@rpi:~ $ sudo sh -c "iptables-save > /etc/myrouter.nat"

另,关闭openconnect,使用sudo killall openconnect命令即可。

最后

树莓派2代没有自带网卡,网上淘的网卡有时工作不稳定。建议还是使用树莓派3代,稳定性很好。

参考

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。