楼主这边的情况是这样,有一台阿里云服务器 A 设置了安全组,只有公司内网才能访问到其他的 ip 访问不到.怎么做才能做到在外网也能访问到服务 A 呢?
尝试过在 A 服务器上运行一个 openVPN server,然后本地通过 openVPN 客户端去访问.发现在外网环境,因为 A 服务器设置了安全组外网的 ip 会被拦截,请求根本打不过去.这种情况要怎么做呢?
最后解释一下为什么 A 服务器要设置安全组不让别的 ip 访问,因为 A 服务器上运行着 环境部署平台,害怕被人登录上去后 回滚线上或者测试环境的代码,所以设置了阿里云安全组只让公司内网访问
1
finian 2020-09-09 12:42:24 +08:00
1. 安全组开放相应的端口 or
2. 先连跳板机,再连 A |
2
yestodayHadRain OP @finian 安全组开放了 openVPN 服务的端口,并且内网环境下是可以连接到 A 服务器的 VPN 的.但是外网环境不行,我感觉是外网环境的 ip 没有在阿里云安全组的白名单里所以被拦截了,这个要怎么处理呢?
|
3
finian 2020-09-09 12:52:06 +08:00
@yestodayHadRain #2 那要看你的安全组规则的「授权对象」是怎么设置的,是不是设置只有内网部分 IP 可以访问
|
4
opengps 2020-09-09 12:52:49 +08:00 via Android
让你们公司买堡垒机服务
|
5
shynome 2020-09-09 12:56:40 +08:00 via Android
应该有 VPN 的,问问网管,没有的话让老大开端口(安全意识到这了应该有网管的吧)
你可以在公司网络下把公司的电脑和自己的云服务器组 VPN,然后连上自己组的 VPN 后把公司的电脑当成跳板机,这里注意的是公司电脑不能关机,关机就连不上了 |
6
yestodayHadRain OP @shynome 没有 vpn,公司刚成立.目前让我来做这件事.如果在公司内网搞一台机器做跳板机的话,是不是就不需要 vpn 了呀.之前没有搞过这块,对这些不是太了解呢
|
7
yestodayHadRain OP @finian 不是设置的内网部分 ip,公司内网 大家都是连的公司同一个路由器,然后阿里云安全组把这个路由器的外网 ip 设置成白名单了.
|
8
yestodayHadRain OP @opengps 有什么不花钱的办法吗?
|
9
nuk 2020-09-09 13:33:11 +08:00
把 openvpn server 设置在其他地方,阿里云上运行 client
反向连接 vpn |
10
yestodayHadRain OP @nuk 现在有个想法是,在另外一台没有设置安全组的阿里云机器 B 上运行 vpn Server 然后 A 机器的安全组白名单里加上 B 机器的 ip,最后外网环境的本地通过 vpn 客户单连接 B 机器上的 vpn Server 可以访问到 A 机器上的服务吗?
|
11
wangxiaoaer 2020-09-09 13:49:58 +08:00
最后解释一下为什么 A 服务器要设置安全组不让别的 ip 访问,因为 A 服务器上运行着 环境部署平台,害怕被人登录上去后 回滚线上或者测试环境的代码,所以设置了阿里云安全组只让公司内网访问
------------------- 所以你为什么还要从外网登陆上去?开个口子出了问题谁负责? |
12
yestodayHadRain OP @wangxiaoaer 那如果周六日大家都在家,有个服务要上线或者线上出了问题要回滚.外网访问不到部署平台,这时候该怎么办呢?
|
13
shynome 2020-09-09 14:05:12 +08:00 via Android
@yestodayHadRain 那就安全组里放行 VPN 端口给所有地址连接,所有的方法都需要这步,接下来就是保证 VPN 的安全性了
对于 opengps 说的堡垒机我没接触过,不清楚是啥样的 |
14
Xusually 2020-09-09 14:08:56 +08:00
@yestodayHadRain 可行。但是注意网络 B 的 VPN 网络配置,避免客户端相互隔离。
|
15
brendanliu 2020-09-09 14:19:01 +08:00
可以看下 VPN 网关这个产品能不能满足,云厂商提供了现成的服务
|
16
yestodayHadRain OP @Xusually 避免客户端相互隔离,是什么意思呢?
|
17
opengps 2020-09-09 14:53:15 +08:00
@yestodayHadRain 不花钱的办法:每次要登录时候单独找总负责人添加当前 ip 到白名单
|
18
lower 2020-09-09 14:59:31 +08:00
直接用阿里云提供的在线 vnc 呗……还能咋办😭
|
19
Xusually 2020-09-09 15:07:03 +08:00
@yestodayHadRain 很多在网上抄的 vpn 服务器的配置,会配置成客户端是相互隔离的,虽然 ip 段看上去是同一个子网的,实际上不能互通,如果配置成这样就不能达到你外面的客户端和 A 机器能通信的目的了。
注意一下即可。 |
20
yestodayHadRain OP @opengps .......要这样搞,总感觉有一天会被拿去祭天呢
|
21
wakzz 2020-09-09 15:24:21 +08:00
部署个堡垒机,外网用堡垒机登录生产机器
|
22
yestodayHadRain OP @wakzz 公司目前没有堡垒机(公司比较难,机器比较少),另外如果有堡垒机 像一些 web 服务 也可以通过堡垒机访问到吗?我印象中堡垒机多数都是 ssh 的吧?
|
23
yestodayHadRain OP @lower 阿里云在线 vnc 可以无视阿里云安全组,在外网把请求打到阿里云服务器上吗?
|
24
opengps 2020-09-09 15:41:37 +08:00
@yestodayHadRain 23#楼提到既然都有权限去登录阿里云帐号 vnc 了,就跟安全组临时添加 ip 一个意思了,阿里云帐号在谁手里,谁就是离开公司后唯一能连接服务器的
|
25
lower 2020-09-09 15:48:36 +08:00
@yestodayHadRain 查了一下没看到详细说明,但是至少可以选内网方式连接,而且阿里云好像可以创建子账号,来分配权限。。。不知道这种方式是否适合你
|
26
yestodayHadRain OP @Xusually 我按照这个方法试了一遍, A 机器用 openVPN 客户端 连接 B 机器的 openVPN server,然后我本地的外网环境也用 openVPN 的客户端连接 B 机器的 server.通过查看 B 机器上的日志发现, A 机器和我本地 在 openVPN 的虚拟网络中在同一个网段下了,我本地也可以 ping 通 A 机器的虚拟 ip,但是还是访问不了 A 机器上的服务.这个是为什么呢?
|
27
Xusually 2020-09-09 16:41:35 +08:00
@yestodayHadRain A 的安全组里面需要把你 vpn 客户端们所在的虚拟网的 ip 段开放对应的访问权限。
|
28
Xusually 2020-09-09 16:42:47 +08:00
@Xusually @yestodayHadRain 接上条,而且还要检查你 A 机器上部署的你需要访问的服务,是监听在哪些网络接口上的,如果制定的是监听在公网 ip 上的话,你从私有地址访问也是不行的。
|
29
yestodayHadRain OP @Xusually 27#楼 这个应该不需要,因为我在安全组里给 B 机器的外网 ip 加了白名单.而且现在没有加白名单,我的外网本地环境也可以 ping 通 A 机器的虚拟 ip
|
30
yestodayHadRain OP @Xusually 28#楼 现在是不是只要配置下 iptables 的路由转发就可以了呢?
|
31
whileFalse 2020-09-09 22:39:34 +08:00
太费劲了。就两种方式:
1. 用阿里云的堡垒机服务,花钱省事儿。 2. 用一台可以从任意 IP 访问的机器当堡垒机。内网服务器的安全组信任来自这台堡垒机的入流量。 这台堡垒机可以运行 VPN Server,也可以就是一台简单的 Windows 。 |