4

在 AWS Wavelength 上部署 SS 服务端 – 获得一台拥有原生 5G IP 的 VPS(2)

 1 year ago
source link: https://www.hidandelion.com/deploy-ss-server-on-aws-wavelength/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

在 AWS Wavelength 上部署 SS 服务端 – 获得一台拥有原生 5G IP 的 VPS(2)

在上一篇教程中,我们已经成功启动了 Wavelength 实例,在本篇文章中,我们来讲讲如何在这台 Wavelength 实例上搭建我们的 SS 服务。

在上一篇教程中,我们已经成功启动了 Wavelength 实例,在本篇文章中,我们来讲讲如何在这台 Wavelength 实例上搭建我们的 SS 服务。如果你不知道如何启动实例,点击此处前往阅读上一篇教程。

获得 Availability 区实例的 Public IP 以及 Wavelength 区实例的 Private IP

wavelength_37

在本示例中 Availability 区实例的 Public IP 为:34.211.210.114

wavelength_38

在本示例中 Wavelength 区实例的 Private IP 为:172.31.77.3

此时,你可以做到的是连接 Availability 区的实例,而不可以直接连接 Wavelength 区的实例,所以在这个环节中,我们要做两件事:映射 SSH 端口,以及映射你需要使用的 SS 服务的端口。

首先登录 Availability 区的实例,本示例的配置如下:

wavelength_39

为简便设置转发,可以使用以下脚本进行简单的 iptables 转发:

wget --no-check-certificate -qO natcfg.sh http://www.arloor.com/sh/iptablesUtils/natcfg.sh && bash natcfg.sh

以下是本示例的转发配置过程以及最终配置:

wavelength_40

在这个示例中,如果我需要连接 Wavelength 区实例的 SSH,我需要访问 Availability 区实例的 23 端口;如果我需要连接 Wavelength 区实例的 SS 服务端(8081 端口),我需要访问 Availability 区实例的 8081 端口。

注意不要转发 Availability 区实例的 22 端口到 Wavelength 区实例的 22 端口,这可能导致再也无法通过 SSH 连接到 Availability 区的实例。

连接到 Wavelength 区的实例,本示例的配置如下:

wavelength_41

本教程中我们将使用 hijk 的 SS 安装脚本:

bash <(curl -sL https://raw.githubusercontent.com/Miuzarte/hijk.sh/main/Original/ss.sh)

按照脚本的步骤如往常一样配置密码、端口、加密方式等即可,这里的端口需要与你刚才配置转发的目标端口一致,在本示例中,使用 8081 端口。

wavelength_42

调整 SS 配置

如果你在完成以上步骤后就立刻进行连接,你很可能会发现 ping 能够成功,SS 服务在正常工作,但是无法访问外部网站。这是由于 DNS 工作不正常的原因,我们必须使用默认的 DNS 服务器,因此我们需要修改 SS 的配置来排除这个问题。

首先编辑 SS 配置文件,如果你使用了本示例上述的 SS 脚本,使用以下命令:

vi /etc/shadowsocks-libev/config.json

删除 nameserver 行(图中标出行)并保存。

wavelength_43

随后,重启 SS 完成修改。再次运行 SS 脚本并选择重启 SS 即可。

wavelength_44

对于本示例,客户端的配置如下:

wavelength_45

为什么要这么做?

AWS 的官方帮助文档已经说明,Wavelength 实例对于从互联网传入的 TCP 连接和与互联网的所有 UDP 连接是被禁止的。

wavelength_46

从互联网传入的 TCP 连接被禁止意味着我们无法主动连接该实例,所以 SSH、Web 以及 SS 等其他服务都是不允许的,但是我们可以通过 Availability 区的实例进行连接,因为 AWS 的内网是允许此类连接的。

与互联网的所有 UDP 连接是被禁止意味着即使是 DNS 查询也被禁止,所以我们只能使用 AWS 提供的 Nameserver(或者也可以在 Availability 区自建)。使用 8.8.8.8 等外部 DNS 会导致解析失败。

如果遇到什么问题,欢迎在下方评论区提出。

注意:本文提到外部脚本并非本站原创,使用时请遵守其使用条款。请谨慎使用,外部脚本对使用者的计算机造成的任何不良后果,请自行负责。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK