请问应付公司完全不开放外网Port情况,让特定 web service 具备内网穿透功能?

请问应付公司完全不开放外网Port情况,让特定 web service 具备内网穿透功能?

因为公司有安全考量不开放外网Port,但我知道有内网穿透的技术
不想要server全部内网穿透暴漏在外网,只想要特定 web service 或是 iis app 能让外网通过内网穿透访问

举例 : 外网能通过 xxxxxx.com/xxxx 访问内网 192.168.1.1:8084/xxxsystem

阅读 1.3k
avatarAI BotBETA

要实现内网穿透,可以让内网服务绑定一个公网IP,并设置一个端口号,然后将这个端口映射到外网,这样外网就可以通过这个公网IP和端口号来访问内网服务。

如果你不想让整个服务器都暴露在外网,只想要特定web service或IIS应用程序能被外网通过内网穿透访问,可以通过以下方式实现:

  1. 在路由器上设置端口映射,将外网IP的特定端口映射到内网服务的IP地址和端口号。这样,外网访问这个IP和端口号时,就会自动转发到内网服务。
  2. 在内网服务器上设置防火墙规则,只允许特定端口的通信通过,其他端口一律禁止。这样,只有特定端口的通信能够通过防火墙,其他端口就无法访问内网服务了。
  3. 使用一些具有内网穿透功能的软件或服务,比如Ngrok、frp等。这些工具可以在内网服务器上建立一个隧道,将内网的端口映射到外网,并且可以设置访问权限,只允许特定端口的通信通过。

需要注意的是,内网穿透可能会带来安全风险,特别是如果内网服务包含了敏感信息或者涉及到公司的核心业务,建议在实施前先进行安全评估和风险控制。

1 个回答

你需要干什么,如果只是说你想自己访问,通过 ssh隧道 来实现,只要你能 通过 ssh 访问,你就能通过这台机器的访问到内网机任何端口, 也保证了安全性
本地端口转发
连接从客户端主机转发到SSH服务器主机,然后转发到目标主机端口。
语法:

ssh -g -N -L -f [本地端口]:[远程IP]:[远程端口] [ssh帐号]@[ssh服务IP] -p [ssh服务端口]

举个栗子:

ssh -g -N -L -f 9999:192.168.100.100:80 root@www.test.com -p 22

输入命令之后才会让你输入ssh的连接密码,上面的命令意思是,访问本机电脑的 http://本地IP:9999 可以直接访问到远程机器的 http://192.168.100.100:80所在的web服务。

参数说明:

-g:开启网关,表示访问本地的所有IP地址都可以;
-N:表示创建隧道以后不连接到 ssh服务端,连接之后界面会直接卡住,若你要建立之后并连接ssh服务端操作,可以直接取消本参数;
-L:表示local,本地端口转发;
-f:表示在后台运行,注意在后台运行只能通过杀进程的方式结束
9999:192.168.100.100:80:这个表示[本地端口8888]:[远程IP192.168.100.100]:[80];
root@www.test.com -p 22:使用root用户连接 www.test.com 的ssh服务,ssh端口是22,若你不是22端口则需要修改;

内网穿透

当然你还是需要使用功能内网穿透的话,你得先有一个公网的服务器,然后推荐你使用 nps 工具来实现内网穿透, 也有免费的内网穿透服务商,一般都限制流量与带宽,比如

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题