Tôi có một ví dụ AWS mà tôi muốn trở thành một máy chủ VPN. Nó sẽ kết nối các máy khách Windows 7 với một mạng riêng trong đám mây Amazon.
- Tôi đã cài đặt Ubuntu 12.04 và
strongswan-ikev2
gói. ipsec version
báo cáoLinux strongSwan U4.5.2/K3.2.0-52-virtual
- Lưu ý rằng cả máy khách và máy chủ đều đứng sau NAT (máy khách vì nó nằm trên mạng văn phòng địa phương và máy chủ vì nó nằm trong đám mây của Amazon). Tôi đã bỏ chặn các cổng UDP 500 và 4500 trên cả bảng điều khiển của Amazon và tường lửa của máy khách.
Đây là /etc/ipsec.conf:
config setup plutostart=no conn %default keyexchange=ikev2 ike=aes256-sha1-modp1024! esp=aes256-sha1! dpdaction=clear dpddelay=300s rekey=no conn win7vpn left=%any leftsubnet=<amazon VPC CIDR block> leftauth=pubkey leftcert=openssl-cert.pem leftid=<vpn server public dns name> right=%any rightsourceip=<amazon private IP address, which elastic ip is forwarded to> rightauth=eap-mschapv2 rightsendcert=never eap_identity=%any auto=add
Đây là /etc/ipsec.secrets:
: RSA openssl-key.rsa TESTDOMAIN\testuser : EAP "testpassword"
Tôi đã thêm chứng chỉ CA đã ký chứng chỉ máy chủ của máy chủ vào kho lưu trữ chứng chỉ của máy cục bộ (không phải người dùng) để Windows có thể xác thực máy chủ.
Sau đó, tôi cố gắng kết nối với máy chủ bằng ứng dụng khách Windows 7 theo quy định tại đây , với một ngoại lệ - tôi đang sử dụng tên DNS thay vì địa chỉ IP. Tôi nhập tên người dùng, tên miền và mật khẩu trong tệp ipsec.secrets của mình và nó cố gắng kết nối.
Khi đó, tôi nhận được các bản ghi mạnh mẽ như thế này. Tôi đã nghiền ngẫm những điều này một chút cho cả sự kiểm duyệt và sự rõ ràng; CLIENTPUB / CLIENTPRIV là địa chỉ IP công cộng và riêng tư của khách hàng và AMAZONPRIV là địa chỉ IP riêng của máy chủ (là địa chỉ IP công cộng của máy chủ - Amazon gọi đây là "IP đàn hồi" - chuyển tiếp).
Sep 4 00:16:17 localhost charon: 14[IKE] CLIENTPUB is initiating an IKE_SA
Sep 4 00:16:17 localhost charon: 14[NET] received packet: from CLIENTPUB[500] to AMAZONPRIV[500]
Sep 4 00:16:17 localhost charon: 14[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
Sep 4 00:16:17 localhost charon: 14[IKE] CLIENTPUB is initiating an IKE_SA
Sep 4 00:16:17 localhost charon: 14[IKE] local host is behind NAT, sending keep alives
Sep 4 00:16:17 localhost charon: 14[IKE] remote host is behind NAT
Sep 4 00:16:17 localhost charon: 14[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(MULT_AUTH) ]
Sep 4 00:16:17 localhost charon: 14[NET] sending packet: from AMAZONPRIV[500] to CLIENTPUB[500]
Sep 4 00:16:17 localhost charon: 15[NET] received packet: from CLIENTPUB[4500] to AMAZONPRIV[4500]
Sep 4 00:16:17 localhost charon: 15[ENC] unknown attribute type INTERNAL_IP4_SERVER
Sep 4 00:16:17 localhost charon: 15[ENC] parsed IKE_AUTH request 1 [ IDi CERTREQ N(MOBIKE_SUP) CP(ADDR DNS NBNS SRV) SA TSi TSr ]
Sep 4 00:16:17 localhost charon: 15[IKE] received cert request for "C=US, ST=TX, O=Test CA, CN=Test CA"
Sep 4 00:16:17 localhost charon: 15[IKE] received 316 cert requests for an unknown ca
Sep 4 00:16:17 localhost charon: 15[CFG] looking for peer configs matching AMAZONPRIV[%any]...CLIENTPUB[CLIENTPRIV]
Sep 4 00:16:17 localhost charon: 15[CFG] selected peer config 'dlpvpn'
Sep 4 00:16:17 localhost charon: 15[IKE] initiating EAP-Identity request
Sep 4 00:16:17 localhost charon: 15[IKE] peer supports MOBIKE
Sep 4 00:16:17 localhost charon: 15[IKE] authentication of 'C=US, ST=TX, O=DLP Test CA, CN=vpn.example.com' (myself) with RSA signature successful
Sep 4 00:16:17 localhost charon: 15[IKE] sending end entity cert "C=US, ST=TX, O=DLP Test CA, CN=vpn.example.com"
Sep 4 00:16:17 localhost charon: 15[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Sep 4 00:16:17 localhost charon: 15[NET] sending packet: from AMAZONPRIV[4500] to CLIENTPUB[4500]
Tại thời điểm này, Windows bật lên một thông báo lỗi ngay lập tức:
Verifying user name and password...
Error 13801: IKE authentication credentials are unacceptable
Sau vài giây, charon thử lại và sau đó đóng kết nối.
Sep 4 00:16:37 localhost charon: 16[IKE] sending keep alive
Sep 4 00:16:37 localhost charon: 16[NET] sending packet: from AMAZONPRIV[4500] to CLIENTPUB[4500]
Sep 4 00:16:47 localhost charon: 03[JOB] deleting half open IKE_SA after timeout
Và đó là nó.
Theo như tôi có thể nói, tôi đang làm theo tất cả các hướng dẫn trên wiki mạnh mẽ.
Tôi làm gì sai ở đây?
Chỉnh sửa: đây chắc chắn là một vấn đề với chứng chỉ. Tôi đã vô hiệu hóa kiểm tra xác thực mở rộng bằng cách chỉnh sửa sổ đăng ký và khởi động lại như được mô tả trong MSKB926182 (lol nếu bạn muốn liên kết đến đó) và bây giờ tôi có thể kết nối với máy chủ VPN của mình mà không gặp lỗi. Tôi sẽ tìm ra cách tạo ra các certs thỏa mãn các yêu cầu và thêm câu trả lời. Cảm ơn @ecdsa cho con trỏ đến trang cert trên wiki mạnhSwan đã đưa tôi đi đúng hướng.