Tôi đã giải quyết vấn đề với một kịch bản trong
/etc/NetworkManager/dispatcher.d
Thư mục này chứa các tập lệnh được người quản lý mạng gọi theo thứ tự bảng chữ cái mỗi khi có thay đổi về trạng thái Mạng. Điều này có lợi thế (khác với một giải pháp khác mà tôi thấy) rằng VPN của bạn không chỉ được kích hoạt khi khởi động / khởi động, mà còn ở trạng thái tiếp tục sau khi tạm dừng / ngủ.
Để làm việc này, bạn cần có kết nối VPN đã được thiết lập trong Trình quản lý mạng mà tôi cho là bạn có, nếu không bạn sẽ không đặt câu hỏi.
Bước đầu tiên: Tôi đã làm theo lời khuyên của trang này (tiếng Đức) ( https://wiki.ubfoxusers.de/NetworkManager/Dispatcher/ ). Tôi đã mở và đặt tên cho một kịch bản mới 02VPN1
sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
và đã viết:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
if [ "$2" = "up" ]; then
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
NAME_OF_YOUR_VPN_CONNECTION là tên của tệp kết nối NAME_OF_YOUR_VPN_CONNMENT.conf mà bạn đã sử dụng để thiết lập kết nối mà bạn muốn tự động kết nối.
Điều kiện nếu ["$ 2" = "up"] có nghĩa là kết nối VPN chỉ được kết nối tự động khi bạn bắt đầu kết nối mạng (Kết nối Internet của bạn); một khi dịch vụ VPN chạy, bạn có thể vô hiệu hóa nó hoặc chọn một VPN khác.
Nếu bạn chỉ và mỗi lần muốn chạy VPN này mà không có khả năng vô hiệu hóa nó, bạn có thể viết tập lệnh mà không cần điều kiện If này:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
Bạn chỉ có thể thiết lập tệp này dưới dạng root, vì vậy nó thuộc sở hữu của root mà không cần bạn làm gì thêm. Đó là cách nó phải như vậy.
Cuối cùng: Làm cho tập tin này có thể thực thi được, nếu không thì tập lệnh sẽ không chạy. Trong thiết bị đầu cuối:
sudo chmod +x /etc/NetworkManager/dispatcher.d/02VPN1
- Bước thứ hai (KHÁC BIỆT từ các hướng dẫn trong liên kết ở trên; Tôi đã sử dụng lời khuyên từ đây:
https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193
Quá trình này được chạy bởi root và root chưa có quyền truy cập vào mật khẩu mà bạn sử dụng cho VPN của mình. Thực hiện như sau: Mở tệp NAME_OF_YOUR_VPN_CONNMENT trong / etc / NetworkManager / hệ thống kết nối với quyền root. Mở Terminal và làm:
sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION
a) Thay đổi dòng
password-flags=1
đến
password-flags=0
b) Ở dưới cùng, thêm
[vpn-secrets]
password=PASSWORDOFYOURCONNECTION
Lưu và đóng tập tin.
Bây giờ khởi động lại Trình quản lý mạng của bạn. Thiết bị đầu cuối:
systemctl restart NetworkManager
để khởi tạo các cài đặt mới. Bạn nên được thực hiện.
Tôi đã làm điều này ngày hôm qua, và theo như tôi có thể thấy nó hoạt động tốt. Không đảm bảo!