OpenVPN 自动启动 Ubuntu 18.04

OpenVPN 自动启动 Ubuntu 18.04

我正在尝试将 OpenVPN 设置为开机自动启动。对于 18.04 Mate,我尝试将 opvpn 配置放入 /etc/openvpn,然后编辑 /etc/default/openvpn 以连接所有。这不起作用,尽管它在 16.04 上有效。

我已经研究过使用 systemd 但无法让它工作。

我曾尝试使用网络管理器在登录时进行连接,作为一种折衷,如果将 VPN 设置为始终使用,则此操作会失败,因为以太网不会自动连接。

所以,总而言之,我想要的是:

我的 openvpn 在启动时自动连接。

感谢大家的帮助!

陣容

答案1

如果将配置保存为目录MY_CONNECTION.conf中的文件/etc/openvpn,则可以执行以下操作:

systemctl enable openvpn@MY_CONNECTION
systemctl start openvpn@MY_CONNECTION

其中 MY_CONNECTION 与 相同MY_CONNECTION.conf

因此,如果您有多个连接,那么您就会有多个systemctl呼叫。

systemctl enable openvpn@MY_CONNECTION1
systemctl start openvpn@MY_CONNECTION1
systemctl enable openvpn@MY_CONNECTION2
systemctl start openvpn@MY_CONNECTION2

ETC。

答案2

下面是我配置私人互联网接入 (PIA) OpenVPN 隧道的步骤。我用它Switzerland.ovpn来指代 OpenVPN 配置。请用适合您配置的文件名替换它。

我使用的是 Ubuntu 18.04,但它应该可以在使用 systemd 的任何 Linux 发行版上运行。我只是不知道网络管理器是否会覆盖它。

依赖项

  1. sudo apt update
  2. sudo apt install openvpn

OpenVPN 配置

  1. sudo mkdir /etc/openvpn/PIA(更改PIA为您选择的名称)
  2. 下载您的 OpenVPN 配置文件,例如:

    sudo wget https://www.privateinternetaccess.com/openvpn/openvpn.zip https://www.privateinternetaccess.com/openvpn/openvpn-strong.zip
    
  3. (提取并)将配置文件复制到新创建的文件夹(此处/etc/openvpn/PIA

  4. cd /etc/openvpn/PIA

如果您不使用密码,请跳过步骤 7 至 10

  1. (选修的)sudo touch piapass.txt
  2. (选修的)sudo chmod 700 piapass.txt
  3. (可选)输入sudo nano piapass.txt并输入以下内容(将username和更改password为适合您的配置的值)

    username
    password
    
  4. (可选)输入sudo nano Switzerland.ovpn并将行更改auth-user-passauth-user-pass /etc/openvpn/PIA/piapass.txt

  5. 测试连接sudo openvpn Switzerland.ovpn

Systemd 启动服务设置

更改piavpn.service为您希望启动 OpenVPN 连接服务所具有的任何名称。

  1. cd /etc/systemd/system/
  2. sudo touch piavpn.service
  3. sudo chmod 644 piavpn.service
  4. 键入sudo nano piavpn.service并输入以下内容(确保调整以开头的行以ExecStart匹配您的配置):

    [Unit]
    Description=Private Internet Access VPN (Swiss)
    After=multi-user.target
    
    [Service]
    Type=idle
    ExecStart=/usr/sbin/openvpn --config /etc/openvpn/PIA/Switzerland.ovpn
    
    [Install]
    WantedBy=multi-user.target
    
  5. sudo systemctl daemon-reload

  6. sudo systemctl enable piavpn.service
  7. sudo reboot

重启后,您的 OpenVPN 连接应在启动时自动设置。

答案3

确实 @xm88,您希望在 openvpn 服务启动时自动提供凭据,无需用户交互或输入

在您的烤箱配置文件中(raspbian 上为 .conf,但根据您的情况需要哪个扩展名)

    client
...
    auth-user-pass $yourCredentialsFile
    [some more config]
    <ca>
    -----BEGIN CERTIFICATE-----
    etc etc

在你的配置文件旁边,有一个名为$你的凭证文件其中包含:

username
password

我必须建议,从安全角度来看,这不是最佳做法,因为凭据是简单的,任何有权访问你的 openvpn 配置目录的用户都可以看到/etc/openvpn,但这将允许 openvpn 服务在启动时自动登录。

相关内容