切換菜單
切換偏好設定選單
切換個人選單
尚未登入
若您做出任何編輯,會公開您的 IP 位址。
於 2026年2月19日 (四) 02:59 由 Koud Wind對話 | 貢獻 所做的修訂

注意: IKEV2協議可能會被GFW污染數據包一個月, 臨時使用為優, 請勿長時間使用

適合不能配置HTTP代理且不能安裝其他代理客戶端的設備


1. 準備

以 Debian13 為例

apt update
apt install nftables strongswan libstrongswan-extra-plugins libcharon-extra-plugins libcharon-extauth-plugins
systemctl enable strongswan-starter
mkdir -p /main/ikev2/cert
cd /main/ikev2

sysctl 中需要配置IP轉發, 新建一個forward.conf並進行編輯

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

保存好後連結過去, 並讓其生效

ln -f /main/ikev2/forward.conf /etc/sysctl.d/
sysctl --system

2. 配置證書

這裏我們使用自簽證書, 先切換目錄

cd /main/ikev2/cert

新建一個server.cert.conf並進行配置

[req]
default_bits       = 4096
default_md         = sha256
distinguished_name = req_distinguished_name
req_extensions     = req_ext
x509_extensions    = v3_ca
prompt             = no

[req_distinguished_name]
O                  = ikev2
CN                 = ikev2 cert

[req_ext]
subjectAltName     = @alt_names

[v3_ca]
subjectAltName     = @alt_names
basicConstraints   = CA:FALSE
keyUsage           = digitalSignature, keyEncipherment
extendedKeyUsage   = serverAuth, clientAuth

[alt_names]
DNS.1              = 你的域名
DNS.2              = 你的第二个域名

需要設置好域名並進行保存 執行以下命令

openssl genrsa -out ca.key.pem 4096
openssl req -new -x509 -nodes -days 5475 -sha256 -key ca.key.pem -out ca.cert.pem -subj "/O=ikev2/CN=ikev2 ca"

openssl genrsa -out server.key.pem 4096
openssl req -new -key server.key.pem -out server.csr.pem -config server.cert.conf
openssl x509 -req -CA ca.cert.pem -CAkey ca.key.pem -CAcreateserial -in server.csr.pem -out server.cert.pem -days 5475 -sha256 -extfile server.cert.conf -extensions v3_ca

查看證書信息

openssl x509 -in ca.cert.pem -text -noout

將證書連結到配置目錄中

mkdir -p /etc/ipsec.d/{private,certs}
ln -f /main/ikev2/cert/server.key.pem /etc/ipsec.d/private/
ln -f /main/ikev2/cert/server.cert.pem /etc/ipsec.d/certs/

3. 配置nftables

主要是為了根據 IKEV2 服務端分配給客戶端的IP, 將數據包轉發到指定網卡

如果你之前配置過nftables, 不是編輯配置文件, 那就從之前的配置中取, 並進行連結, 準備編輯

mkdir /main/nftables
cp /etc/nftables.conf /main/nftables/
ln -f /main/nftables/nftables.conf /etc/

如果你沒有配置過, 那就在/main/nftables/中創建一個nftables.conf配置文件並連結過去, 準備編輯

ln -f /main/nftables/nftables.conf /etc/

如果你之前配置過nftables, 且編輯了配置文件, 就直接修改那個配置文件, 準備編輯 現在開始編輯nftables.conf, 加入以下配置

table inet ikev2_nat {
    chain postrouting {
        type nat hook                           postrouting priority 10;
        policy accept;

        # 自行修改网卡或IP
        ip saddr 10.10.0.0/16                   oif "eth0" masquerade;
		ip6 saddr fd00:ce20::/16                oif "eth0" masquerade;
    }
}

保存好後並生效

systemctl enable nftables.service
systemctl restart nftables.service

如果你有其他防火牆規則, 記得放行 UDP5004500

4. 配置IKEV2

/main/ikev2中分別創建文件: ipsec.conf, ipsec.secrets

conf是核心配置, secrets是用戶配置, 需要自行修改

ipsec.conf的配置:

config setup
    charondebug="ike 2, knl 2, net 2, esp 2, dmn 2, mgr 2"
    uniqueids=no

conn ikev2-eap-mschapv2
    keyexchange=ikev2
    ike=aes256-sha1-sha256-sha384-modp2048,aes128gcm16-aes256gcm16-sha1-sha256-sha384-modp1024!
    esp=aes256-3des-sha1
    
    auto=add
    compress=no
    dpdaction=clear
    fragmentation=yes
    forceencaps=yes
    
    dpddelay=30s
    ikelifetime=10h
    lifetime=30m

    left=%defaultroute
    leftauth=pubkey
    leftid=你的域名
    leftcert=server.cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0,::/0
    leftfirewall=yes

    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.0.0/16,fd00:ce20::/16
    rightdns=1.1.1.1,8.8.8.8
    rightsendcert=never
    eap_identity=%identity

ipsec.secrets的配置:

: RSA "server.key.pem"
User1 : EAP "123456789"
User2 : EAP "这是用户密码, 换行前面要注意不能有空格"

自行修改好後, 重啟服務並生效

systemctl restart strongswan-starter.service
systemctl status strongswan-starter.service

5. 安裝證書

任何系統想用就必須裝上CA證書, 也就是上面配置證書的ca.cert.pem

Windows安裝證書:

ca.cert.pem改為.der後綴, 雙擊安裝, 到本地計算機, 將證書放入下列存儲 (受信任的根證書頒發機構)

安卓安裝證書:

iqoo為例, 進入手機設置 -> 安全 -> 更多安全設置 -> 從手機存儲安裝 -> CA證書, 文件選擇ca.cert.pem

其他手機可以搜索 CA/证书/凭证

IOS安裝證書:

下載證書後, 進入設置直接安裝

6. 設備使用

添加 IKEV2 基本都是在任何系統裏的設置中, 進入設置後找到VPN選項, 並添加

類型選擇IKEV2, 名稱隨便起, 地址則是你的域名, 有些可能需要設置IPSec标识符或者远程ID, 這些也填寫成你的域名, 再輸入設置好的用戶名與密碼, 就可以連接了

Windows可能無法保存密碼信息, 要求密碼信息時不能取消, 否則資源管理器會卡死

Windows設置:

安卓設置: