云服务器,有没有办法多台服务器共用一个公网 ip

2022-11-29 14:54:36 +08:00
 unt

需求:购买多台云服务器,不同服务器挂不同的服务。

但是每台服务器配一个公网 ip 太贵了,有没有办法只买一个公网 ip 就能解决,然后多台服务器组内网通讯。

ip 已经都买好了,只是来请教一下 V 友们。

6224 次点击
所在节点    程序员
50 条回复
wu00
2022-11-29 16:22:47 +08:00
NAT 网关比公网 IP(带宽)便宜多了,NAT 绑弹性公网 IP ,出网入网配置灵活简单,各服务多多少少有访问公网的需求把
ThirdFlame
2022-11-29 16:25:35 +08:00
15 楼是正确答案。
如果不选用这种产品,那么可以在一台主机上配置公网 IP ,入方向上 nginx 反向代理、出方向上 SNAT 即可。
unt
2022-11-29 17:29:13 +08:00
谢谢各位的回复,我去看下。。。

然后我的需求细节没有讲清楚:
我是第一台服务器做 web 应用及第三方 web 应用
第二台服务器跑 mysql,redis,kafka
第三台服务器跑 mongo
liufish
2022-11-29 17:31:48 +08:00
3 台服务器是否在同一个区域,是否有能互通的私网 IP 。
例如阿里云,如果这些服务器都在同一个区域,私网 IP 能通,用 ng 就好了。

NAT 太贵了,不太划算。
AnroZ
2022-11-29 17:41:59 +08:00
三台组成一个局域网,公网 IP 绑一台然后 nginx 反向代理到其他两台或者 iptables 端口转发,公网临时访问可以用 ssh -L
tanglu
2022-11-29 17:44:41 +08:00
想问问楼主 公网 IP 在哪购买的呀?
cxh116
2022-11-29 18:21:00 +08:00
@bthulu nginx 早就支持 4 层代理了 , tcp, udp, sni proxy 都没问题

https://nginx.org/en/docs/stream/ngx_stream_core_module.html
snoopygao
2022-11-29 18:33:17 +08:00
我看了楼上,你选择以下两个方案靠谱点
一、在带公网的服务器上装 haproxy ,转发 tcp 协议就可以;
二、在带公网的服务器上启用 firewalld ,使用 public 区域上网(开启 masqurade ),internal 区域内部通讯,如果其它服务器要上网,在 vpc 内把默认路由指向第一台服务器,主服务器网卡上关闭 检查源目 MAC 地址;
强烈建议第二种。
天翼云解决方案专家+华为云解决方案专家
binfengxy
2022-11-29 18:53:22 +08:00
云上的方案当然要云原生比较好,选 15 楼
1311317
2022-11-29 19:35:30 +08:00
keepalived 可行?
honmaple
2022-11-29 20:26:02 +08:00
LVS
totopper312
2022-11-29 20:41:23 +08:00
最开始腾讯云是支持把一台服务器当 nat 网关用,后来下架了,有方法,比较折腾,入口方向和出口方向都要考虑。
imNull
2022-11-29 20:45:52 +08:00
@totopper312 大佬,正好要用到,什么方法,有链接么?学习下
moonheart
2022-11-29 21:40:00 +08:00
iptables 配置下 snat dnat 就好了
paranoiagu
2022-11-29 21:43:23 +08:00
@daimaosix 是的是的。

Nginx 是可以的,我就是这么干的。

现在是用阿里云,其实发现 IP 不贵,贵的是流量,如果流量不多,按量收,其实没多少钱。
eason1874
2022-11-29 21:53:27 +08:00
同区域的服务器本来就可以内网通讯的,只要在一个 VPC 或者 VPC 互通就行,不管有没有公网 IP

共用一个公网出口的话,就是把公网 IP 绑定到 A ,然后其他机器拿 A 当网关,A 相当于软路由的角色,或者用代理的方法,就是 socks5 、nginx 之类的
totopper312
2022-11-29 22:06:02 +08:00
@imNull https://cloud.tencent.com/document/product/213/38839 2019 年 12 月 06 日后,腾讯云不支持在云服务器购买页勾选配置公网网关。如果您有需要,请按照本文所示方法自行配置。
fengbjhqs
2022-11-29 22:46:42 +08:00
菜鸟再问,如果 vps 不在一个运营商可以吗
kamin
2022-11-29 23:01:22 +08:00
@fengbjhqs 可以尝试用 Wireguard 将远程服务器的 ip 分配给指定服务器 /个人电脑使用
seakingii
2022-11-29 23:31:16 +08:00
在有公网 IP 的服务器上做端口转发

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/898792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX