全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

开源VPN软件与金山云托管VPN互通实践

最近更新时间:2025-12-29 22:59:33

本文档通过在客户侧开通一台服务器,安装并配置开源IPSEC VPN软件,作为VPN的一端;同时配置金山云托管VPN,作为VPN的另一端;两端建立IPSEC VPN隧道,最终实现两边的内网可以互相ping通。

网络拓扑

搭建的VPN拓扑如下:

二、开源软件VPN Server配置

在客户侧创建一台服务器,操作系统ubuntu22.04,安装StrongSwan,配置IPSEC VPN步骤如下:

步骤 1:修改操作系统参数

1. 首先,在 /etc/sysctl.conf 配置文件中添加适当的系统变量启用数据包转发。

$ sudo vim /etc/sysctl.conf

查找以下行,取消注释并设置值如下。

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp = 0

2.运行以下命令加载新设置。

sudo sysctl -p

3. 确认防火墙没有启用

sudo ufw status

4. 配置iptables调整mss大小,解决大包无法过VPN的问题

#假定物理接口为eth0
sudo iptables -t mangle -A FORWARD -o eth0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400

#确认配置
sudo iptables -t mangle -L -n -v

步骤 2:Ubuntu 中安装 strongSwan

5. 安装 strongswan 程序包。

sudo apt update
sudo apt install strongswan 

6. 安装完成后,安装程序脚本将启动 strongswan 服务,并使其在系统启动时自动启动。使用以下命令检查其状态以及是否已启用。

sudo systemctl status strongswan-starter.service
sudo systemctl is-enabled strongswan-starter.service

步骤 3:配置安全网关

7. 使用 /etc/ipsec.conf 配置文件配置安全网关。

sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig
sudo vi /etc/ipsec.conf 

将以下配置复制并粘贴到文件中。(将原有配置全部注释掉)

config setup
        charondebug="all"
        uniqueids=yes
conn devgateway-to-prodgateway
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        leftid=36.103.167.250    /*自己的公网IP*/
        left=10.2.0.6            /*自己的内网IP*/
        leftsubnet=10.2.0.0/24   /*自己的内网网段*/
        right=120.92.121.158     /*对端的公网IP*/
        rightsubnet=172.31.0.0/16 /*对端的内网网段*/
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        lifebytes=0
        dpddelay=10s    /*决定失败后重试的间隔*/
        dpdtimeout=120s
        dpdaction=restart

步骤 4:配置 PSK 进行身份验证

8./etc/ipsec.secrets 文件中添加 PSK

sudo vim /etc/ipsec.secrets

复制并粘贴以下行。

10.2.0.6 120.92.121.158 : PSK "kingsoft123"  /*语法:自己IP、对端IP*/

步骤 5:客户侧其他配置

1)路由配置

内网配置路由,将去往172.31.0.0/16的下一跳,指向VPN Server;

2)VPN Server安全配置

VPN Server的入向,只放行对端托管VPN 的公网IP(或者只放行对端VPN端口号:udp 500,udp 4500):

3)客户内网安全配置(如果有)

客户侧内网需要允许对端内网网段172.31.0.0/16的访问。

三、托管VPN配置

VPN网关配置

新建VPN网关,如下所示:

VPN网关添加去往对端内网网段路由,如下所示:

VPN通道配置:

?

路由模式:选择“目的路由”模式

隧道参数按如下配置:(互联IP选择自动分配即可)

配置完成后如下所示:

新建客户网关:

指定对端VPN公网IP

VPC添加对端内网网段路由,指向托管VPN:

客户端安全组配置

托管VPN的内网安全组入向,需要允许对端内网网段。

四、启动 IPSec检查VPN状态

1. 重启VPN Server的 IPSec 程序,使得配置生效,并检查其状态以查看连接。

sudo ipsec restart
sudo ipsec status

成功后输出如下:

2. 同时托管VPN通道状态如图所示:

注:隧道2没有进行配置,所以状态为失败。

3. 最后,通过运行 ping 命令验证两侧内网的互通性。

ping x.x.x.x

4. 托管VPN流量监控:(ping流量)

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈