树莓派设置成无线路由(AP)

时间:2024-04-15 07:36:03

1、安装需要的包

sudo apt-get install hostpad uhdcpd

2、配置/etc/network/interfaces文件

配置wlan0为静态地址

格式如下:

iface wlan0 inet static 

address 192.168.10.1

netmask 255.255.255.0

保存,退出

3、配置/etc/udhcpd.conf文件

设置 自动分配地址范围  dns  网关等

具体如下:(依据个人需要进行配置)

start 192.168.10.2 # This is the range of IPs that the hostspot will give to client devices.

end 192.168.10.200

interface wlan0 # The device uDHCP listens on.

remaining yes

opt dns 8.8.8.8 8.8.4.4 # The DNS servers client devices will use.

opt subnet 255.255.255.0

opt router 192.168.10.1 # The Pi\'s IP address on wlan0 which we will set up shortly.

opt lease 864000 # 10 day DHCP lease time in seconds

4、sudo vim /etc/default/hostpad

将 

#DAEMON_CONF= ""  改为

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

 

5、编辑/etc/hostapd/hostapd.conf

 如下:

  1. # 把无线网卡wlan0 作为接入点
  2. interface=wlan0
  3. # 使用nl80211驱动
  4. driver=nl80211  (有的可能是rtl871xdrv,我的不行,提示“未知的”)
  5. #共享网络的SSID是RaspberryPi
  6. ssid=RaspberryPi(WiFi名)
  7. # 网卡工作在802.11G模式
  8. hw_mode=g
  9. #无线网卡选用11信道
  10. channel=11
  11. # WPA2 配置
  12. wpa=2
  13. #wpa密码是raspberry
  14. wpa_passphrase=raspberry(WiFi密码)
  15. #认证方式为WPA-PSK 加密方式为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

 

 

6、编辑 /etc /default/udhcpd 

将 其注释掉

#DHCPD_ENABLED=no

 

7、配置路由转发

 

下一步就是让从无线网卡 wlan0 进来的数据 转发到 有线网卡 eth0上面 通过有线网卡连接网络接到互联网。

因为eth0是获取的动态ip,所以这里通过iptables来实现简单的路由转发。

输入命令

  1. sudo iptables -F
  2. sudo iptables -X
  3. sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  4. sudo bash
  5. iptables-save > /etc/iptables.up.rules
  6. exit


输入命令

  1. sudo nano /etc/network/if-pre-up.d/iptables


把下面两行复制粘贴到编辑窗口

  1. #!/bin/bash
  2. /sbin/iptables-restore < /etc/iptables.up.rules


保存退出
输入命令

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


开启内核转发
输入命令

  1. sudo nano /etc/sysctl.conf


找到这里

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


去掉 net.ipv4.ip_forward 前面的#
保存退出

输入命令 

  1. sudo sysctl -p

 

8、将服务设置为开机自启模式

sudo update-rc.d hostapd enable

sudo update-rc.d udhcpd enable


之后,重启机器,使用手机应该能看到设置的WiFi,连接后,访问以下外网,看看是否可用