У меня два линода в одном дата-центре. Я хочу копировать файлы из одного в другой каждую ночь или по запросу (примерно в течение следующего месяца, пока этот проект не будет завершен). Итак, я думаю об использовании rsync.
У меня вопрос: как мне настроить два сервера Linode для безопасной связи через частные IP-адреса? Оба сервера имеют усиленный SSH, они используют denyhosts и имеют довольно ограничительную настройку iptables.
Я знаю, что мне нужно сначала назначить частные IP-адреса каждому серверу, а затем настроить статическую сеть в соответствии с это руководство.
Что дальше? Какие настройки SSH или iptables необходимы, чтобы эти два сервера могли обмениваться данными?
Какую дополнительную информацию мне нужно предоставить в этом вопросе? Я ищу базовое пошаговое руководство, как это сделать.
Поскольку вы используете Linux, у вас есть все необходимые инструменты. Просто используйте rsync поверх ssh
rsync -avz -e ssh user@remotehost:/remote/dir /this/dir/
Нет необходимости в частных IP-адресах и т. Д., Так как это обеспечивает сквозное шифрование вашего трафика.
Как упоминалось в комментарии ErikA, одним из преимуществ использования частных IP-адресов в Linode является то, что вы не платите за пропускную способность в их частной сети. И весь мой вопрос состоял в том, чтобы спросить, как это сделать с частными IP. Итак, я отвечаю на свой вопрос решением, которое в итоге использовал.
Какие настройки SSH или iptables необходимы, чтобы эти два сервера могли обмениваться данными?
Никаких изменений не потребовалось. Иан был прав. Связь по-прежнему осуществляется через тот же порт, и этот порт уже был открыт в iptables. Несмотря на то, что этот сервер имеет "усиленный SSH", никаких изменений там, где это необходимо, при использовании частных IP-адресов вместо общедоступных IP-адресов.
Как указано в моем первоначальном вопросе, я планировал использовать rsync - и это стало окончательным решением. Но использование настраиваемого порта и ключевого файла требует цитирования части команды ssh, как показано здесь:
rsync -av -e "ssh -p 222 -i /home/user/.ssh/id222_rsa" /this/dir/ --delete-excluded --exclude-from=my_exclude_list.txt user@www.example.com:/remote/dir
Выяснение необходимости цитат и того, какая часть цитат находится внутри них, было единственной незначительной проблемой для всего этого. В итоге все оказалось проще, чем я думал.
Если Linode не предоставит вам частную VLAN, использование внутренних IP-адресов не сделает ее более безопасной.
Самым простым решением было бы настроить простой туннель OpenVPN между двумя машинами, а затем отправить через него трафик rsync. Вы даже можете использовать слабый шифр, такой как arcfour, с rsync, чтобы ускорить процесс, поскольку шифрование будет обрабатываться самим VPN-туннелем.
Существует множество очень простых руководств по OpenVPN с использованием сертификатов x509 для аутентификации, а в Linux вы можете настроить его за считанные минуты.
Вот простое руководство http://www.smallnetbuilder.com/security/security-howto/30353-how-to-set-up-a-site-to-site-vpn-with-openvpn