注意:这里所说的上网并不是FQ、只是简单的通过iptables让客户端可以访问外网、因为有些时候有这样的需求

上一篇文章为大家介绍了OpenVPN、以及它的部署工作、而这一篇主要就是讲解如何让客户端可以访问外网、并将其设置为开机自动启动让其自动连接

在Linux部署完OpenVPN之后、如果客户端要通过它访问外网、需要借助iptables或firewalld等工具做SNAT即源地址转换、确保数据包可以正常转发到外网

最后需要说的就是开机自动启动、设置OpenVPN为开机自动启动的方法有很多种

其一:通过定义注册表、使其开机自动启动

其二:通过设置定时任务以及触发器、使其开机自动启动

注意:设置完开机自动后、登录时会弹出一个方框、就是因为设置了开机自动启动、所以图标会由绿色变成灰色、这个是属于正常现象、不影响通信、请放心使用


一、通过OpenVPN访问外网

1)在Linux中开启路由转发

[root@node1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@node1 ~]# sysctl -p

2)添加防火墙规则、确保数据包可以正常转发到外网

[root@node1 ~]# iptables -t nat -I POSTROUTING -s 172.16.0.0/16 -o ens33 -j MASQUERADE

3)在服务端编辑OpenVPN的配置文件

[root@node1 ~]# vim /etc/openvpn/server.conf
push "route 0.0.0.0 0.0.0.0"					#推送路由
push "dhcp-option DNS 114.114.114.114"			#设置DNS
push "dhcp-option DNS 114.114.115.115"			#设置DNS
push "redirect-gateway def1 bypass-dhcp"		#设置网关转发

4)验证OpenVPN客户端访问外网


二、设置OpenVPN为开机自动启动

1)在Linux中设置OpenVPN为开机自动启动

注意:这里一定要进入目录之后在去执行连接命令、否则会报错、不生效、这里需要特别注意

[root@client ~]# cat >> /etc/rc.d/rc.local << EOF
cd /etc/openvpn/ && /usr/sbin/openvpn --daemon --config client.ovpn && cd
EOF
[root@client ~]# chmod +x /etc/rc.d/rc.local

2)在Windows中设置OpenVPn为开机自动启动

1、修改注册表

复制这个路径:C:\Program Files\OpenVPN\bin\openvpn-gui.exe

在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\OpenVPN-GUI路径中、将silent_connection的值修改为1

随后在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run路径中、新建项即可

项目的值为:"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect client.ovpn

最后在service.msc中、将OpenVPN Serviced的启动类型由手动更改为自动即可、这样就完成了开机自动连接与启动

2、设置触发器

在Windows的搜索栏中搜索任务计划程序、进入点击创建基本任务、然后为任务定义名称

然后将触发器设置为计算机启动时启动程序

随后将程序设置为:"C:\Program Files\OpenVPN\bin\openvpn-gui.exe"、将参数设置为:--connect client.ovpn

之后将:当单击完成时打开此任务属性的对话框、这个复选框勾选上

最后将:不管用户是否登录都要运行与使用最高权限运行的复选框勾上、这样就完成了开机自动连接与启动

注意:设置完开机自动启动以后、在服务器开机以后OpenVPN会自动连接、不用手动去连接了、登录到服务器(Windows服务器)以后因为设置了开机自动启动、所以会弹出一个灰色方框、这个是正常的、不影响通信

【只是为了打发时间】

通过open上网并设置开机自启与自动连接的更多相关文章

  1. Linux(CentOS6.5)下Nginx注册系统服务(启动、停止、重启、重载等)&设置开机自启

    本文地址http://comexchan.cnblogs.com/ ,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 完成了Nginx的编译安装后,仅仅是能支持Nginx最基本的功能, ...

  2. centos7安装docker并设置开机自启以及常用命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  3. redis设置开机自启

    开机自启动redis(其他服务类似) centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvini ...

  4. Win10 如何以管理员身份设置开机自启程序(1)

    原文:Win10 如何以管理员身份设置开机自启程序(1) 最近一个项目在win10上部署时遇到问题,即如何设置以管理员身份开机自启.现把解决方法整理如下: 首先,为了进行验证,我编了一个简单的程序te ...

  5. Win10 如何以管理员身份设置开机自启程序(2)

    原文:Win10 如何以管理员身份设置开机自启程序(2) 自己水平太菜,对Windows的权限问题一直不是特别了解.之前在<Win10 如何以管理员身份设置开机自启程序(1)>一文中介绍了 ...

  6. nginx设置开机自启

    环境:centos7 nginx1.16.1 方法一:(适用于centos7以上版本) 使用systemctl工具 方法二:(使用多种linux) 使用nginx官方的脚本,设置开机自启

  7. Centos7安装elasticsearch6.3及ik分词器,设置开机自启

    参考Elasticsearch 在CentOs7 环境中开机启动 建议虚拟机的内存大小为4G 1. 新建一个用户john 出于安全考虑,elasticsearch默认不允许以root账号运行. 创建用 ...

  8. ubuntu18.04设置开机自启Django

    设置开机自启: rc-local.server [Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.l ...

  9. (2)Ngixn 编译安装设置开机自启

    设置nginx开机自启 #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 ...

随机推荐

  1. CMS总结

    过程 初始标记 从roots(例如:thread stack引用的对象,static对象),新生代对象,标记直接引用的老年代对象. 并发标记 利用初始标记阶段标记的对象,递归标记整个老年代. 该阶段与 ...

  2. 记第一个javaweb网页

      <%@ page language="java" contentType="text/html; charset=utf-8" pageEncodin ...

  3. IO流之处理流用法总结

    处理流之一:缓冲流1.为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组,缺省使用8192个字节(8Kb)的缓冲区. 2.缓冲流要“套接”在相应 ...

  4. Maven 基础(二) | 解决依赖冲突的正确姿势

    一.依赖原则 假设,在 JavaMavenService2 模块中,log4j 的版本是 1.2.7,在 JavaMavenService1 模块中,它虽然继承于 JavaMavenService2 ...

  5. 区间dp - 括号匹配并输出方案

    Let us define a regular brackets sequence in the following way: 1. Empty sequence is a regular seque ...

  6. Oracle RAC服务器重启故障排查

    Oracle Real Application Clusters(Oracle RAC),相对于Oracle单实例来说部署安装和维护都增加了难度,尤其在日常的维护和故障处理过程中,各种日志的查看更加重 ...

  7. angular 构建可以动态挂载的配置服务

    angular 构建可以动态挂载的配置服务 Intro 在 angular 中可以指定 environment 来区分不同环境下的配置,然而 environment 中的配置会在打包时是固定的,想要像 ...

  8. moco响应中文乱码

    moco版本为:moco-runner-standalone-0.11.1.jar 在一次使用moco框架的时候,浏览器查看响应时,发现返回来的中文是乱码. 按照网上的操作,在响应结果中加上heade ...

  9. Python Selenium定位元素常用解决办法

       在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException), ...

  10. Python的条件控制及循环

    一.条件控制: 1.If语句的使用: Python中if语句的一般形式如下所示: 上图中: 如果 "score>=90" 为 True 将执行 "print(‘优秀 ...