将派改为无线路由器
安装所需软件包
sudo apt-get install dnsmasq hostapd
配置无线网卡
编辑sudo vim /etc/dhcpcd.conf
:
denyinterfaces wlan0
编辑sudo vim /etc/network/interfaces
:
allow-hotplug wlan0
iface wlan0 inet static
address 172.24.1.1
netmask 255.255.255.0
network 172.24.1.0
broadcast 172.24.1.255
配置hostapd
编辑sudo vim /etc/hostapd/hostapd.conf
:
interface=wlan0
driver=nl80211
# 设置无线网络名
ssid=raspberryAP
hw_mode=g
# 设置信道
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
# 是否隐藏无线网络名
ignore_broadcast_ssid=0
# 使用WPA2
wpa=2
wpa_key_mgmt=WPA-PSK
# 设置无线网络的密码
wpa_passphrase=12345678
rsn_pairwise=CCMP
编辑sudo vim /etc/default/hostapd
:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
配置DHCP服务
我们先备份下dnsmasq的原配置文件
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
编辑sudo vim /etc/dnsmasq.conf
#使用网卡接口
interface=wlan0
#监听地址
listen-address=172.24.1.1
#绑定接口
bind-interfaces
#dns服务器地址
server=223.5.5.5
domain-needed
bogus-priv
#地址范围,从50-150、租用时间为12小时。
dhcp-range=172.24.1.50,172.24.1.150,12h
配置网络转发
首先我们来开启内核的IPv4包转发,编辑sudo vim /etc/sysctl.conf
:
在最后一行添加
net.ipv4.ip_forward=1
然后执行sudo sysctl -p
让其生效。
接下来,执行下面命令设置转发规则:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#下面两个是为了防止pi默认开启了防火墙,若无不执行也开。
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
执行完上面命令后,我们要想开机就能够让其生效,还需要将其加入开机启动。我们编辑sudo vim /etc/rc.local
:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
exit 0
在exit 0 之上,将上面的命令加进去。
全部完成后,重启pi即可。