介绍
DigitalOcean在所有数据中心地区提供共享专用网络。 在支持区域中创建的所有新Droplet都可以选择使用专用网络; 它可以通过在Droplet创建页面的设置部分中选择名为“专用网络”的复选框来激活。 如果你已经有一个未启用专用网络Droplet,你可以参考这个教程 ,它涵盖了如何使现有的Droplet专用网络。
具有专用网络的Droplet然后能够与具有该接口的其他Droplet通信。 DigitalOceanDroplet上的共享专用网络由每个服务器上的没有互联网访问的第二接口表示。
本文将涵盖查找Droplet的专用网络地址,通过专用网络传输文件以及更新/ etc / hosts文件。
第一步 - 用私人网络创建Droplet
在这一点上,为了利用私有网络,您需要在同一地区创建新的服务器。 在本教程中,我们将涉及两个Droplet:pnv1(111.222.333.444)和pnv2(123.456.78.90)。
继续创建两者,启用Droplet创建页面上的专用网络。
第二步 - 查找您的专用网络地址
一旦两个服务器都启动,请继续登录其中之一:
pnv2:
ssh root@123.456.78.90
一旦你登录到服务器,你可以看到私有地址ifconfig
。
命令的输出如下所示:
ifconfig
eth0 Link encap:Ethernet HWaddr 04:01:06:a7:6f:01
inet addr:123.456.78.90 Bcast:123.456.78.255 Mask:255.255.255.0
inet6 addr: fe80::601:6ff:fea7:6f01/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:168 errors:0 dropped:0 overruns:0 frame:0
TX packets:137 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18903 (18.9 KB) TX bytes:15024 (15.0 KB)
eth1 Link encap:Ethernet HWaddr 04:01:06:a7:6f:02
inet addr:10.128.2.25 Bcast:10.128.255.255 Mask:255.255.0.0
inet6 addr: fe80::601:6ff:fea7:6f02/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:468 (468.0 B) TX bytes:398 (398.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
这里要注意的部分eth1
和内inet addr
。 在这种情况下,在专用网络地址是10.128.2.25。 此地址只能从启用了专用网络的同一区域内的其他服务器访问。
第三步 - 在具有专用网络的服务器之间传输文件
当您设置了两个服务器时,您现在可以开始利用专用网络。 下面我们将向您展示如何rsync的跨专用网络中的文件。
虽然仍登录到pnv2,创建一个新的文件,我们将转移:
touch test_file
一旦文件被创建,让我们继续前进,将其传送与整个私有网络rsync将pnv1:
rsync -va test_file 10.128.1.70:/tmp
使用此命令时,您很可能会看到一个密码请求:
root@10.128.2.18's password:
虽然您可以在那里使用密码,但使用一个服务器的密钥来使传输工作更加安全。 我们有一个教程就如何设置SSH密钥。
无论您在文件传输中使用密码还是ssh密钥,一旦完成,您应该看到类似于以下内容的输出:
sent 73 bytes received 31 bytes 18.91 bytes/sec
total size is 0 speedup is 0.00
登录服务器pnv1:
ssh root@111.222.333.444
登录后,您将能够看到测试文件确实在新服务器上:
ls /tmp/
test_file
第四步 - 将条目添加到/ etc / hosts
另一种有用的一步采取使用专用网络时是设置你的/etc/hosts
与您想使用通过专用网络地址连接到另一台服务器主机名的文件。 这样做将允许您跨私人网络连接,而无需每次都输入Droplet的私有网络地址。
为此,首先打开/ etc / hosts文件。 (在这个例子中,我将使用nano作为我的文本编辑器,但你可以选择任何你喜欢的):
nano /etc/hosts
在文件中包括您要连接到的服务器的私有网络地址和要调用它的主机名:
127.0.0.1 localhost pnv2
10.128.2.18 pnv1
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
此时,您可以忽略文件中有关IPv6的信息。 保存并退出该文件。
第五步 - 完成
现在,您已设置为通过专用网络连接。 您可以通过ping添加的服务器来确认对主机文件的更改已生效:
ping pnv1
PING pnv1 (10.128.2.18) 56(84) bytes of data.
64 bytes from pnv1 (10.128.2.18): icmp_req=1 ttl=64 time=0.742 ms
64 bytes from pnv1 (10.128.2.18): icmp_req=2 ttl=64 time=0.395 ms
64 bytes from pnv1 (10.128.2.18): icmp_req=3 ttl=64 time=0.368 ms
64 bytes from pnv1 (10.128.2.18): icmp_req=4 ttl=64 time=0.361 ms