首先由于 IPv6 VPN 服务器会转发 IPv6 包,需要用 sysctl 开启内核的 IPv6 转发。将以下内容配置到 /etc/sysctl.d 目录下一个 .conf 文件中,并用 sysctl -p xxx.conf 加载或重启服务器。

net.ipv6.conf.all.forwarding = 1

然后我们来安装 strongSwan。 dnf install epel-release 安装上 EPEL 源,然后 dnf install strongswan 就 OK 了。

strongSwan 现已支持 swanctl.conf 新格式的配置文件,文件路径在 /etc/strongswan/swanctl/swanctl.conf,密钥放在 /etc/strongswan/swanctl 对应目录下。下面给出一个示例配置,配置完成后可以通过 systemctl start strongswan.service 启动。

connections {
    ikev2-vpn {
        version=2
        remote_addrs=%any
        local_addrs=%any
        send_cert=always
        pools=pool-subnet-ipv6
        dpd_delay=300s
        children {
            ikev2-vpn {
                local_ts=::/0
                dpd_action=clear
            }

        }
        local-0 {
            certs = cert.pem
            id = @<domain>
        }
        remote-0 {
            auth = eap-mschapv2
            id = %any
        }
    }
}

pools {
    pool-subnet-ipv6 {
        addrs=xxx:8/125
        dns=2001:4860:4860::8888,2001:4860:4860::8844
    }
}

secrets {
    eap-user1 {
        id=user1
        secret="password"
    }
}

authorities {
}

P.S. 带有中间证书的证书文件需要拆分,strongSwan 只会读取证书文件里的第一个 PEM 证书。

标签: IPv6, strongSwan, VPN, RHEL

添加新评论