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

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

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

В Redhat, похоже, есть несколько хороших встроенных скриптов для построения туннелей IPSEC «точка-точка», но в Ubuntu я ничего подобного не нашел.

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

решение1

Предположим, что сетевые настройки следующие:

Ваш публичный 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 «secret_password»

3) Настройте маршруты с помощью "sudo vim /etc/ipsec.conf":
conn partner
left=192.168.1.1
right=192.168.2.1
authby=secret
ike=3des-sha1-modp1024
esp=3des-sha1
pfs=yes
auto=start

conn local_to_partner
левая_подсеть=192.168.1.1/32
права_подсеть=192.168.51.0/24
также=партнер

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

решение2

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

решение3

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

Каждая локальная сеть должна иметь свою собственную IP-подсеть:
LAN1: 192.168.1.0/24
LAN2: 192.168.2.0/24

Допустим, IP-адреса такие:
PC1 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.

решение4

Я бы также предложил использовать функцию SSH-туннелей. Это легко настроить, и поскольку вы упомянули запуск Ubuntu, есть дажеМенеджер туннелей SSH.

Связанный контент