Đồng nghiệp Windows của bạn nhập một hồ sơ từ trình hướng dẫn FortiGate và trực tuyến trong một phút. Bạn cài đúng gói của nhà cung cấp đó trên Ubuntu, tìm thẻ IPsec và thấy một ứng dụng chỉ biết mở một SSL VPN. Kết luận thường được rút ra là sai hai lần: cổng không từ chối bạn, và bản dựng Linux không hỏng. Fortinet phát hành ứng dụng đó chỉ với hỗ trợ SSL VPN, nên hồ sơ IPsec di động không có chỗ sống và phải được dựng lại ở nơi nói IKEv1.

Trước tiên, hãy xác định bạn thực sự được cấp giao thức nào

Việc dựng lại đó là máy móc khi bạn ngừng coi ứng dụng của nhà cung cấp là bản triển khai tham chiếu.

Thiết bị FortiGate công bố cả SSL VPN lẫn IPsec, và email bàn giao hiếm khi nói bạn được cấp cái nào. Một URL cổng kèm trang đăng nhập kiểu trình duyệt nghĩa là SSL VPN, và trên Linux câu trả lời ở đó là openfortivpn, không phải ánh xạ trường bên dưới. Một định danh nhóm kèm khóa chia sẻ trước nghĩa là IPsec di động, thứ mà vpnc và strongSwan xử lý.

Sai ở điểm này là lý do phổ biến nhất khiến một lần thử trên Linux chết trước khi giai đoạn một hoàn tất: ứng dụng đang đề nghị IKEv1 cho một cổng HTTPS hoặc ngược lại. Hãy yêu cầu quản trị viên ghi tên giao thức bằng văn bản trước khi cài bất cứ thứ gì.

Bốn thông tin xác thực đi trong bốn trường khác nhau

Từ password xuất hiện hai lần trong hầu hết các lần bàn giao và mang hai nghĩa khác nhau. Khóa chia sẻ trước xác thực chính peer, và đó là bí mật máy mà quản trị viên đọc từ cấu hình cổng. Mật khẩu tài khoản của bạn là thông tin xác thực riêng chứng minh con người nào đứng sau peer đó.

Hai giá trị còn lại dễ bị bỏ sót hơn. Định danh nhóm là chuỗi mà trình hướng dẫn đã ghi vào đối tượng nhóm IPsec, và 0 là giá trị hợp lệ chứ không phải trường trống. Đề xuất bao gồm mã hóa, băm và một nhóm Diffie-Hellman cho mỗi giai đoạn, cùng với thiết lập PFS, và mọi mục trong đó phải khớp với cổng. Khi kết nối thất bại ở giai đoạn 1, gần như luôn là một trong bốn thứ đó có lỗi, nên hãy ghi chúng riêng ra thay vì ném vào một hộp thoại.

Mỗi trường của vpnc phải chứa gì

Cài ứng dụng cùng với giao diện biên tập, sau đó tạo một kết nối VPNC:

sudo apt install vpnc network-manager-vpnc network-manager-vpnc-gnome

Đặt cổng thành địa chỉ công khai của FortiGate, và tên nhóm đúng bằng định danh từ cổng, kể cả một số không trần. Group password nhận khóa chia sẻ trước, còn tên người dùng và mật khẩu nhận tài khoản của bạn, với bất kỳ token nào được thêm như cổng mong đợi. Trong hộp thoại nâng cao, chọn nhóm Diffie-Hellman mà đề xuất nêu tên, khớp PFS với cùng nhóm đó, bật NAT traversal khi ứng dụng ở sau router gia đình, và để việc phát hiện peer chết cùng nhịp với cổng.

Tên nhóm là trường bị bỏ qua, vì nó trông như tùy chọn và giá trị mặc định không giống một phần giữ chỗ. Gửi nó trống và ứng dụng sẽ truyền một định danh khác với định danh mà cổng kiểm tra. Nếu hồ sơ vẫn thất bại, hãy so các giá trị nâng cao với ứng dụng Windows đang hoạt động chứ không phải với bài đăng diễn đàn cho một trang khác.

Cùng hồ sơ đó viết cho strongSwan

strongSwan là vật chứa dài hạn tốt hơn cho các giá trị này, vì cấu hình là một tệp văn bản bạn có thể xem lại và giữ:

conn office-fw
    keyexchange=ikev1
    aggressive=yes
    left=%any
    leftauth=psk
    leftauth2=xauth
    xauth_identity=YOUR_USER
    right=GATEWAY_ADDRESS
    rightauth=psk
    rightsubnet=OFFICE_SUBNET
    ike=aes128-sha1-modp1536!
    esp=aes128-sha1-modp1536!

Đọc các dòng đề xuất trước khối, vì dấu chấm than ở cuối thay đổi ý nghĩa của chúng: nó ghim đúng đề xuất đó và bỏ các lựa chọn thay thế mà ứng dụng nếu không sẽ đưa ra. Một cổng được cấu hình cho một cặp biến đổi sẽ từ chối ứng dụng mở bằng danh sách, nên chính việc ghim biến đàm phán thành khớp. Lấy tên thuật toán chính xác từ hồ sơ cổng đang hoạt động, và thay các phần giữ chỗ bằng giá trị của bạn.

Hai dòng xác thực không thừa. PSK chứng minh peer, khối XAuth chứng minh người dùng, và bỏ bất kỳ dòng nào sẽ để lại một giai đoạn mà cổng không hoàn tất.

Đọc lỗi trước khi đổi một trường khác

Làm ngược từ triệu chứng thay vì ngẫu nhiên hóa hộp thoại lần nữa. Một IKE SA lên mà không có địa chỉ được cấp nghĩa là trao đổi xác thực người dùng đã thất bại hoặc chưa bao giờ chạy, nên kiểm tra tài khoản và cách xử lý token. Giai đoạn 1 không bao giờ kết thúc chỉ vào đề xuất, định danh nhóm hoặc chế độ tích cực, và mỗi thứ đó được so với cổng, không chỉ với ứng dụng Windows.

Một đường hầm dựng lên rồi chết vài phút một lần là bất đồng về phát hiện peer chết giữa hai đầu; hãy khớp bộ đếm thời gian của cổng thay vì tắt keepalive ở mọi nơi. Một đường hầm đã dựng mà các host văn phòng vẫn không tới được thường có nghĩa là subnet được đẩy chưa bao giờ vào bảng định tuyến cục bộ, điều mà một ứng dụng bên thứ ba có thể không tự làm.

Khi xong, trả các giá trị đang hoạt động cho chủ cổng: giao thức, định danh nhóm, khóa chia sẻ trước, đề xuất, PFS và quyết định DPD. Máy Linux tiếp theo khi đó mất vài phút thay vì cả buổi tối, và không ai phải khám phá lại rằng tên nhóm là số không.

Bài viết liên quan