目录
- 前言
- CentOS 虚拟机的创建
- Shadowsocks 服务端的安装 3.1. 使用 yum 安装 Shadowsocks 服务端 3.2. 手动编译安装 Shadowsocks 服务端
- Shadowsocks 客户端的配置 4.1. Windows 客户端配置 4.2. macOS 客户端配置 4.3. Android 客户端配置 4.4. iOS 客户端配置
- Shadowsocks 服务端的配置 5.1. 修改 Shadowsocks 配置文件 5.2. 启动 Shadowsocks 服务
- 防火墙和 SELinux 的配置
- Shadowsocks 的使用
- FAQ
前言
虚拟机 是一种软件技术,它允许一台计算机同时运行多个操作系统。这使得用户可以在一台物理机上安全、高效地运行多个系统环境,而不会相互干扰。
Shadowsocks 是一种加密的代理协议,广泛应用于科学上网、翻墙等场景。它能有效地突破网络封锁,访问被禁止的网站和服务。
本文将介绍如何在 CentOS 虚拟机上安装和配置 Shadowsocks,为您提供一个稳定高效的科学上网解决方案。
CentOS 虚拟机的创建
首先,您需要在本地计算机上创建一个 CentOS 虚拟机。这可以使用 VMware、VirtualBox 等虚拟机软件来完成。
- 下载 CentOS 系统镜像文件,可从官网 [https://www.centos.org/download/] 获取。
- 安装虚拟机软件,如 VMware 或 VirtualBox。
- 创建一个新的虚拟机,并在创建过程中选择刚刚下载的 CentOS 系统镜像文件。
- 根据自己的需求调整虚拟机的配置,如内存大小、CPU 核心数等。
- 完成虚拟机的创建和安装。
Shadowsocks 服务端的安装
使用 yum 安装 Shadowsocks 服务端
-
登录到 CentOS 虚拟机,打开终端。
-
运行以下命令安装 Shadowsocks 服务端:
yum install -y epel-release yum install -y shadowsocks-libev
-
安装完成后,您可以使用以下命令启动 Shadowsocks 服务:
systemctl start shadowsocks-libev systemctl enable shadowsocks-libev
手动编译安装 Shadowsocks 服务端
-
登录到 CentOS 虚拟机,打开终端。
-
安装 Shadowsocks 服务端所需的依赖包:
yum install -y epel-release yum install -y gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel
-
下载 Shadowsocks 源码并编译安装:
git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev ./autogen.sh ./configure –prefix=/usr –disable-documentation make make install
-
创建 Shadowsocks 服务的配置文件:
cat > /etc/shadowsocks-libev/config.json <<-EOF { “server”:”0.0.0.0″, “server_port”:8388, “password”:”your_password”, “timeout”:300, “method”:”aes-256-cfb” } EOF
-
启动 Shadowsocks 服务:
systemctl start shadowsocks-libev systemctl enable shadowsocks-libev
Shadowsocks 客户端的配置
Windows 客户端配置
- 下载并安装 Shadowsocks 客户端软件,可从 [https://github.com/shadowsocks/shadowsocks-windows/releases] 获取。
- 打开 Shadowsocks 客户端软件,点击左上角的”+”图标,选择”从剪贴板导入”。
- 输入您在服务端设置的服务器地址、端口、密码和加密方式,然后单击”确定”保存。
- 单击软件界面右下角的”启用系统代理”即可开始使用 Shadowsocks 进行科学上网。
macOS 客户端配置
- 下载并安装 Shadowsocks 客户端软件,可从 [https://github.com/shadowsocks/shadowsocks-iOS/releases] 获取。
- 打开 Shadowsocks 客户端软件,点击左上角的”+”图标,选择”从剪贴板导入”。
- 输入您在服务端设置的服务器地址、端口、密码和加密方式,然后单击”确定”保存。
- 单击软件界面右上角的”启用”即可开始使用 Shadowsocks 进行科学上网。
Android 客户端配置
- 下载并安装 Shadowsocks 客户端软件,可从 [https://github.com/shadowsocks/shadowsocks-android/releases] 获取。
- 打开 Shadowsocks 客户端软件,点击右下角的”+”图标,选择”从剪贴板导入”。
- 输入您在服务端设置的服务器地址、端口、密码和加密方式,然后单击”确定”保存。
- 单击软件界面右上角的”开始”即可开始使用 Shadowsocks 进行科学上网。
iOS 客户端配置
- 下载并安装 Shadowrocket 客户端软件,可从 App Store 搜索并安装。
- 打开 Shadowrocket 客户端软件,点击左上角的”+”图标,选择”添加代理”。
- 输入您在服务端设置的服务器地址、端口、密码和加密方式,然后单击”完成”保存。
- 单击软件界面右上角的”开启”即可开始使用 Shadowrocket 进行科学上网。
Shadowsocks 服务端的配置
修改 Shadowsocks 配置文件
-
打开 Shadowsocks 服务端的配置文件:
nano /etc/shadowsocks-libev/config.json
-
根据您的需求修改以下配置项:
server
: 服务器的 IP 地址或域名,默认为0.0.0.0
。server_port
: 服务器监听的端口号,默认为8388
。password
: 客户端连接时使用的密码。timeout
: 连接超时时间,单位为秒。method
: 加密方式,可选aes-256-cfb
、chacha20-ietf-poly1305
等。
-
保存并退出配置文件。
启动 Shadowsocks 服务
-
使用以下命令启动 Shadowsocks 服务:
systemctl start shadowsocks-libev
-
检查 Shadowsocks 服务的状态:
systemctl status shadowsocks-libev
如果服务启动成功,您应该能看到
active (running)
的状态。 -
设置 Shadowsocks 服务开机自启:
systemctl enable shadowsocks-libev
防火墙和 SELinux 的配置
-
检查并开放 Shadowsocks 服务端使用的端口:
firewall-cmd –zone=public –add-port=8388/tcp –permanent firewall-cmd –reload
-
如果您的 CentOS 虚拟机开启了 SELinux,您需要执行以下命令允许 Shadowsocks 服务访问网络:
semanage port -a -t shadowsocks_port_t -p tcp 8388
Shadowsocks 的使用
- 确保您已经正确配置了 Shadowsocks 服务端和客户端。
- 打开 Shadowsocks 客户端软件,并确保已经连接到服务器。
- 在浏览器或其他需要科学上网的应用程序中,设置系统代理为 Shadowsocks 客户端的地址和端口。
- 现在您可以通过 Shadowsocks 代理访问被限制的网站和服务了。
FAQ
Q: 为什么我无法连接到 Shadowsocks 服务器?
A: 请检查以下几点:
- 服务器的 IP 地址或域名是否正确
- 服务器的防火墙是否已开放 Shadowsocks 端口
- Shadowsocks 服务是否已正确启动
- 客户端的配置是否与服务端设置一致
Q: Shadowsocks 是否安全?
A: Shadowsocks 使用加密技术来保护您的网络通信,相比直接访问被屏蔽的网站更加安全。但是,如果您担心隐私和安全问题,建议您也使用 VPN 等其他科学上网工具。
Q: Shadowsocks 有哪些缺点?
A: Shadowsocks 的主要缺点包括:
- 需要自行搭建服务器,增加了使用成本
- 服务器可能会被封锁,需要不断更换服务器
- 国内网络环境复杂,连接质量可能较差
- 对于某些视频等流媒体服务,可能无法正常使用
Q: 如何优化 Shadowsocks 的性能?
A: 您可以尝试以下方法来优化 Shadowsocks 的性能:
- 选择就近的服务器位置,以降低延迟
- 使用更高效的加密算法,如
chacha20-ietf-poly1305
- 调整 Shadowsocks 客户端的缓存和连接超时设置
- 开启 TCP 快速打开(TCP Fast Open)功能
- 使用 Shadowsocks 配合 V2Ray 或 Trojan 等代理工具
Q: Shadowsocks 和 VPN 有什么区别?
A: Shadowsocks 和 VPN 都是科学上网的工具,但它们在原理和使用方式上有所不同:
- Shadowsocks 是一种基于 SOCKS5 协议的代理工具,而 VPN 是一种基于 IPsec 或 OpenVPN 协议的隧道技术。
- Shadowsocks 只代理特定的应用程序流量,而 VPN 会代理整个设备的网络流量。
- Shadowsocks 的服务器部署和维护相对简单,而 VPN 通常需要专业的网络环境。
- Shadowsocks 可能更容易被检测和屏蔽,而 VPN 相对更加稳定和安全。
总的来说,Shadowsocks 和 VPN 各有优缺点,您可以根据自己的需求选择合适的工具。