Я решил написать свой собственный легкий VPN-сервер на Java. С точки зрения программирования мне кажется, что VPN-сервер - это просто сквозной прокси, который шифрует трафик от клиента и расшифровывает его на сервере. Может ли кто-нибудь указать мне на скелет написания такого рода сервера?
Я знаю, что есть много готовых программ и даже программ с открытым исходным кодом, но, к сожалению, хотя я знаю несколько языков веб-программирования, примеры кода C, которые я видел, не документированы / не структурированы таким образом, чтобы я мог их понять.
Я представляю, что мне нужны следующие части:
Части, которые я планирую использовать для общих модулей (и создать адаптеры для), - это криптографические алгоритмы (предпочтительно AES, хотя кажется, что окна, подобные DES / 3DES - Noobs)
Если кто можете добавить более подробную информацию о частях, которые необходимы для сервера IPSec vpn, пожалуйста, не стесняйтесь вносить свой вклад. Поскольку, насколько я могу судить, это необходимо запускать на старом оборудовании Linux, сервер должен быть IPSec, а не SSLVPN. Целевая платформа - это старый процессор Intel с частотой 1,5 ГГц, который я накачал 2 ГБ оперативной памяти DDR2, зеркальным жестким диском на 100 ГБ и 2-гигабитными дисками Nic.
С другой стороны, существует очень много типов клиентских VPN I Я почти уверен, что мне не нужно делать такой для моих нужд.