阿里云服务器无公网如何上网?
<p align="center"><img title="阿里云服务器无公网如何上网?" alt="阿里云服务器无公网如何上网?" align="" src="https://zhuji.jb51.net/uploads/img/202305/b1c955397839ebc3a692976c0adee4c6.jpg"></p>
<p>
<strong>概述:</strong></p>
<p>
为了安全起见,我们对所有应用服务器,DB服务器,redis缓存服务器不配置公网IP,只配内网IP。这样有一个问题就是没有公网IP的服务器无法上网。而某些应用的请求接口需要上网抓取数据。所以必须要解决上网的问题。</p>
<p>
大概架构如下</p>
<p>
1、一台ECS服务器,相当于跳板机(配置公网)</p>
<p>
2、一台Nginx服务器(配置公网)</p>
<p>
3、二台MySQL服务器,主从架构(不配置公网)。</p>
<p>
4、一台redis缓存服务器(不配置公网)</p>
<p>
5、三台应用服务器(不含公网)。</p>
<p>
<strong>解决思路:</strong></p>
<p>
通过对上述服务器架构和需求的了解。想到了有2种方法可以进行解决。</p>
<p>
方法一、购买阿里云NAT网关,把没有配置公网的IP地址都接入到网关。</p>
<p>
优点: 快速方便</p>
<p>
缺点:额外花钱购买NAT,哈哈~~</p>
<p>
方法二、使用自己已有的nginx服务器,进行路由转发上网</p>
<p>
优点:不用花钱购买NAT</p>
<p>
缺点: 需要人为配置,路由转发</p>
<p>
总结,为了节省成本,我这里采用的是方法二。</p>
<p>
<strong>解决方法</strong></p>
<p>
1、Nginx服务器,开启数据包转发</p>
<p>
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf</p>
<p>
sysctl –p</p>
<p>
2、配置NAT转发Iptables</p>
<p>
iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.2.54</p>
<p>
此处假设阿里云服务器内网,网是192.168.2.0/24</p>
<p>
3、添加VPC路由</p>
<p align="center">
<img title="阿里云服务器无公网如何上网?" alt="阿里云服务器无公网如何上网?" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/a8db559b5cb9b7a5eb83fa944b0992b5.jpg" width="609"></p>
<p align="center">
<img title="阿里云服务器无公网如何上网?" alt="阿里云服务器无公网如何上网?" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/335bf18824ff94857c8be365ea2688ed.jpg" width="640"></p>
<p>
4、在没有公网的IP地址服务器,可以直接ping通外网</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。最后,如果感觉文章对你有用,欢迎朋友关注+转发哦!</p>
頁:
[1]