用树莓派打造科学上网神器

感谢老婆大人给买的最新版树莓派,超级给力 :)

硬件配备

  • raspberry pi 3 model B
  • 16 GB TF 卡、读卡器
  • 散热片两张(铜铝均可)
  • 支持 AP 模式的 USB 无线网卡
  • A computer

树莓派刷 kali

一直有黑客的情怀,果断刷了 kali,下载镜像解压后利用 USB Image Tool 写入即可。

如何连接

此处有几种不同情形(kali 初始认证,username: root, password: toor)

  • 假如你正好有一台显示屏,那再好不过了,将树莓派和显示屏连接,将其当成一般的电脑使用即可
  • 无显示屏,有路由器,将树莓派接在路由器的 lan 接口,dhcp 分配 ip 然后 ssh
  • 无显示屏,无路由器,将 TF 卡插到读卡器连上电脑, 打开 boot 磁盘下的 cmdline.txt 文件在文末追加 ip = 192.168.2.1,然后电脑设置静态 ip 192.168.2.2/24,有线直连树莓派后 ssh

登陆成功后,需对系统进行一些设置以方便以后连接,可参考 让你的树莓派自动连接 wifi

打造中继路由器

将准备好的无线适配器插到树莓派。

设置 DHCP 服务

1
$ sudo apt-get install dnsmasq

编辑 /etc/dnsmasq.conf,添加以下内容:

1
2
listen-address=127.0.0.1,192.168.2.1
dhcp-range=192.68.2.50,192.168.2.200,12h

然后重启 dnsmasq。

1
$ sudo service dnsmasq restart

开启包转发

1
2
3
$ sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
$ sudo sysctl -p
$ sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

设置第二块适配器的 IP

编辑 /etc/network/interface,更改 wlan1 的配置如下

1
2
3
4
auto wlan1
iface wlan1 inet static
address 192.168.2.1
netmask 255.255.255.0

安装并开启 hostapd

1
2
$ sudo apt-get install hostapd
$ sudo vim /etc/hostapd/hostapd.conf

文件内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
interface=wlan1
driver=nl80211
ssid='SSID'
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

之后运行 sudo hostapd -d /etc/hostapd/hostapd/conf 来测试,如有 bug 自行 google 调试。
调试成功后编辑 /etc/default/hostapd,更改 DAEMON_CONF=”/etc/hostapd/hostapd.conf”,然后运行 sudo service hostapd start 正式启动 wifi 热点。

科学上网

参照 linux 全局代理 redsocks+shadowsocks
之后学习 iptables 详解可将需要 fq 的流量通过 NAT 重定向到 redsocks,请自定义 iptables 规则。

保存防火墙规则及配置开机自启服务

1
2
$ sudo apt-get install iptables-persistent
$ sudo service netfilter-persistent save

编辑 /etc/rc.local,写入以下内容:

1
2
3
4
5
sudo service dnsmasq restart
sudo sysctl -p
sudo service hostapd start
sudo service redsocks start
iptables-restore < /etc/iptables/rules.v4
0%