在创建阿里云服务之前,先去创建一个网络,然后在这个自己独有的网络上添加需要的阿里云产品,这就是阿里云的 VPC (Virtual Private Cloud),直译就是虚拟私有云,产品的中文名是 “专有网络” 。
创建阿里云产品的时候可以选择自己的专有网络,也可以是经典网络。如果选择经典网络,你的产品跟同一区域的其他人的产品会在同一个网络上。如果使用自己的专有网络,你的服务跟其他人购买的阿里云服务是完全隔离的,这样会更安全一些。而且你也可以更好的控制自己的专有网络,比如使用交换机划分不同的网段,配置路由等等。
创建一个使用专有网络的 ECS 云服务器,流程大概是这样的(视频课程制作中 ... ):
- 创建一个专有网络
- 在专有网络下添加一个交换机
- 创建云服务器,选择所属的专有网络与交换机
如果你的云服务器要面向互联网提供服务,你还需要一个公网的 IP 地址,这样你还需要:
- 申请弹性公网 IP
- 把申请的公网 IP 绑定到指定的云服务器上
创建专有网络
阿里云用户可以免费创建专有网络,在创建其它服务的时候可以使用这个网络,比如 ECS 云服务器,RDS 数据库等等。
- 登录到阿里云的控制台
- 打开 产品与服务,找到 专有网络 VPC
- 再打开 专有网络 标签,选择一个地域,然后 创建专有网络
- 配置一下要创建的专有网络,输入它的名字,描述,还有选择网络的网段
阿里云的专有网络支持三个网段,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8。它们之间的区别就是不同的网段可用的 IP 地址数量不一样,随便选择一个就行,我选的是 10.0.0.0/8,因为它看起来更简洁,也好记。可以使用专有网络的交换机继续划分网段。属于这些网段的 IP 地址是内网的地址,也就是它们不能直接在互联网上访问到。
添加交换机
有了专有网络以后,需要再给它添加一些交换机,它们可以划分网段。在创建阿里云服务的时候,如果你要使用自己的专有网络,需要为服务选择专有网络,还有它下面的某个交换机。
- 找到自己创建的专有网络,管理一下
- 打开 交换机 标签,点击 创建交换机
- 配置一下交换机,输入名字,选择可用区,网段,还有描述
在创建交换机的时候需要选择可用区,比如我的专有网络是在 华南 1 这个地区,那在这个专有网络下面的交换机也要选择 华南 1 下面的某个更具体的可用区,比如 华南 1 可用区 A 或者 华南 1 可用区 B 。
交换机的网段要属于它所属的专有网络,比如我的专有网络的网段是 10.0.0.0/8,那我创建的这个交换机的网段必须要属于这个网段,比如 10.1.0.0/16,10.2.0.0/16,10.3.1.0/24 等等。我用的是 10.1.0.0/16 作用这个交换机的网段,这样创建的服务如果使用这个交换机的话,它的 IP 地址应该像这样 10.1.0.1,10.1.0.2 ...
创建云服务器
现在,创建的阿里云服务就可以使用我们自己的专有网络了,比如去创建两台按量付费的 ECS 云服务器,地域要选择专有网络所在的地域。或者,可以直接找到专有网络的交换机,点击 创建实例,选择 ECS 云服务器,这样会自动给我们选择好要使用的专有网络,交换机,还有地域。
如果云服务器使用专有网络,默认它不带公网 IP ,只会包含一个专有网络的交换机分配给它的一个内网的 IP 地址。想让服务器有一个公网 IP ,可以在创建它的时候勾选一下 弹性公网 IP ,或者也可以单独再去创建一个弹性公网 IP ,然后把它绑定到指定的服务器上使用。
先不要勾选 弹性公网 IP ,创建两台云服务器。网络类型选择专有网络,这样会出现在服务器的地域下面创建的专有网络,还有属于这个网络的交换机。完成以后,这两台服务器应该只会有内网的 IP 地址,分别是 10.1.0.1,10.1.0.2,因为在创建这个服务器的时候,选择的交换机的网段是 10.1.0.0/16 。
打开云服务器 ECS 的管理界面,在服务器所在区域下面找到它们,然后重命名一下服务器,地址是 10.1.0.1 的服务器命名为 node1,地址是 10.1.0.2 的服务器命名为 node2 。
申请弹性公网 IP
属于专有网络的服务器不能访问互联网,也不能通过互联网访问到它们。给它们绑定弹性公网 IP,就可以访问互联网了。你可以只为其中的一台服务器绑定个公网 IP ,然后配置一下它,让其它的服务器通过这台有公网 IP 的服务器访问互联网。
- 打开 产品与服务,选择 弹性公网 IP
- 选择跟服务器相同的地域,点击 申请弹性公网 IP
- 配置一下公网带宽的类型与大小
完成以后,你会得到一个公网 IP,点击 绑定,再选择一下要绑定到的 ECS 实例。比如之前我们创建的 node1 这台服务器。这样 node1 就可以使用这个公网 IP 连接互联网了。比如你可以通过这个公网 IP 地址 ssh 到 node1 这台服务器。
SNAT 共享上网
现在 node1 已经绑定了弹性公网 IP,它可以上网。node2 这台服务器还没有上网的能力,但是 node2 可以访问 node1,因为它们属于同一个专有网络。现在我想让 node2 通过 node1 去上网。可以配置一下 node1 的 SNAT,还有专有网络的路由来实现这个功能。
- 使用 node1 的公网 IP,ssh 到 node1
- 编辑 node1 的配置文件:vi /etc/sysctl.conf
- 添加代码:net.ipv4.ip_forward = 1
- 重启 node1 的 network:systemctl restart network
- 配置 node1 的 iptables:iptables -t nat -I POSTROUTING -s 10.1.0.0/16 -j SNAT --to-source 10.1.0.1
如果服务器用的是 CentOS 系统,还需要停止它们的 FirewallD 服务。
- 停止 FirewallD:systemctl disable firewalld && systemctl stop firewalld
- 在 node1 的上面再 ssh 到 node2
- 然后停止 node2 的 FirewallD:systemctl disable firewalld && systemctl stop firewalld
再去配置一下专有网络的路由。
- 找到创建的专有网络,打开 路由器 标签
- 点击 添加路由,然后配置一下
- 目录网段:0.0.0.0/0,下一跳类型:ECS 实例,下一跳 ECS 实例,选择 node1(绑定了公网 IP 的服务器 )
测试一下 node2 的上网能力。可以执行一下 ping baidu.com ,如果能连通,说明 node2 已经可以通过 node1 上网了。
评论
这是不是就是SDN哈~
8 年 4 个月 以前
那请问,如果服务器主要用于网站建设只用,是不是没有必要使用专用网络呀???
我看说专用网络不会像经典网络那么容易被黑客攻击,但是给他加了公网IP,不就又变得和经典网络一样了吗?
7 年 12 个月 以前
嗯,需要一个公网 IP,不过这个 IP 只需要给一个服务器,你可以通过这个服务器去连接你的其它的在专有网络上的服务器。
7 年 12 个月 以前
明白了,你说的是在有多台服务器的情况下。还有就是我看专用网络还需要单独买弹性IP,费用上估计也要高一些吧
7 年 12 个月 以前
嗯,单独买弹性 IP 。1M 带宽应该不贵。
7 年 12 个月 以前
请问,如果阿里云服务器想要和一个公网IP的交换机组建一个内网 如何实现
7 年 3 周 以前
抱歉啊,这个不清楚如何做。
7 年 3 周 以前