OpenVPN Connect và OpenVPN GUI: Windows lưu hồ sơ ở đâu
Hai ứng dụng khách Windows, hai mô hình hồ sơ: GUI liệt kê tệp .ovpn từ một thư mục, Connect giữ kho nhập. Sau đó hãy xóa hoặc nhập đúng cách.
Trên Windows, câu hỏi "hồ sơ OpenVPN của tôi ở đâu" có hai câu trả lời khác nhau, và chọn sai tốn cả một buổi chiều. OpenVPN GUI cộng đồng coi một thư mục là danh sách hồ sơ của nó: mọi tệp .ovpn trong thư mục đã cấu hình đều xuất hiện trong menu khay hệ thống, và tệp bị xóa khỏi thư mục đó sẽ biến mất. OpenVPN Connect làm việc từ kho nhập, nên nó giữ lại hồ sơ bạn đã xóa khỏi đĩa và bỏ qua tệp bạn đã sao chép vào. So sánh dưới đây là thứ tôi dùng để quyết định mở thư mục nào trước khi chạm vào bất cứ thứ gì.
Danh sách thư mục so với kho nhập
GUI cộng đồng liệt kê tệp khi khởi động: nó đọc một thư mục cấu hình, được chọn khi cài đặt, và một tệp .ovpn nằm ở đó là một hồ sơ. Đóng ứng dụng khách, sao chép tệp vào thư mục đó, khởi động lại, và mục đó có trong menu.
Connect thay vào đó xây dựng danh sách từ các bản ghi được viết trong quá trình nhập, nên tệp được sao chép là vô hình trong khi hồ sơ đã nhập vẫn tồn tại sau khi bản tải xuống gốc bị xóa. Chính khác biệt duy nhất đó giải thích hầu hết các báo cáo rằng hai ứng dụng khách lưu hồ sơ ở nơi khác nhau, vì đúng là như vậy.
GUI cộng đồng: thư mục nào thực sự được dùng
Hai thư mục quan trọng. Bản cài cho một người dùng đọc %USERPROFILE%\OpenVPN\config; bản cài cho mọi người dùng đọc C:\Program Files\OpenVPN\config, hoặc đường dẫn x86 khi ứng dụng khách là 32-bit. Nếu một hồ sơ chỉ xuất hiện cho một tài khoản Windows, nó nằm trong thư mục cho một người dùng và tài khoản kia sẽ không bao giờ thấy nó.
Đừng suy ra đường dẫn từ trình cài đặt. GUI chấp nhận đối số --config_dir và ghi nhớ thư mục mà nó được khởi động cùng, nên lối tắt có thể trỏ đến nơi hoàn toàn khác. Kiểm tra mục tiêu của lối tắt và trường Start in, hoặc cài đặt GUI, trước khi tạo bất kỳ tệp nào.
Xóa là xóa tệp. Đóng GUI trước để nó không giữ mục trong bộ nhớ, xóa .ovpn cùng với mọi tệp chứng chỉ hoặc khóa được giữ bên cạnh, rồi khởi động lại ứng dụng khách.
Thư mục cho mọi người dùng cần xóa với quyền cao. Một lần xóa mà ở đó lặng lẽ không làm gì là UAC, không phải lỗi của ứng dụng khách.
Connect: kho nhập và cái bẫy AppData kép
Các bản dựng 2.x và 3.x hiện tại lưu hồ sơ dưới %APPDATA%\OpenVPN Connect\profiles. Các bản dựng quanh 2.5 dùng %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile thay thế, nên các câu trả lời diễn đàn cũ và mới có vẻ mâu thuẫn. Một máy được nâng cấp tại chỗ vẫn có thể chứa cả hai.
Các đường dẫn bị bóp méo khi kể lại. %AppData% đã phân giải thành AppData\Roaming, nên viết %AppData%\Roaming\OpenVPN Connect\profiles sẽ mở rộng thành AppData\Roaming\Roaming và không trỏ đến đâu. Dùng biến hoặc đường dẫn nguyên văn, đừng bao giờ trộn cả hai.
Xóa qua ứng dụng khách: mở Profiles, dùng biểu tượng bút chì, chọn Delete. Thao tác đó xóa bản ghi và bản sao đã lưu cùng lúc. Xóa thư mục khi Connect đang chạy có thể để lại một bản ghi không mở được gì, và đó là khiếu nại "profile still shows up" ở dạng khác của nó.
Bản sao đã nhập là bản mà ứng dụng khách chạy. Sửa .ovpn còn lại trong Downloads không thay đổi gì, vì Connect đọc bản sao đã lưu của nó; để đổi remote hoặc cipher, hãy sửa hồ sơ bên trong ứng dụng khách, hoặc sửa tệp và nhập lại .
Vì sao hồ sơ đã xóa quay lại
Hai bản cài của cùng một họ ứng dụng khách là lý do thường gặp. GUI cho một người dùng và GUI cho mọi người dùng có thư mục cấu hình riêng, nên xóa từ bản này để bản kia nguyên vẹn và khay vẫn liệt kê tên. Programs and Features là nơi bạn xác nhận cả hai đã được cài hay chưa.
Lý do thứ hai là một hồ sơ chưa từng nằm trong thư mục bạn đã kiểm tra. Mở .ovpn một lần từ một chia sẻ mạng hoặc thư mục Downloads có thể sao chép nó vào thư mục cấu hình cho một người dùng, và hồ sơ Connect đã nhập chỉ tồn tại trong AppData. Trước khi sửa bất cứ thứ gì, hãy tìm tên tệp dưới cả %USERPROFILE% và %APPDATA%. Thư mục hồ sơ thường giữ khóa riêng bên cạnh .ovpn, nên đừng bao giờ dán thư mục vào phiếu hoặc trò chuyện để chứng minh bạn đã xóa hồ sơ nào - thay vào đó hãy nêu tên tệp và dấu thời gian.
Các bản dựng GUI cũ cũng lưu tùy chọn của ứng dụng khách trong sổ đăng ký. Nếu khay vẫn liệt kê một tên sau khi tệp biến mất và chỉ có một bản cài, hãy khởi động lại ứng dụng khách một lần và kiểm tra lại thư mục cấu hình của lối tắt trước khi cân nhắc chạm vào khóa sổ đăng ký.
Hai đường hầm cùng lúc: bộ điều hợp trước, rồi đến tuyến
GUI có thể giữ nhiều kết nối, mỗi bộ điều hợp ảo một kết nối; thêm bộ điều hợp từ mục menu Start cài đặt TAP-Windows6, sau đó xác nhận số lượng trong Network Connections, vì hai đường hầm đồng thời cần hai bộ điều hợp và cả hai nên nhận địa chỉ tự động. Định tuyến là giới hạn khó hơn. Hai hồ sơ cùng chuyển hướng toàn bộ lưu lượng sẽ tranh nhau tuyến mặc định, và chỉ một cái có thể sở hữu nó, nên bạn gặp lỗi gián đoạn thay vì hai đường hầm hoạt động. Giữ một đường hầm đầy đủ và cho cái thứ hai một hồ sơ split-tunnel chỉ đẩy subnet của chính nó.
Các dải riêng bị chồng lấn không thể sửa bằng cách thêm bộ điều hợp. Nếu cả hai máy chủ cấp 10.8.0.0/24, đường hầm thứ hai xung đột ở mức địa chỉ và không cấu hình ứng dụng khách nào tách được chúng.
Tên bộ điều hợp cho bạn biết mình đang nhìn gì. Get-NetAdapter trong PowerShell liệt kê các bộ điều hợp TAP-Windows và bộ điều hợp Wintun theo tên, nhanh hơn việc đếm biểu tượng trong Network Connections khi một đường hầm đi lên trên bộ điều hợp sai.
Khởi chạy một hồ sơ có tên từ tập lệnh
GUI nhận tên hồ sơ tương đối với thư mục cấu hình của nó, nên trình khởi chạy trông như sau: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". Một đường dẫn tuyệt đối, hoặc một tiến trình được khởi chạy trong thư mục làm việc khác, thất bại trong im lặng, đó là lý do lối tắt hoạt động bằng nhấp đúp bị hỏng dưới Task Scheduler.
Hãy đặt thư mục làm việc thay vì hy vọng. Trong trình khởi chạy AutoHotkey đó là SetWorkingDir, C:\Program Files\OpenVPN\config; trong Task Scheduler đó là trường Start in của hành động. Truyền --config_dir với cùng đường dẫn làm trình khởi chạy độc lập với cả hai.
Trước khi kết thúc, hãy xuất hồ sơ, ghi lại bộ điều hợp, subnet và subnet mà nó định tuyến, và giữ chứng chỉ của từng khách hàng trong thư mục con riêng. Sau đó xác nhận thư mục thuộc về ứng dụng khách bạn thực sự chạy, và xóa qua ứng dụng khách khi ứng dụng khách đó có kho nhập. Chính thứ tự đó ngăn cùng một hồ sơ xuất hiện lại sau lần khởi động lại tiếp theo.