插件窝 干货文章 如何进行IPsec配置说明

如何进行IPsec配置说明

密钥 IPsec 加密 配置 459    来源:    2025-04-27

IPsec(Internet Protocol Security)是一种用于加密和认证网络通信的协议套件,常用于构建VPN(虚拟专用网络)。以下是IPsec的详细配置说明,涵盖主流操作系统和设备:


一、IPsec核心概念

  1. 安全协议
    • AH(Authentication Header):提供数据完整性校验和认证(不加密)。
    • ESP(Encapsulating Security Payload):提供加密、完整性校验和认证。
  2. 工作模式
    • 传输模式(Transport Mode):仅加密数据部分,保留原始IP头(用于端到端通信)。
    • 隧道模式(Tunnel Mode):加密整个原始IP包,并添加新IP头(用于网关间通信)。
  3. 密钥管理
    • 手动密钥:静态配置密钥(简单但不安全)。
    • IKE(Internet Key Exchange):动态协商密钥(推荐,支持IKEv1/IKEv2)。

二、通用配置步骤

1. 规划参数

  • 加密算法:AES-256、3DES
  • 认证算法:SHA-256、SHA-1
  • Diffie-Hellman组:Group 14(2048位)、Group 5(1536位)
  • 预共享密钥(PSK)或证书
  • 本地/对端IP地址

2. 配置步骤(以IKEv2为例)

  1. 启用IPsec服务 bash # Linux (strongSwan) sudo systemctl start strongswan
  2. 配置IKE参数 bash # /etc/ipsec.conf 示例(strongSwan) conn myvpn authby=secret left=192.168.1.1 # 本地公网IP leftsubnet=10.0.1.0/24 # 本地内网 right=203.0.113.2 # 对端公网IP rightsubnet=10.0.2.0/24 # 对端内网 ike=aes256-sha256-modp2048! esp=aes256-sha256! keyingtries=0 ikelifetime=8h lifetime=1h auto=start
  3. 设置预共享密钥 bash # /etc/ipsec.secrets 192.168.1.1 203.0.113.2 : PSK "YourSharedKey"
  4. 启动并验证 bash sudo ipsec restart sudo ipsec status

三、各平台配置示例

1. Linux (strongSwan)

  • 安装: bash sudo apt install strongswan
  • 调试命令: bash sudo ipsec up myvpn sudo tail -f /var/log/syslog

2. Windows (IKEv2)

  1. PowerShell配置powershell Add-VpnConnection -Name "IPsec VPN" -ServerAddress "203.0.113.2" -TunnelType IKEv2 -EncryptionLevel Required -AuthenticationMethod MachineCertificate
  2. 手动配置
    • 控制面板 > 网络和共享中心 > 设置新连接 > 连接到工作区。

3. Cisco路由器

crypto ikev2 policy MY_POLICY
 encryption aes-cbc-256
 integrity sha256
 group 14
!
crypto ipsec profile MY_PROFILE
 set ikev2-profile MY_POLICY
!
interface Tunnel0
 tunnel protection ipsec profile MY_PROFILE

4. FortiGate防火墙

config vpn ipsec phase1-interface
    edit "VPN_to_Remote"
        set interface "wan1"
        set ike-version 2
        set peertype any
        set net-device enable
        set proposal aes256-sha256
        set dhgrp 14
        set remote-gw 203.0.113.2
        set psksecret ENC YourSharedKey
    next
end

四、常见问题排查

  1. 连接失败
    • 检查防火墙是否放行UDP 500(IKE)、UDP 4500(NAT-T)。
    • 确保两端加密/认证参数一致。
  2. 流量不通
    • 使用 tcpdump 抓包: bash sudo tcpdump -i eth0 udp port 500 or port 4500
    • 验证路由:ip route show table all
  3. 日志分析
    • Linux:/var/log/syslogjournalctl -u strongswan
    • Windows:事件查看器 > Windows日志 > 应用程序。

五、安全建议

  1. 优先使用IKEv2而非IKEv1(更安全且支持MOBIKE)。
  2. 禁用弱算法(如DES、MD5)。
  3. 定期更换预共享密钥或使用证书认证。
  4. 启用DPD(Dead Peer Detection)检测连接存活。

通过以上步骤,您可以完成IPsec的配置并建立安全的加密隧道。如需更复杂的场景(如跨云厂商互联),需结合具体环境调整参数。