如何在ubuntu 12.04 cli上自动启动openvpn(客户端)?

我有一个* .ovpn文件,如果我input工作

sudo openvpn client.ovpn 

现在我想在启动计算机时启动openvpn。 这是一个Ubuntu的无头版本 – 如果重要的话 – 12.04 64位。

我复制了filename.ovpn到/ etc / openvpn,但是它并没有启动,即使我运行

 service openvpn start 

我该怎么做?

在Ubuntu上,您放置在名为/etc/openvpn/$NAME.conf的文件中的任何VPNconfiguration将自动启动。

所以,你所要做的就是复制你的client.ovpn/etc/openvpn/client.conf 。 我build议你也使用绝对path在你的client.conf中的任何键,脚本等。

当然,你可能要仔细检查/etc/default/openvpn文件。 默认情况下,它将自动启动所有VPN,但AUTOSTART值可能已经更改为none ,或成为您希望自动启动的特定configuration的列表。

对于Debian操作系统

  1. 将你的configuration文件放入/ etc / openvpn,例如/etc/openvpn/client.conf

  2. 从“down”和“up”( #down#up )开始的前缀/注释掉行或从client.conf删除它们(这些是调用外部脚本)

  3. 重新加载openvpnconfiguration

     /etc/init.d/openvpn reload /etc/openvpn/client.conf 
  4. 检查

     ifconfig 

    你看到tun0接口吗? 它是否分配了IP? 大。

  5. 记住IP,重新启动并尝试连接。

客户端configuration必须具有扩展名.conf而不是.ovpn 。 在/etc/openvpn client.ovpn更改为client.conf应该可以工作

有一个黑客的方式,这将是很好的,但现在必须做。

1)创build文件myopenvpn在/ etc / init /

 nano /etc/init/myopenvpn 

2)插入myopenvpn并保存:

 # OpenVPN autostart on boot upstart job start on runlevel [2345] stop on runlevel [!2345] respawn exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn 

消息来源: http : //www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79

您必须将此信息放入/etc/init.d中的openvpn的初始化脚本中。 并将合适的符号链接到适当的基于/etc/rc.d的运行级别文件,以便启动和停止。

我在CentOS盒子上做了这个,把下面的命令插入/etc/rc.local中:

openvpn --config /path/to/file.ovpn &

该文件中的命令是在每个多用户运行级别启动完成后执行的,与将其添加到启动脚本不同,如果VPN需要很长时间才能build立,启动脚本不会减慢启动速度,但有些人会称之为黑客攻击。