将树莓派配置成路由器
安装pppoe拨号上网软件
sudo apt install pppoe pppoeconf pppstatus
更新系统
sudo apt update
sudo apt dist-update
安装hostapd和dhcp
sudo apt install hostapd isc-dhcp-server
修改/etc/dhcp/dhcpd.conf 配置文件
- 注释以下两行
# option domain-name "example.org"; # option domain-name-servers ns1.example.org, ns2.example.org;
- 取消注释下面这行
#authoritative;
- 在行尾加上
subnet 192.168.42.0 netmask 255.255.255.0 { range 192.168.42.10 192.168.42.50; option broadcast-address 192.168.42.255; option routers 192.168.42.1; default-lease-time 600; max-lease-time 7200; option domain-name "local"; option domain-name-servers 114.114.114.114, 114.114.115.115; }
修改/etc/default/isc-dhcp-server配置文件
- 更改INTERFACESv4并注释INTERFACESv6
INTERFACESv4="wlan0" #INTERFACESv6=""
- 关闭wlan0接口
sudo ifdown wlan0
修改/etc/network/interfaces配置文件
- 将下面行放到文件末尾
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet static address 192.168.42.1 netmask 255.255.255.0 post-up iw dev $IFACE set power_save off
- 强行更改ip
sudo ifconfig wlan0 192.168.42.1
创建/etc/hostapd/hostapd.conf配置文件设置wifi
- 写入如下行
interface=wlan0 ssid=wifiname hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=password wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
修改/etc/sysctl.conf配置文件将pppoe与wifi连接起来实现wifi上网
- 在文件最后加上
net.ipv4.ip_forward=1
- 刷一下iptables
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE sudo iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT
或
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE sudo iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT
- 加入启动项全家通
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
- 最后在文件/etc/network/interfaces后加入如下行
up iptables-restore < /etc/iptables.ipv4.nat
最后
sudo service hostapd start
sudo service isc-dhcp-server start
sudo reboot
本作品采用《CC 协议》,转载必须注明作者和本文链接