使用goSecure VPN将树莓派3打造成隐身设备

本文详细介绍了如何利用goSecure VPN将树莓派3配置为隐身路由设备,通过CentOS服务器建立VPN隧道,实现网络流量的匿名化传输,包含完整的服务器与客户端安装步骤及故障排除方法。

使用goSecure VPN将树莓派3打造成隐身设备

注意: 本博文中引用的技术和工具可能已过时,不适用于当前环境。但本文仍可作为学习机会,并可能集成到现代工具和技术中。

本文与IADGov链接类似,包含三个主要步骤。首先,获取树莓派和运行CentOS 6.8的VPS;其次,配置服务器和树莓派;最后,讨论并学习如何将所有通过树莓派作为新路由器的通信进行隐身。我将通过外接显示器演示如何连接需要接受使用条款的Wi-Fi网络。通过此连接,所有树莓派后的网络流量都通过VPN隧道路由,实现基本不可追溯的互联网通信。购买服务器可使用礼品卡兑换比特币,详见此文章

基础准备

树莓派系统镜像指南:https://www.raspberrypi.org/documentation/installation/installing-images/。为简洁起见,本文使用Raspbian系统。

goSecure VPN服务器端快速安装

选择以下任意提供CentOS 6.8的平台。为实现完全不可追溯性,请参阅第一段中的博文链接。goSecure VPN服务器配置完全支持CentOS 6.8,因此在选择虚拟私有服务器时请选用此操作系统。

购买VPS后,无需完成此链接中的大多数步骤。在“步骤1 – 构建服务器端网络配置”中,可跳过“内部网络配置”,因为Amazon可能不希望你配置对其信任网络的VPN访问。

服务器安装命令:

1
2
3
4
5
[email protected]:~ $ cd ~
[email protected]:~ $ wget https://iadgov.github.io/goSecure/files/install_scripts/gosecure_server_install.py
### 此命令使用wget获取服务器安装Python文件 – 这是服务器安装,确保拉取的是server_install.py ###
[email protected]:~ $ sudo python gosecure_server_install.py client_id [email protected] client_psk "longpasswordforuse"
### 请使用任意凭据和域名,域名无关紧要,系统将在命令完成后重启 ###

完成后,如需更改、编辑或修改用户,需修改以下两个文件:

1
2
3
[email protected]:~ $ sudo yum install nano -y   ### 添加nano文本编辑器 ###
[email protected]:~ $ sudo nano /etc/ipsec.conf  ### 在此添加用户
[email protected]:~ $ sudo nano /etc/ipsec.secrets ### 在此添加密钥

goSecure VPN客户端快速安装

以下步骤均取自IADGov网站,并有大量精美截图可供参考。

  1. 通过终端使用sudo raspi-config命令配置树莓派

    • 更改用户密码 - 选项2
    • 国际化选项 - 选项5
      • 更改时区
      • 更改键盘布局 ### 默认为UK键盘,此部分有大量选项,详见截图 ###
      • 更改Wi-Fi国家
  2. 应用更改,按Tab键两次并重启。

  3. 配置网络,使其匹配以下示例network/interfaces文件:

1
2
3
4
5
6
7
8
9
pi:$ sudo nano /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
### eth0接口将成为隐身路由器的接口IP。可设置为任意值,但必须在运行client_install.py前配置 ###
auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.50.1 netmask 255.255.255.0
auto wlan0 allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

使用sudo service networking restart重启网络。

更新操作系统和树莓派:

1
2
3
4
5
6
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install rpi-update
sudo rpi-update
sudo reboot

重启后,在登录提示符处登录。

  1. 使用wget获取并运行goSecure客户端安装脚本
1
2
3
pi:~$ cd ~
pi:~$ wget https://iadgov.github.io/goSecure/files/install_scripts/gosecure_client_install.py
pi:~$ sudo python gosecure_client_install.py
  1. 清理 ### 移除所有配置痕迹
1
2
3
4
5
6
7
8
9
pi:~$ sudo rm /home/pi/gosecure_client_install.py
pi:~$ sudo rm -rf /usr/share/doc/* /opt/vc/src/hello_pi/
pi:~$ sudo find /usr/share/locale/* -maxdepth 0 -type d |grep -v en |xargs sudo rm -rf
pi:~$ sudo find /usr/share/man/* -maxdepth 0 -type d |grep -Pv 'man\d' |xargs sudo rm -rf
pi:~$ sudo find / -type f -name "*-old" |xargs sudo rm -rf
pi:~$ sudo rm -rf /var/backups/* /var/lib/apt/lists/* ~/.bash_history
pi:~$ sudo find /var/log/ -type f |xargs sudo rm -rf
pi:~$ sudo cp /dev/null /etc/resolv.conf
pi:~$ sudo reboot

快速简单的客户端用例(更多截图等):

  • 将笔记本电脑、PC或交换机的网线连接到树莓派。
  • 将USB线插入goSecure客户端设备以供电。
  • 等待60秒。
  • 打开Web浏览器,访问“https://setup.gosecure”。
  • 按照出现的网页指示操作。默认登录用户名为“admin”,密码为“gosecure”。登录后将提示更改。
  • 下一页将提示输入本地无线网络。如需接受Wi-Fi访问的服务条款页面,可携带小型显示器。
  • 下一页将提示输入目标VPN服务器;之前获取的VPS IP地址及在server_install.py命令中使用的凭据。例如之前的:[email protected] longpasswordforuse
  • 一切应变为绿色,并确认已隐藏在VPS IP后。

页面无法访问的故障排除:

  • 无法访问网站时,能否ping通192.168.50.1?
  • 是否获得192.168.50.x网络的IP地址?
  • 在树莓派终端运行route -n命令是否产生有效默认网关或全零路由?0.0.0.0 192.168.1.1 – 如果没有,在同一终端运行sudo route add default gw <gatewayIP>命令。

最终正常用例:

  • 将goSecure客户端的以太网线插入笔记本电脑
  • 将USB线插入goSecure客户端设备
  • 等待60秒。此处使用便携式显示器在树莓派上接受Wi-Fi网络的服务条款。笔记本电脑通过有线连接至树莓派,并成为路由器/网关/隐身设备
  • 从笔记本电脑登录goSecure客户端GUI:https://setup.gosecure
  • 在VPN字段中配置VPS IP,及预配置的用户名和密码
  • 魔法时刻,大功告成!

浏览互联网时,您已隐身并应隐藏在VPS的IP地址后。进一步操作,创建新的本地端口隐藏SSH隧道出口,并通过以下方式添加另一层混淆:

1
2
hyperion@tau-ceti:~$ ssh -D 3333 -f -C -q -N -p 8415 [email protected] ### 将此服务器视为另一层混淆
hyperion@tau-ceti:~$ google-chrome --proxy-server="socks://localhost:3333" ### SOCKS代理获胜!

感谢阅读。玩得开心,注意安全。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计