通过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 ...
随机推荐
- MD5:js,java,C#三种语言加密结果不同解决办法
最近遇到前端js MD5加密与后端C#与Java MD5加密结果不一致的问题,所以写个关于此问题的解决办法 前端js引用的md5类库,类库地址:https://blueimp.github.io/Ja ...
- 【一起学源码-微服务】Eureka+Ribbon+Feign阶段性总结
前言 想说的话 这里已经梳理完Eureka.Ribbon.Feign三大组件的基本原理了,今天做一个总结,里面会有一个比较详细的调用关系流程图. 说明 原创不易,如若转载 请标明来源! 博客地址:一枝 ...
- 执行sql中的 函数,function
CREATE FUNCTION [dbo].[GetWeight] ( ,)--重量/体积重 ) ,) as begin --顺丰重量/体积重以0.5kg为单位向上取值(小数点后两位4舍5入) ,) ...
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
- java 自增/减运算符
注意:python中没有 一.自增运算符 1.单独使用时,目的获取变量的值,前++和后++没有区别,使用后值都会递增一. 2.混合使用时,才有区别.前++,先加后用.后++,先用后加 二.自减运算符 ...
- make_safe
from django.utils.safestring import mark_safe mark_safe('<input type="checkbox" id=&quo ...
- Serilog高级玩法之用Serilog记录所选终结点附加属性
这是该系列的第二篇文章:在ASP.NET Core 3.0中使用Serilog.AspNetCore. 第1部分-使用Serilog RequestLogging来简化ASP.NET Core的日志输 ...
- 第二阶段冲刺个人任务——seven
今日任务: 整体运行测试上传到公网上的程序. 昨日成果: 搭建网络服务器,上传数据库及程序.
- if循环后打印数据竖行输出和横排输出
代码A如下: def func(*kargs): return kargs, l = func(5,3,4,5,6) for i in l: print (i) 打印结果: ...
- URL各部分详解
就以下面这个URL为例,介绍下普通URL的各部分组成 http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&pa ...