Я хотел бы соединить два удаленных сайта через безопасный туннель точка-точка. Я использовал 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.