OpenSwan IPSec VPN Linux Cisco з контейнера OpenVZ, ПОЗИТИВ-ГЕНЕРАТОР
OpenSwan IPSec VPN Linux Cisco з контейнера OpenVZ
Цю статтю пишу більше для себе, щоб не забути, бо часу витрачено досить багато на вирішення цього питання. Для початку хочу відзначити, що IPSec VPN не працюватиме з контейнера OpenVZ, але буде працювати з фізичного сервера, чого цілком достатньо, щоб мережа за VPN була видна з Вашого контейнера OpenVZ. Почнемо з інсталяції пакета OpenSwan, я рекомендую ставити звідси: https://download.openswan.org/openswan/binaries/rhel/6/
Бажано відразу мати уявлення про схему мережі, розуміти, що саме Вам потрібно. У поточному випадку ми об'єднуємо в IPSec VPN зовнішній IP OpenVZ контейнер і підсіть за маршрутизатором Cisco.
Спочатку пропишемо PSK, допустимо у нас він буде = cisco123:
Конфіг виглядає так для ОС CentOS:
Налаштуємо IPSec VPN з боку сервера Linux:
OpenVZ (фізичний сервер) - 5.5.5.5 OpenVZ (віртуальний сервер) - 5.5.5.6 Cisco (зовнішній IP) - 4.4.4.4 Cisco (підмережі за VPN) - 172.16.0.0/12,192.16 /16
Конфігурація маршрутизатора Cisco:
Зверніть увагу, venet0 - інтерфейс, для якого застосовуємо sysctl, якщо він у Вас eth1, то виглядатиме так:
Зберігаємо в конфіг:
Більш детальний опис цієї директиви:
У той час як робочі роботи для IPv4 IPsec tunnels, I cannot find how to make it work for IPv6 tunnels. Any hint would be appreciated.
Тепер можна перевіряти, чи запускаємо IPSec VPN на фізичному сервері:
Дивимося статус, він має бути схожим на наступний висновок, якщо все пройшло успішно:
Декілька корисних команд наведу нижче, раптом знадобиться. Переглянути процес підключення IPSec VPN:
Переглянути які мережіпередаються через IPSec VPN:
Щоб перевірити src IP, з якого йтиме пінг до хоста за VPN:
Не забувайте, що для CentOS потрібно прописати статичні маршрути, якщо у вас їх ще немає. Хорошою практикою вважається створення файлу /etc/sysconfig/static-routes, який виглядає так:
Однак, трапляються випадки, коли з боку Linux треба поправити MTU, наприклад встановити 1400 замість 1500. Як це зробити? Для вирішення завдання додаємо руками наступні роути:
Не забуваємо дописати їх до кінця файлу /etc/rc.local!
Якщо потрібно налаштувати AES шифрування замість 3DES, то змінюємо конфіг наступним чином. Шифрування AES-128:
З боку Cisco відповідно змінюються (AES-128):