树莓派制作路由器,手机连接wifi

树莓派制作路由器,手机连接wifi

在制作之前总的介绍本文用到的包:hostapd  以及dhcp服务

hostapd- 一个用户态用于AP和认证服务器的守护进程。它实现了IEEE 802.11相关的接入管理,IEEE 802.1X/WPA/WPA2/EAP 认证, RADIUS客户端,EAP服务器和RADIUS 认证服务器。实现的是无线共享

dhcp--是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址


1.首先我我们检查我们的硬件设施是否齐全,是否拥有无线网卡我用的是树莓派2代,没有自带无线网卡。我自行插入usb网卡

pi@nameserver114:~ $ lsusb
Bus 001 Device 004: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. LAN9500 Ethernet 10/100 Adapter / SMSC9512/9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

用以上命令查看端口信息,发现多了个device004,说明系统检测成功,机器支持本usb网卡,你也可以使用ifconfig/iwconfig查看网卡信息

pi@nameserver114:~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:27:89:39
          inet addr:192.168.2.13  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::c7ef:d38e:e9f8:b3db/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9227 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3761 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:8832536 (8.4 MiB)  TX bytes:663388 (647.8 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

mon.wlan0 Link encap:UNSPEC  HWaddr 00-12-04-23-A1-DC-30-30-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19214 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4909781 (4.6 MiB)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:12:04:23:a1:dc
          inet addr:192.168.9.1  Bcast:192.168.9.255  Mask:255.255.255.0
          inet6 addr: fe80::aaa9:d4ea:9646:fb2d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2257 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1509 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:411152 (401.5 KiB)  TX bytes:637782 (622.8 KiB)

可以看到网卡信息,wlan0。以上是我已经配置好的信息,刚开始查看是没有inet addr 的,之后我们会配置

2.硬件设施齐全,我们进入配置环节

2.1首先进行hostapd软件包安装

sudo apt-get hostapd

2.2对hostapd配置文件进行修改

sudo nano /etc/hostapd/hostapd.conf,以下是我的配置信息,完成并保存退出

# 把无线网卡wlan0 作为接入点
interface=wlan0
# 使用nl80211驱动
driver=nl80211
#共享网络的SSID是RaspberryPi
ssid=RaspberryPi
# 网卡工作在802.11G模式
hw_mode=g
#无线网卡选用11信道
channel=11
# WPA2 配置
wpa=2
#wpa密码是raspberry
wpa_passphrase=raspberry
#认证方式为WPA-PSK 加密方式为CCMP
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
beacon_int=100

2.3对配置文件路径进行指定

sudo nano /etc/default/hostapd

DAEMON_CONF=“”修改为DAEMON_CONF="/etc/hostapd/hostapd.conf"

这样我们就能读取到其配置里面的信息。

2.4虽然我们已经配置好相应的信息,但是我们没有设置无线网卡相关的信息,

sudo nano /etc/network/interfaces此路径对无线网卡进行配置。(顺便提一句:有线网卡配置路径为:sudo nano /etc/dhcpcd.conf)

因为我们要做到服务器,所以使用静态ip,设置如下

auto lo     //表示使用localhost
iface lo inet loopback   
iface eth0 inet dhcp //如果有网卡ech0 则用dhcp获取ip地址

#allow-hotplug wlan0   //表示wlan设备可以热插拨
#iface wlan0 inet manual  //表示如果有WLAN网卡wlan0 (就是WIFI网卡), 则用dhcp获得IP地址
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf


allow-hotplug wlan0
iface wlan0 inet static
address 192.168.9.1  
netmask 255.255.255.0
dns-nameservers 114.114.114.114
dns-nameservers 8.8.8.8
up iptables-restore < /etc/iptables.ipv4.nat


保存并退出后,重启此设备sudo service hostapd start

正常情况下是可以看见wlan0的配置信息,本文开始提到过。如果没有,

用sudo ifconfig wlan0 192.168.9.1设置,后再看看是否正常

sudo hostapd -B /etc/hostapd/hostapd.conf 

这个时候我们会看见我们有wifi热点了,但是无法连接。是因为我们没有设置dhcp。

3安装dhcp服务

sudo apt-get isc-dhcp-server 

3.1我们进行dhcp服务配置

首先对其/etc/dhcp/dhcpd.conf配置文件进行备份

sudo cp etc/dhcp/dhcpd.conf  etc/dhcp/dhcpd.conf _bak  (我用了绝对路径)

3.2配置文件如下

pi@nameserver114:~ $ sudo nano /etc/dhcp/dhcpd.conf
  GNU nano 2.2.6           文件: /etc/dhcp/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 192.168.9.0 netmask 255.255.255.0 {
  range 192.168.9.10 192.168.9.100;
  option routers 192.168.9.1;
  option broadcast-address 192.168.9.127;
  option domain-name-servers 114.114.114.114;
  default-lease-time 600;
  max-lease-time 7200;
}

保存退出,重启服务sudo service  isc-dhcp-server restart

个时候我们手机能够连上wifi热点,并能够获得相应的ip地址,但是无法上网。接下来我们进行路由转发

4.配置路由转发
通过前面的配置过程,已经可以通过无线网络连接到Raspberry pi的无线网卡,但是还不能连接到互联网,下一步就是让从无线网卡 wlan0 进来的数据 转发到 有线网卡 eth0上面 通过有线网卡连接网络接到互联网。
因为eth0是获取的动态ip,所以这里通过iptables来实现简单的路由转发

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

pi@nameserver114:~ $ sudo nano /etc/network/if-pre-up.d/iptables
  GNU nano 2.2.6      文件: /etc/network/if-pre-up.d/iptables
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

保存退出,输入命令

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

开启内核转发,输入命令sudo nano /etc/sysctl.conf并将net.ipv4.ip_forward=1的注释去掉使其生效

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

保存退出,输入命令

sudo sysctl -p

更改完之后,我们再次进入无线网卡配置文件

sudo nano /etc/network/interfaces

在文件最后加入up iptables-restore < /etc/iptables.ipv4.nat,以便永久有效,如下所示

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.9.1
netmask 255.255.255.0
dns-nameservers 114.114.114.114
dns-nameservers 8.8.8.8
up iptables-restore < /etc/iptables.ipv4.nat

完成以上设施后,将它们加入启动项。
$ sudo chkconfig --add hostapd  加入启动项
$ sudo chkconfig --add isc-dhcp-server
完成所有配置后,sudo reboot 重启机器。





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 如果你想将树莓派通过网线连接路由器,你需要注意以下几点。首先,确保树莓派的IP地址与路由器的IP地址不冲突。你可以通过进入路由器的后台管理页面,查看树莓派的IP地址。如果无法查询到,你可以使用Advanced IP Scanner工具进行扫描,查看名称中是否有"raspberry pi",这就是树莓派的IP地址。\[2\]其次,当你首次开机时,请不要将树莓派通过网线与路由器相连,因为树莓派默认的LAN口IP地址为192.168.1.1,很可能会与路由器的IP地址冲突,导致无法进入路由器的控制面板。\[3\]最后,你可以通过USB接口外接网卡来拓展树莓派的网口,然后将网线连接路由器上,实现树莓派路由器连接。\[1\] #### 引用[.reference_title] - *1* *3* [树莓派4B用作无线路由器的方法](https://blog.csdn.net/weixin_44568917/article/details/107208980)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [3 树莓派使用网线连接路由器获取网络](https://blog.csdn.net/weixin_44908159/article/details/107402938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值