Tự động kết nối với VPN khi sử dụng một mạng cụ thể trong Ubuntu Gnome 16.04


12

Trong Unity, Network Manger có sẵn hộp kiểm cho mọi kết nối định cấu hình sử dụng VPN tự động khi kết nối được kích hoạt:

Ảnh cài đặt kết nối trong ubfox 16,06

Có cách nào để có được một tùy chọn như thế này trong Ubuntu Gnome 16.04 không? (sử dụng Gnome 3.18). Vì trang cài đặt kết nối thiếu tùy chọn này: nhập mô tả hình ảnh ở đây


Chào mừng bạn đến hỏi Ubuntu! Câu trả lời này cho thấy rằng cả hai đều chia sẻ cùng một Trình quản lý mạng. Bạn có thể vui lòng kiểm tra lại? Trong trường hợp chúng khác nhau, bạn cũng có thể đưa vào ảnh chụp màn hình của Trình quản lý mạng trong Ubuntu GNOME không?
Andrea Lazzarotto


@AndreaLazzarotto cảm ơn! Tôi cung cấp ảnh chụp màn hình. Tôi sẽ thử vpnautoconnect đã được đề xuất trong Câu hỏi này để xem nó có hoạt động không. Nhưng tôi tự hỏi liệu cài đặt có thể được kích hoạt trong chính Network Manger hay không như bạn đã nói, đó là cùng một Network Manger trong cả hai hương vị.
S.Mohsen sh

Khả năng này dường như vẫn còn thiếu trong Ubuntu 17.04. Tôi không rõ tại sao nó sẽ bị xóa. Sau khi tìm kiếm một giải pháp và tìm thấy rất ít, có vẻ kỳ lạ là nhiều người không sử dụng VPN và thích tính năng tự động kết nối.
Rsync

Với điều kiện hệ thống của bạn có một /etc/NetworkManager/system-connectionsthư mục chứa các cấu hình kết nối và bạn không cần chỉnh sửa cấu hình, thì có thể đáng để kiểm tra câu trả lời tôi đã đăng ở nơi khác về chủ đề tự động kết nối với VPN cho giao diện mạng nhất định.
S0AndS0

Câu trả lời:


22

Tôi tìm thấy câu trả lời cho điều này. Điều kỳ lạ là bạn phải mở Trình quản lý mạng theo cách thủ công (trái ngược với việc sử dụng bảng điều khiển hoặc Cài đặt.

Vì vậy, trong Terminalloại nm-connection-editor. Sau khi làm như vậy, cửa sổ mở sẽ có các tùy chọn trong hình ảnh đầu tiên của OP.

Điều này làm việc cho tôi trong 16.04 và 17.04. Hy vọng, họ sẽ tích hợp các trình quản lý mạng khác nhau trong các phiên bản sắp tới của Gnome.


Điều này cũng hiệu quả với tôi vào ngày 18.04 - cảm ơn! Không rõ ngay lập tức các cài đặt đó ở đâu.
JohnnyCoder

Cũng hoạt động với Debian 9 Stretch. Cảm ơn bạn!
Christian Toffolo

1

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.

  1. 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
  1. 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.

  1. 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!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.