X
X
X
X

知識庫

主頁知識庫Linux - MultiVPS IPv6+IPv4ICMP - IPv4 Pings 和 NAT IPv4 端口范围测试

ICMP - IPv4 Pings 和 NAT IPv4 端口范围测试

NAT端口范围测试

为确保正常运行,您希望通过NAT IPv4系统运行的应用程序必须满足以下要求:
- 应用程序必须支持双栈(即同时支持IPv4和IPv6连接);
- 必须能监听IPv6和IPv4地址格式(即[::]::0和0.0.0.0/0,分别是IPv6和IPv4的全通地址);
- 仅限UDP使用场景:必须通过UDP发送连续数据包流。

几乎所有Linux应用程序都支持双栈连接。已知例外情况包括:
- SOCKS 4 和 SOCKS 4a(SOCKS 5 版本已支持);
- Docker 仅限 27.0.1 之前的版本(该版本于 2024 年 6 月 24 日发布)。部分发行版仍采用旧版 26,例如 Debian 12 和 13; 例如Ubuntu 24.04 LTS已确认支持27.5版Docker,可作为可用替代方案;
- Kubernetes(仅限2021年12月前的版本)。Debian 10不支持该功能,首次支持出现在Debian 11;
- 2017/2018年前的其他软件。

在NAT端口计算器中显示的NAT IPv4地址无需提供给VPS上的应用程序。只需将应用程序映射到监听全局地址即可。发往特定端口范围的流量将通过我们的NAT桥接自动拆分,当无法直接通过IPv6地址访问时,将自动转发至IPv4地址。

TCP与UDP测试示例

请注意:指定范围内的端口均已自动预先开放,无需提交工单。

TCP示例:尝试将/etc/ssh/sshd_config中的端口修改为VPS预测端口范围内的任意端口。
确保“PubkeyAuthentication”设置为No且未注释(无#符号),同时“PasswordAuthentication”设置为Yes且未注释。保存后执行:

sudo systemctl restart sshd [适用于Debian、AlmaLinux、Rocky Linux、Fedora] 或
sudo systemctl restart ssh [适用于Ubuntu]

以重启SSH服务。测试前请确保服务同时监听两种格式。

随后可使用PuTTY、MobaXterm等SSH客户端登录:输入全球服务器的IPv4地址、VPS Linux用户名(root)及您刚设置的SSH服务端口,即可完美连接。

此方案已于2024年10月29日在Windows环境的MobaXterm客户端进行测试,采用仅IPv4连接且底层使用socat技术,测试环境为AlmaLinux 9.4与Debian 12。

UDP示例:在Debian或Ubuntu系统中安装netcat-openbsd。安装后,确保在netcat前不执行其他命令,运行以下指令:

nc -6 -u -l -p [您的端口号]

其中[您的端口号]应为VPS上NAT IPv4专用的UDP端口范围(请查阅知识库文章了解NAT IPv4端口计算方法)。

程序将开始通过IPv6在指定端口监听,并保持该状态。

随后尝试通过UDP发送任意内容(文本、消息等):

在Windows Powershell中:
$message = “Test UDP”; $udpClient = New-Object System.Net. Sockets.UdpClient; $udpClient.Connect(“116.xxx.xxx.xxx”, [您的端口号]); $bytes = [Text.Encoding]::ASCII.GetBytes($message); $udpClient.Send($bytes, $bytes.Length); $udpClient.Close()

在 Linux 中
echo “Test UDP” | nc -u -w1 116.xxx.xxx.xxx [您的端口号]

其中“116.xxx.xxx.xxx”是您服务器层级的公共全球IPv4地址,[您的端口号]则是UDP专用端口号——该端口号必须与VPS进程监听端口完全一致,且必须与您的UDP端口范围完全相同。

若您的VPS收到“Test UDP”提示,则表示系统运行正常。

本方案于2024年10月29日在Windows环境的MobaXterm客户端进行测试,通过仅支持IPv4访问的Debian 12 VPS实现,底层采用Socat技术。

我们无法保证基于RHEL系统的“nc”包与Debian/Ubuntu的netcat-openbsd在技术上完全等效(未实际测试),部分原因在于其变更回溯的特性。但可明确指出netcat-traditional包不适用于此任务,因其不支持用于IPv6监听的-6参数。

关于IPv4上的ICMP连接性

MultiVPS不支持超出分配端口范围的出站IPv4 ICMP IP ping操作,这源于技术特性——主服务器及公共服务备用节点均采用DNS64实现方案。该方案会修改数据包头,且DNS64需先将请求转换为有效域名,因此无法识别纯IP地址通信。

因此,若IPv4地址以域名形式存在,则支持对其进行ping操作。

所有协议均始终支持直接IPv6到IPv6的ICMP通信,无论目标是IP地址还是域名。

如果您想计算 VPS 上的 IPv4 NAT 端口,请点击此处。

找不到您要找的資訊?

建立支援票證
你覺得有用嗎?
(瀏覽了 2649 次/有 2 人發現它有幫助)

Powered by WISECP
Top