vim使用技巧: Esc G 到最后一行
首先安装两个制作无线路由器必需的软件
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install hostapd dnsmasq
hostapd: 该软件能使无线网卡工作在软AP(Access Point)模式,即无线路由器;
dnsmasq: 该软件能够同时提供DHCP和DNS服务
在最新的树莓派版本中,所有的网络接口默认使用dhcpd程序来进行配置,因为wlan0工作在AP模式,所以我们要手动给他静态配置IP地址,所以先在配置文件 /etc/dhcpcd.conf 中最下面添加一行去禁用 wlan0:
pi@raspberrypi:~$ sudo vim /etc/dhcpcd.conf
#interface eth0
#fallback static_eth0
denyinterfaces wlan0
接下来我们在 /etc/network/interfaces 中静态配置无线网卡的IP地址:
pi@raspberrypi:~ $ sudo vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.2.13 //连接路由器的ip地址
netmask 255.255.255.0
gateway 192.168.2.1
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.10.1 //树莓派的LAN的ip地址
netmask 255.255.255.0
pi@raspberrypi:~ $ sudo reboot 重启系统,让无线网卡生效
接下来修改hostapd程序的配置文件:
pi@raspberrypi:~$ sudo vim /etc/hostapd/hostapd.conf
# This is the name of the network
ssid=Pi3-AP
# The network passphrase
wpa_passphrase=raspberry
修改hostapd的启动配置文件,让系统启动时能够找到hostapd的配置文件:
pi@raspberrypi:~ $ sudo vim /etc/default/hostapd
这时候,可以使用下面命令启动测试 hostapd
pi@raspberrypi:~ $ sudo hostapd -B /etc/hostapd/hostapd.conf
通过笔记本或电脑会发现 无线AP Pi3-AP,但是连接不上,这是因为树莓派的无线网卡并没有开启 DHCP和DNS服务器,接下来我们配置dnsmasq。
pi@raspberrypi:~$ sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
pi@raspberrypi:~$ sudo vim /etc/dnsmasq.conf
pi@raspberrypi:~$ sudo service dnsmasq restart
开启DHCP和DNS服务之后,我们的电脑可以获取IP地址,并连接到树莓派上,但是电脑还是不能上网。这时我们需要开启Linux的内核的IP转发以及使用iptables做NAT表,让无线网卡的数据通过有线网卡转发出去。
开启Linux内核的IP转发功能:
pi@raspberrypi:~$ sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”
开启树莓派有线网卡和无线网卡的转发功能:
pi@raspberrypi:~$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
pi@raspberrypi:~$ sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
pi@raspberrypi:~$ sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
这时候笔记本或手机再连上树莓派上,就可以上网了。当然,由于上面命令都是手动执行的,树莓派上电后,并不会执行他们,这时我们需要进行一些配置,让系统启动后就生效:
保存当前的防火墙策略到配置文件中:
pi@raspberrypi:~$ sudo sh -c “iptables-save > /etc/iptables.ipv4.nat”
修改系统启动脚本,添加启动任务:
pi@raspberrypi:~$ sudo vim /etc/rc.local
然后重启生效:
pi@raspberrypi:~$ sudo reboot
接下来我们的电脑就可以连到树莓派上上网了。
名词解释:
WAN:广域网 (连接Internet)
LAN: 局域网 (路由器的IP)
AP模式:这个模式是供已有路由器的用户使用的,它给现有的局域网扩展无线功能,让那些用本本的用户可以通过无线网络直接接入到局域网中来。(如下图所示)
AP模式的意义:可以扩展有线局域网覆盖范围
DHCP:动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,其主要用途是为局域网内部的设备或网络供应商自动分配IP地址等参数
http://www.cnblogs.com/zhangjianghua/p/9185039.html
DNS服务器:是进行域名和与之相对应的IP地址转换的服务器。DNS中保存了一张域名和与之相对应的IP地址 的表,以解析消息的域名。