ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

保姆级教程:用NPS在阿里云CentOS 7.9上搭建内网穿透服务(含防火墙配置避坑指南)

保姆级教程:用NPS在阿里云CentOS 7.9上搭建内网穿透服务(含防火墙配置避坑指南)

从零到一:阿里云CentOS 7.9环境下的NPS内网穿透实战手册

当我们需要在外网访问公司内网的OA系统、调试家中NAS的存储服务,或是与异地团队共享本地开发环境时,内网穿透技术就像一座数字桥梁。本文将手把手带您用NPS在阿里云CentOS 7.9上搭建专属通道,特别针对防火墙配置这个"隐形杀手"准备了详尽的避坑方案。

1. 环境准备与基础配置

1.1 云服务器选购要点

在阿里云控制台创建ECS实例时,建议选择CentOS 7.9镜像系统。配置方面,1核2GB内存的突发性能实例即可满足中小规模穿透需求,但需要注意:

  • 地域选择:尽量靠近主要用户群体所在区域
  • 带宽类型:按固定带宽计费更划算(推荐3Mbps起)
  • 安全组:建议新建专属安全组(后续会详细配置)

提示:阿里云新用户首购享折扣,学生认证可获更低价格

1.2 系统初始化检查

通过SSH登录服务器后,先执行基础环境检查:

# 检查系统版本 cat /etc/redhat-release # 更新系统组件 yum update -y && yum install -y wget tar # 查看防火墙状态 systemctl status firewalld

常见问题处理:

  • 若发现SELinux启用,建议临时关闭:
    setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2. NPS服务端深度配置

2.1 安全组与防火墙协同配置

这是最容易出错的环节,需要同时处理阿里云安全组和系统防火墙:

阿里云控制台操作:

  1. 进入ECS实例详情页 → 安全组 → 配置规则
  2. 添加以下入方向规则(优先级建议设为1):
授权策略协议类型端口范围授权对象
允许TCP220.0.0.0/0
允许TCP8080您的公网IP
允许TCP80240.0.0.0/0

服务器端防火墙配置:

firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --permanent --add-port=8024/tcp firewall-cmd --reload

2.2 NPS服务安装与优化

推荐使用国内镜像加速下载:

mkdir /opt/nps && cd /opt/nps wget https://mirror.ghproxy.com/https://github.com/ehang-io/nps/releases/download/v0.26.8/linux_amd64_server.tar.gz tar zxvf linux_amd64_server.tar.gz

启动前建议修改默认配置:

vim /etc/nps/conf/nps.conf

关键参数调整:

  • web_port=8080(可改为非常用端口)
  • web_password=你的强密码
  • bridge_port=8024

3. 客户端连接全流程

3.1 Windows客户端配置

虽然教程以Linux为主,但Windows用户可这样操作:

  1. 下载windows_amd64_client.tar.gz
  2. 解压后编辑conf/npc.conf:
    [common] server_addr=你的服务器IP:8024 conn_type=tcp vkey=客户端密钥
  3. 以管理员身份运行cmd:
    npc.exe install npc.exe start

3.2 隧道配置技巧

在Web管理界面(http://服务器IP:8080)创建隧道时:

  • HTTP隧道:适合Web服务,可绑定域名
  • TCP隧道:通用性最强,需注意端口冲突
  • UDP隧道:适合视频流、游戏等实时应用

推荐配置方案:

客户端ID: 2 服务端端口: 50000-51000(自定义范围) 目标(IP:端口): 内网服务实际地址

4. 高阶维护与排错

4.1 服务监控与日志分析

查看NPS运行状态:

systemctl status nps journalctl -u nps -f

关键日志位置:

  • 服务端:/var/log/nps.log
  • 客户端:~/.npc/npc.log

4.2 常见故障处理指南

故障现象可能原因解决方案
客户端显示离线8024端口未开放检查安全组和防火墙双重配置
能登录Web但无法建立隧道目标服务未启动在内网机器上测试本地访问
连接时断时续服务器带宽不足升级带宽或限制客户端速率
Web界面无法加载8080端口冲突修改nps.conf中的web_port参数

4.3 安全加固建议

  1. 定期更换Web管理密码
  2. 限制客户端vkey使用范围
  3. 设置IP白名单(/etc/nps/conf/allow_ips.txt)
  4. 启用TLS加密(需准备域名和证书)
# 示例:仅允许特定IP访问管理界面 echo "192.168.1.100" > /etc/nps/conf/allow_ips.txt

在实际项目部署中,曾遇到客户因安全组规则顺序错误导致服务不可用的情况。后来发现阿里云安全组规则是按优先级数字升序匹配,将常用端口规则设置为最高优先级后问题迎刃而解。

返回列表