Назад | Перейти на главную страницу

Зашифрованный туннель хост-хост в Ubuntu / Debian?

Я хочу соединить два удаленных сайта через безопасный туннель точка-точка. Я использую OpenVPN, но он немного ненадежный и действительно больше подходит для подключения большого количества пользователей, чем для связи точка-точка.

У Redhat есть несколько хороших встроенных скриптов для построения туннелей Point to Point IPSEC, но я не нашел ничего похожего в Ubuntu.

Любые инструкции о том, что здесь использовать и как это делать? Я хотел бы сделать его максимально простым, но при этом иметь базовую безопасность PSK.

ssh 4.3+ может создавать правильные туннели VPN. tun0 и все такое.

Предполагая следующие сетевые настройки:

Ваш публичный IP: 192.168.1.1
Ваша частная сеть: 192.168.50.0/24
Удаленный общедоступный IP-адрес: 192.168.2.1
Удаленная частная сеть: 192.168.51.0/24

1) Установите StrongSwan с помощью «sudo apt-get install strongswan»

2) Настройте секретный ключ с помощью sudo vim /etc/ipsec.secrets:
192.168.1.1 192.168.2.1: PSK "секретный_пароль"

3) Настройте маршруты с помощью "sudo vim /etc/ipsec.conf":
соучастник
слева = 192.168.1.1
справа = 192.168.2.1
authby = секрет
ike = 3des-sha1-modp1024
esp = 3des-sha1
pfs = да
auto = start

conn local_to_partner
leftsubnet = 192.168.1.1 / 32
rightubnet = 192.168.51.0 / 24
также = партнер

conn partner_to_local
leftsubnet = 192.168.50.0 / 24
rightubnet = 192.168.2.1 / 32
также = партнер

Вы можете использовать openVPN для получения конфигурации сайта для сайта. Вам нужно будет настроить каждую из машин Linux как маршрутизаторы и создать статические маршруты во внутренних сетях, чтобы указать на машины Linux. Вот базовый дизайн:

У каждой локальной сети должна быть собственная IP-подсеть:
LAN1: 192.168.1.0/24
LAN2: 192.168.2.0/24

Скажем, IP-адреса такие:
ПК1 192.168.1.10
GW1 192.168.1.1
Linux1 192.168.1.100
--- подключен через VPN к другой сети с адресом 192.168.2.101

ПК2 192.168.2.10
GW2 192.168.2.1
Linux2 192.168.2.100

если вы создаете статические маршруты в каждом из своих маршрутизаторов, чтобы указать на другую локальную сеть, вы сможете достичь того, что ищете:
Маршрут по GW1:
Назначение 192.168.2.0/24
Шлюз: 192.168.1.100

Рут на GW2:
Назначение 192.168.1.0/24
Шлюз: 192.168.2.100

Затем, когда ПК1 пингует ПК2, пакет будет перенаправлен на шлюз по умолчанию 192.168.1.1, который перешлет его на Linux-машину (1.100), которая отправит его через туннель в LAN2.

Вы можете использовать SSH Tunnel особенность для этого. Если у вас уже настроен SSH (очень вероятно), это будет намного проще, чем альтернативы для простого подключения двух хостов.

Я бы также предложил использовать функцию туннелей SSH. Его легко настроить, и, поскольку вы упомянули о запуске ubuntu, есть даже Диспетчер туннелей SSH.

Почему вы не можете использовать то, что работает с Redhat, в другой системе Linux? В глубине души это не разные ОС.

Позвольте мне подробнее остановиться на этом.

Раньше я использовал IPSEC для туннелирования всего трафика между двумя сайтами, и это было несложно настроить даже без инструментов для этого. Если есть сценарии, которые работают с Redhat, не могли бы вы просто украсть их и запустить на других вариантах Linux? Конечно, они не так уж и непохожи.

Я продвинулся намного дальше, используя пакеты openswan и strongswan. У меня все еще нет туннеля, но, похоже, я хочу использовать эти инструменты. Оба варианта довольно плохо документированы, и кажется, что существует большое количество вариантов без явных причин использовать один вместо другого.

Итак, переосмыслим. Кто-нибудь успешно установил openswan / strongswan на Ubuntu с помощью ubuntu debs? Любые советы относительно «IKE против IKE2», «Метод шифрования», «Конфигурация PSK», динамическое изменение порта и т. Д.

Спасибо..

OpenVPN действительно является одним из наиболее распространенных, наиболее понятных и задокументированных методов для подобного связывания хостов серверов.