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

感谢老婆大人给买的最新版 RaspberryPi,超级给力。

硬件配备(仅供参考)

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

Raspberry Pi 刷 kali

一直有黑客的情怀,本着某种不可告人的目的,果断刷了 kali
,下载镜像解压后利用 USB Image Tool 写入即可。

如何连接

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

  • 假如你正好有一台显示屏,那再好不过了,将树莓派和显示屏连接,将其当成一般的 computer 使用即可
  • 无显示屏,有路由器,将树莓派接在路由器的 LAN 接口,获得 Pi 的 ip 然后 ssh
  • 无显示屏,无路由器,将TF卡接入 computer 打开 Boot 磁盘下的 cmdline.txt 文件在文末追加
1
$ ip = 192.168.5.1

然后电脑直连树莓派,利用上面的ip登陆
登陆成功后,需对系统进行一些设置以方便以后连接,请参考 让你的树莓派自动连接wifi

扩展TF卡分区表(可选)

打造中继路由器

肯定得插上第二块无线适配器,你懂得

设置树莓的 DHCP 服务

1
2
$ sudo apt-get install dnsmasq
$ sudo vim /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

然后运行以下命令

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='yourSsid'
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase='yourPassword'
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详解可将需要翻墙的流量通过 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%