gpt4 book ai didi

java - 如何编写 VPN 服务器

转载 作者:IT老高 更新时间:2023-10-28 20:23:56 27 4
gpt4 key购买 nike

我决定用 Java 编写自己的轻量级 VPN 服务器。从编程的角度来看,在我看来,VPN 服务器只是一个传递代理,它对来自客户端的流量进行加密,并在服务器上对其进行解密。有人可以指出我编写这种服务器的框架吗?

我知道有很多开箱即用的,甚至是开源的,但不幸的是,即使我知道几种 Web 编程语言,我看到的 C 代码示例也没有以我可以理解的方式记录/结构化。

我想我需要的部分是:

  • 客户端对象的线程工厂
  • 客户端的套接字连接器
  • 创建IPSec Authentication Header (AH)的方法
  • 创建 IPSec 封装安全负载 (ESP) 的方法
  • 互联网安全协会和 key 管理协议(protocol) (ISAKMP) 的东西
  • 互联网 key 交换 (IKE)
  • PKI 证书身份验证模块
  • 证书存储库 (SQLLite)
  • Oakley key 生成(用于 IKE 和 ISAKMP)
  • 数据包的一些反重放预防

我计划使用通用模块(并为其创建适配器)的部分是密码算法(最好是 AES,尽管看起来像 DES/3DES 之类的窗口 -- 新手)

如果有人可以为 IPSec vpn 服务器所需的部分添加更多详细信息,请随时贡献。据我所知,由于有必要在较旧的 linux 硬件上运行它,因此服务器应该是 IPSec 而不是 SSLVPN 热点。目标平台是一个旧的 1.5 Ghz 英特尔盒子,我用 2 GB DDR2 内存、镜像 100 GB 硬盘驱动器和 2 个千兆网卡驱动。

从好的方面来说,由于客户端 VPN 的类型如此之多,我很确定不需要为我的需要制作一个。

最佳答案

我会先查看 OpenVPN源代码。不是java,但是原理应该够懂了。

关于java - 如何编写 VPN 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com