发送L2tp / IPsec PSK客户端数据包到OpenSwan服务器

我想(种)创buildVPN客户端,我使用OpenSwan(L2tp / IPsec PSK)在Ubuntu上设置我的服务器。 我现在正在做的是发送数据包到我的服务器,并试图交换我的密钥与服务器。 这是我困惑的事情:

  • Security Association我试图做Key Exchange但我不知道是否在密钥交换中,我应该发送我的编码PSK,或我使用Diffie-Hellmanalgorithm生成的数字?
  • 另外DH如何与PSK一起工作? 如果我理解正确的话,服务器和客户端应该有不同的数字,双方从一开始就知道它们生成SecretPassword,那么它对PSK是如何工作的呢?
  • 密钥交换后的Identification如何工作? 是发送我的PSK编码的SecretPassword之前生成或什么? 因为据我所知用户名和密码后来检查,或者我错了吗?