启动OpenVPN失败

文:铁乐与猫

[root@yunwei_OpenVPN openvpn]# systemctl status openvpn
● openvpn.service - LSB: start and stop openvpn
   Loaded: loaded (/etc/rc.d/init.d/openvpn; bad; vendor preset: disabled)
   Active: active (exited) since 四 2017-11-16 15:41:52 CST; 1min 31s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1175 ExecStart=/etc/rc.d/init.d/openvpn start (code=exited, status=0/SUCCESS)

11月 16 15:41:52 yunwei_OpenVPN systemd[1]: Starting LSB: start and stop openvpn...
11月 16 15:41:52 yunwei_OpenVPN openvpn[1175]: /etc/rc.d/init.d/openvpn: 第 108 行:[: =: 期待一元表达式
11月 16 15:41:52 yunwei_OpenVPN openvpn[1175]: Starting openvpn: [失败]

## 11月 16 15:41:52 yunwei_OpenVPN systemd[1]: Started LSB: start and stop openvpn.

现怀疑是因为VMware虚拟机上搭建创建不出虚拟网卡所致。
因为/etc/rc.d/init.d/openvpn第108行是:

107 # Check that networking is up.
108 if [ ${NETWORKING} = "no" ]
109 then
110   echo "Networking is down"
111   exit 0
112 fi

解决办法是加载tun内核模块并启用转发

加载tun内核模块以便于openvpn生成虚拟网卡
[root@yunwei_OpenVPN openvpn]# modprobe tun
检验加载成功没有
[root@yunwei_OpenVPN openvpn]# lsmod | grep tun
tun                    31621  0
启用转发
[root@yunwei_OpenVPN openvpn]# echo 1 > /proc/sys/net/ipv4/ip_forward
检验
[root@yunwei_OpenVPN openvpn]# cat /proc/sys/net/ipv4/ip_forward
1
[root@yunwei_OpenVPN openvpn]# locate tun.ko
/usr/lib/modules/3.10.0-514.el7.x86_64/kernel/drivers/net/tun.ko
/usr/lib/modules/3.10.0-693.5.2.el7.x86_64/kernel/drivers/net/tun.ko.xz
  • 后来发现是自己的配置文件还没有设置好tun项导致,改好后,再启动:
    [root@yunwei_OpenVPN openvpn]# openvpn --config /etc/openvpn/server.conf
    (注:这种命令还不是在后台模式运行的)
Thu Nov 16 17:19:39 2017 OpenVPN 2.4.4 x86_64-redhat-linux-gnu [Fedora EPEL patched][SSL (OpenSSL)] [LZO][LZ4] [EPOLL][PKCS11] [MH/PKTINFO][AEAD] built on Sep 26 2017
Thu Nov 16 17:19:39 2017 library versions: OpenSSL 1.0.1e-fips 11 Feb 2013, LZO 2.06
Thu Nov 16 17:19:39 2017 Diffie-Hellman initialized with 2048 bit key
Thu Nov 16 17:19:39 2017 Failed to extract curve from certificate (UNDEF), using secp384r1 instead.
Thu Nov 16 17:19:39 2017 ECDH curve secp384r1 added
Thu Nov 16 17:19:39 2017 ROUTE_GATEWAY 172.16.1.2/255.255.255.0 IFACE=ens33 HWADDR=00:0c:29:96:0a:fe
Thu Nov 16 17:19:39 2017 TUN/TAP device tun0 opened
Thu Nov 16 17:19:39 2017 TUN/TAP TX queue length set to 100
Thu Nov 16 17:19:39 2017 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Thu Nov 16 17:19:39 2017 /sbin/ip link set dev tun0 up mtu 1500
Thu Nov 16 17:19:39 2017 /sbin/ip addr add dev tun0 local 10.66.72.1 peer 10.66.72.2
Thu Nov 16 17:19:39 2017 /sbin/ip route add 10.66.72.0/24 via 10.66.72.2
Thu Nov 16 17:19:39 2017 Could not determine IPv4/IPv6 protocol. Using AF_INET
Thu Nov 16 17:19:39 2017 Socket Buffers: R=[212992->212992] S=[212992->212992]
Thu Nov 16 17:19:39 2017 UDPv4 link local (bound): [AF_INET][undef]:1194
Thu Nov 16 17:19:39 2017 UDPv4 link remote: [AF_UNSPEC]
Thu Nov 16 17:19:39 2017 MULTI: multi_init called, r=256 v=256
Thu Nov 16 17:19:39 2017 IFCONFIG POOL: base=10.66.72.4 size=62, ipv6=0
Thu Nov 16 17:19:39 2017 IFCONFIG POOL LIST
Thu Nov 16 17:19:39 2017 Initialization Sequence Completed

另开一个终端验证有在运行没有:

[root@yunwei_OpenVPN ~]# lsof -i:1194
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
openvpn 6864 root    6u  IPv4  42254      0t0  UDP *:openvpn 

正常成功运行。

end

启动OpenVPN失败的更多相关文章

  1. 启动OracleDBConsoleorcl失败,提示错误代码2

    异常问题: 启动OracleDBConsoleorcl失败,提示错误代码2 原因分析: 由于更改计算机名导致的异常 解决方法: 1.管理员权限cmd下执行emctl start dbconsole 2 ...

  2. MyEclipse 启动 tomcate 失败 解决方法

    MyEclipse中启动tomcate失败 十月 20, 2015 9:53:04 下午 org.apache.catalina.startup.VersionLoggerListener log信息 ...

  3. Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 部署错误: 启动 Tomcat 失败。-- '127.0.0.1' 不是内部或外部命令,也不是可运行的程序

    真的管用,不知道为啥管用.转载自:http://blog.sina.com.cn/s/blog_709548200102vgy4.html 问题描述: 新安装的NetBeans8.0.2,安装过程中还 ...

  4. centos7 启动docker失败的解决

    控制端使用yum install docker安装完成docker后启动docker失败,出现以下信息: Job for docker.service failed because the contr ...

  5. Linux_解决启动网卡失败 Device eth0 does not seem to be present

    Linux_解决启动网卡失败  Device eth0 does not seem to be present 虚拟机克隆  发现service network restart 启动失败 故障现象: ...

  6. docker-compose中启动镜像失败的问题

    http://blog.csdn.net/boling_cavalry/article/details/79050451 解决docker-compose启动镜像失败的问题: 原文地址:http:// ...

  7. ClouderaManager启动NodeManager失败!报错Failed to initialize container executor

    报错信息: 2016-07-27 10:53:14,102 WARN org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor: ...

  8. 启动vsftpd失败

    启动vsftpd失败 在使用centos时, 要用ftp上传文件, 但是一到脚本的ftp命令就会出错: rpm -Uvh http://mirror.centos.org/centos/6/os/i3 ...

  9. android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1

    Android 启动socket 失败:socket(af_inet sock_stream 0) 返回-1 原因权限问题, 应该添加如下权限: <uses-permission android ...

随机推荐

  1. (转)你真的会写单例模式吗——Java实现

    http://www.runoob.com/design-pattern/singleton-pattern.html 单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好.用对单例模式, ...

  2. 删除.svn 脱离svn版本控制器

    1.for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn" 复制到记事本,将记事本保存为 ...

  3. Spring Cloud 微服务中搭建 OAuth2.0 认证授权服务

    在使用 Spring Cloud 体系来构建微服务的过程中,用户请求是通过网关(ZUUL 或 Spring APIGateway)以 HTTP 协议来传输信息,API 网关将自己注册为 Eureka ...

  4. Angular学习第一步

    前端开发越来越流行了,作为后端开发人员,也开始需要学习前端了.随着前端技术的发展,前端技术也越来越复杂,复杂程度不亚于后端,各种框架各种设计模式前端都用上了,什么AngularJS,Angular, ...

  5. ProxySQL+MGR实现读写分离和主节点故障无感知切换 - 完整操作记录

    前面的文章介绍了ProxySQL用法,这里说下ProxySQL中间件针对Mysql组复制模式实现读写分离以及主节点故障时能够自动切换到新的主节点,而应用对此过程无感知的功能.Mysql组复制(MGR) ...

  6. 利用channel在goroutins之间控制同步和传递数据

    在java等代码中,我们查询数据库的操作: sql = "select * from ...."; result = db.query(sql) for(item in resul ...

  7. k8s小工具

    1.Kubectx kubectx是一个在多集群和多命名空间的时候使用的非常好用的工具,kubectx与kubens绑定,kubectx用来在集群之间切换,kubens用来切换namespace. # ...

  8. ruby Enumerator::lazy

    当一个很大的数组或集合需要做循环操作的时候,一次性把数据放到内存会有很大弊端.这时lazy就派上用场了.Float::INFINITY 是无穷大意思 举个例子 取出1到无穷大对7整除余数为0的前10个 ...

  9. 深入理解JavaScript的事件循环(Event Loop)

    一.什么是事件循环 JS的代码执行是基于一种事件循环的机制,之所以称作事件循环,MDN给出的解释为 因为它经常被用于类似如下的方式来实现 while (queue.waitForMessage()) ...

  10. IdentityServer4 中文文档 -7- (简介)贡献

    IdentityServer4 中文文档 -7- (简介)贡献 原文:http://docs.identityserver.io/en/release/intro/contributing.html ...