通过open上网并设置开机自启与自动连接
注意:这里所说的上网并不是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上网并设置开机自启与自动连接的更多相关文章
- Linux(CentOS6.5)下Nginx注册系统服务(启动、停止、重启、重载等)&设置开机自启
本文地址http://comexchan.cnblogs.com/ ,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! 完成了Nginx的编译安装后,仅仅是能支持Nginx最基本的功能, ...
- centos7安装docker并设置开机自启以及常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- redis设置开机自启
开机自启动redis(其他服务类似) centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvini ...
- Win10 如何以管理员身份设置开机自启程序(1)
原文:Win10 如何以管理员身份设置开机自启程序(1) 最近一个项目在win10上部署时遇到问题,即如何设置以管理员身份开机自启.现把解决方法整理如下: 首先,为了进行验证,我编了一个简单的程序te ...
- Win10 如何以管理员身份设置开机自启程序(2)
原文:Win10 如何以管理员身份设置开机自启程序(2) 自己水平太菜,对Windows的权限问题一直不是特别了解.之前在<Win10 如何以管理员身份设置开机自启程序(1)>一文中介绍了 ...
- nginx设置开机自启
环境:centos7 nginx1.16.1 方法一:(适用于centos7以上版本) 使用systemctl工具 方法二:(使用多种linux) 使用nginx官方的脚本,设置开机自启
- Centos7安装elasticsearch6.3及ik分词器,设置开机自启
参考Elasticsearch 在CentOs7 环境中开机启动 建议虚拟机的内存大小为4G 1. 新建一个用户john 出于安全考虑,elasticsearch默认不允许以root账号运行. 创建用 ...
- ubuntu18.04设置开机自启Django
设置开机自启: rc-local.server [Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.l ...
- (2)Ngixn 编译安装设置开机自启
设置nginx开机自启 #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 ...
随机推荐
- CMS总结
过程 初始标记 从roots(例如:thread stack引用的对象,static对象),新生代对象,标记直接引用的老年代对象. 并发标记 利用初始标记阶段标记的对象,递归标记整个老年代. 该阶段与 ...
- 记第一个javaweb网页
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncodin ...
- IO流之处理流用法总结
处理流之一:缓冲流1.为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组,缺省使用8192个字节(8Kb)的缓冲区. 2.缓冲流要“套接”在相应 ...
- Maven 基础(二) | 解决依赖冲突的正确姿势
一.依赖原则 假设,在 JavaMavenService2 模块中,log4j 的版本是 1.2.7,在 JavaMavenService1 模块中,它虽然继承于 JavaMavenService2 ...
- 区间dp - 括号匹配并输出方案
Let us define a regular brackets sequence in the following way: 1. Empty sequence is a regular seque ...
- Oracle RAC服务器重启故障排查
Oracle Real Application Clusters(Oracle RAC),相对于Oracle单实例来说部署安装和维护都增加了难度,尤其在日常的维护和故障处理过程中,各种日志的查看更加重 ...
- angular 构建可以动态挂载的配置服务
angular 构建可以动态挂载的配置服务 Intro 在 angular 中可以指定 environment 来区分不同环境下的配置,然而 environment 中的配置会在打包时是固定的,想要像 ...
- moco响应中文乱码
moco版本为:moco-runner-standalone-0.11.1.jar 在一次使用moco框架的时候,浏览器查看响应时,发现返回来的中文是乱码. 按照网上的操作,在响应结果中加上heade ...
- Python Selenium定位元素常用解决办法
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException), ...
- Python的条件控制及循环
一.条件控制: 1.If语句的使用: Python中if语句的一般形式如下所示: 上图中: 如果 "score>=90" 为 True 将执行 "print(‘优秀 ...