Основы работы с частной сетью

Многие хостинг-провайдеры предлагают поддержку общей частной сети во всех ЦОД. Чаще всего частную сеть можно включить автоматически, сразу во время создания сервера. Если же вы создали сервер без поддержки частной сети, вы сможете добавить ее поддержку позже с помощью этого мануала.

Серверы с поддержкой частной сети могут взаимодействовать с другими серверами в этой частной сети.

В этом мануале вы научитесь определять адрес сервера в частной сети, передавать по ней файлы и обновлять файл /etc/hosts.

Для работы вам понадобятся серверы с поддержкой частной сети. В мануале используются условные серверы pnv1 (111.222.333.444) и pnv2 (123.456.78.90).

1: Определение адреса сервера в частной сети

Запустите оба сервера. Войдите на один из них:

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. Этот адрес доступен только с других серверов в том же регионе, где включены частные сети.

2: Обмен файлами по частной сети

Передать файлы по частной сети можно с помощью rsync.

Читайте также: Как копировать файлы при помощи rsync через SSH

Оставаясь на сервере pnv2, создайте новый файл:

touch test_file

Теперь попробуйте передать его на сервер pnv1 с помощью rsync:

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

3: Добавление записи в файл /etc/hosts

Также при использовании частной сети нужно настроить файл /etc/hosts и указать в нем имя хоста, которое вы хотите использовать для подключения к другому серверу через адрес частной сети. Это позволит вам подключаться через частную сеть, не вводя адрес частной сети сервера.

Для этого сначала откройте файл /etc/hosts в любом удобном текстовом редакторе:

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 можно проигнорировать. Сохраните и закройте файл.

Заключение

Итак, вы успешно подключили частную сеть. Вы можете убедиться, что изменения в файле hosts вступили в силу, с помощью команды:

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

Tags: