前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OpenVPN server端配置文件详细说明

OpenVPN server端配置文件详细说明

作者头像
用户2135432
发布于 2023-10-21 02:47:56
发布于 2023-10-21 02:47:56
11.2K0
举报
文章被收录于专栏:猛牛哥的博客猛牛哥的博客

本文将介绍如何配置OpenVPN服务器端的配置文件。在Windows系统中,该配置文件一般叫做server.ovpn;在Linux/BSD系统中,该配置文件一般叫做server.conf。虽然配置文件名称不同,但其中的配置内容与配置方法却是相同的。

本文根据官方提供的server.ovpn示例文件直接翻译得出。Windows、Linux、BSD等系统的服务器端配置文件均可参考本文。

################################################# # 针对多客户端的OpenVPN 2.0 的服务器端配置文件示例 # # 本文件用于多客户端单服务器端的OpenVPN服务器端配置 # # OpenVPN也支持单机单机的配置(更多信息请查看网站上的示例页面) # # 该配置支持Windows或者Linux/BSD系统。此外,在Windows上,记得将路径加上双引号, # 并且使用两个反斜杠,例如:”C:\\Program Files\\OpenVPN\\config\\foo.key” # # ‘#’ or ‘;’开头的均为注释内容 #################################################

#OpenVPN应该监听本机的哪些IP地址? #该命令是可选的,如果不设置,则默认监听本机的所有IP地址。 ;local a.b.c.d

# OpenVPN应该监听哪个TCP/UDP端口? # 如果你想在同一台计算机上运行多个OpenVPN实例,你可以使用不同的端口号来区分它们。 # 此外,你需要在防火墙上开放这些端口。 port 1194

#OpenVPN使用TCP还是UDP协议? ;proto tcp proto udp

# 指定OpenVPN创建的通信隧道类型。 # “dev tun”将会创建一个路由IP隧道, # “dev tap”将会创建一个以太网隧道。 # # 如果你是以太网桥接模式,并且提前创建了一个名为”tap0″的与以太网接口进行桥接的虚拟接口,则你可以使用”dev tap0″ # # 如果你想控制VPN的访问策略,你必须为TUN/TAP接口创建防火墙规则。 # # 在非Windows系统中,你可以给出明确的单位编号(unit number),例如”tun0″。 # 在Windows中,你也可以使用”dev-node”。 # 在多数系统中,除非你部分禁用或者完全禁用了TUN/TAP接口的防火墙,否则VPN将不起作用。 ;dev tap dev tun

# 如果你想配置多个隧道,你需要用到网络连接面板中TAP-Win32适配器的名称(例如”MyTap”)。 # 在XP SP2或更高版本的系统中,你可能需要有选择地禁用掉针对TAP适配器的防火墙 # 通常情况下,非Windows系统则不需要该指令。 ;dev-node MyTap

# 设置SSL/TLS根证书(ca)、证书(cert)和私钥(key)。 # 每个客户端和服务器端都需要它们各自的证书和私钥文件。 # 服务器端和所有的客户端都将使用相同的CA证书文件。 # # 通过easy-rsa目录下的一系列脚本可以生成所需的证书和私钥。 # 记住,服务器端和每个客户端的证书必须使用唯一的Common Name。 # # 你也可以使用遵循X509标准的任何密钥管理系统来生成证书和私钥。 # OpenVPN 也支持使用一个PKCS #12格式的密钥文件(详情查看站点手册页面的”pkcs12″指令) ca ca.crt cert server.crt key server.key # 该文件应该保密

# 指定迪菲·赫尔曼参数。 # 你可以使用如下名称命令生成你的参数: # openssl dhparam -out dh1024.pem 1024 # 如果你使用的是2048位密钥,使用2048替换其中的1024。 dh dh1024.pem

# 设置服务器端模式,并提供一个VPN子网,以便于从中为客户端分配IP地址。 # 在此处的示例中,服务器端自身将占用10.8.0.1,其他的将提供客户端使用。 # 如果你使用的是以太网桥接模式,请注释掉该行。更多信息请查看官方手册页面。 server 10.8.0.0 255.255.255.0

# 指定用于记录客户端和虚拟IP地址的关联关系的文件。 # 当重启OpenVPN时,再次连接的客户端将分配到与上一次分配相同的虚拟IP地址 ifconfig-pool-persist ipp.txt

# 该指令仅针对以太网桥接模式。 # 首先,你必须使用操作系统的桥接能力将以太网网卡接口和TAP接口进行桥接。 # 然后,你需要手动设置桥接接口的IP地址、子网掩码; # 在这里,我们假设为10.8.0.4和255.255.255.0。 # 最后,我们必须指定子网的一个IP范围(例如从10.8.0.50开始,到10.8.0.100结束),以便于分配给连接的客户端。 # 如果你不是以太网桥接模式,直接注释掉这行指令即可。 ;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

# 该指令仅针对使用DHCP代理的以太网桥接模式, # 此时客户端将请求服务器端的DHCP服务器,从而获得分配给它的IP地址和DNS服务器地址。 # # 在此之前,你也需要先将以太网网卡接口和TAP接口进行桥接。 # 注意:该指令仅用于OpenVPN客户端,并且该客户端的TAP适配器需要绑定到一个DHCP客户端上。 ;server-bridge

# 推送路由信息到客户端,以允许客户端能够连接到服务器背后的其他私有子网。 # (简而言之,就是允许客户端访问VPN服务器自身所在的其他局域网) # 记住,这些私有子网也要将OpenVPN客户端的地址池(10.8.0.0/255.255.255.0)反馈回OpenVPN服务器。 ;push “route 192.168.10.0 255.255.255.0” ;push “route 192.168.20.0 255.255.255.0”

# 为指定的客户端分配指定的IP地址,或者客户端背后也有一个私有子网想要访问VPN, # 那么你可以针对该客户端的配置文件使用ccd子目录。 # (简而言之,就是允许客户端所在的局域网成员也能够访问VPN)

# 举个例子:假设有个Common Name为”Thelonious”的客户端背后也有一个小型子网想要连接到VPN,该子网为192.168.40.128/255.255.255.248。 # 首先,你需要去掉下面两行指令的注释: ;client-config-dir ccd ;route 192.168.40.128 255.255.255.248 # 然后创建一个文件ccd/Thelonious,该文件的内容为: # iroute 192.168.40.128 255.255.255.248 #这样客户端所在的局域网就可以访问VPN了。 # 注意,这个指令只能在你是基于路由、而不是基于桥接的模式下才能生效。 # 比如,你使用了”dev tun”和”server”指令。

# 再举个例子:假设你想给Thelonious分配一个固定的IP地址10.9.0.1。 # 首先,你需要去掉下面两行指令的注释: ;client-config-dir ccd ;route 10.9.0.0 255.255.255.252 # 然后在文件ccd/Thelonious中添加如下指令: # ifconfig-push 10.9.0.1 10.9.0.2

# 如果你想要为不同群组的客户端启用不同的防火墙访问策略,你可以使用如下两种方法: # (1)运行多个OpenVPN守护进程,每个进程对应一个群组,并为每个进程(群组)启用适当的防火墙规则。 # (2) (进阶)创建一个脚本来动态地修改响应于来自不同客户的防火墙规则。 # 关于learn-address脚本的更多信息请参考官方手册页面。 ;learn-address ./script

# 如果启用该指令,所有客户端的默认网关都将重定向到VPN,这将导致诸如web浏览器、DNS查询等所有客户端流量都经过VPN。 # (为确保能正常工作,OpenVPN服务器所在计算机可能需要在TUN/TAP接口与以太网之间使用NAT或桥接技术进行连接) ;push “redirect-gateway def1 bypass-dhcp”

# 某些具体的Windows网络设置可以被推送到客户端,例如DNS或WINS服务器地址。 # 下列地址来自opendns.com提供的Public DNS 服务器。 ;push “dhcp-option DNS 208.67.222.222” ;push “dhcp-option DNS 208.67.220.220”

# 去掉该指令的注释将允许不同的客户端之间相互”可见”(允许客户端之间互相访问)。 # 默认情况下,客户端只能”看见”服务器。为了确保客户端只能看见服务器,你还可以在服务器端的TUN/TAP接口上设置适当的防火墙规则。 ;client-to-client

# 如果多个客户端可能使用相同的证书/私钥文件或Common Name进行连接,那么你可以取消该指令的注释。 # 建议该指令仅用于测试目的。对于生产使用环境而言,每个客户端都应该拥有自己的证书和私钥。 # 如果你没有为每个客户端分别生成Common Name唯一的证书/私钥,你可以取消该行的注释(但不推荐这样做)。 ;duplicate-cn

# keepalive指令将导致类似于ping命令的消息被来回发送,以便于服务器端和客户端知道对方何时被关闭。 # 每10秒钟ping一次,如果120秒内都没有收到对方的回复,则表示远程连接已经关闭。 keepalive 10 120

# 出于SSL/TLS之外更多的安全考虑,创建一个”HMAC 防火墙”可以帮助抵御DoS攻击和UDP端口淹没攻击。 # 你可以使用以下命令来生成: # openvpn –genkey –secret ta.key # # 服务器和每个客户端都需要拥有该密钥的一个拷贝。 # 第二个参数在服务器端应该为’0’,在客户端应该为’1’。 ;tls-auth ta.key 0 # 该文件应该保密

# 选择一个密码加密算法。 # 该配置项也必须复制到每个客户端配置文件中。 ;cipher BF-CBC # Blowfish (默认) ;cipher AES-128-CBC # AES ;cipher DES-EDE3-CBC # Triple-DES

# 在VPN连接上启用压缩。 # 如果你在此处启用了该指令,那么也应该在每个客户端配置文件中启用它。 comp-lzo

# 允许并发连接的客户端的最大数量 ;max-clients 100

# 在完成初始化工作之后,降低OpenVPN守护进程的权限是个不错的主意。 # 该指令仅限于非Windows系统中使用。 ;user nobody ;group nobody

# 持久化选项可以尽量避免访问那些在重启之后由于用户权限降低而无法访问的某些资源。 persist-key persist-tun

# 输出一个简短的状态文件,用于显示当前的连接状态,该文件每分钟都会清空并重写一次。 status openvpn-status.log

# 默认情况下,日志消息将写入syslog(在Windows系统中,如果以服务方式运行,日志消息将写入OpenVPN安装目录的log文件夹中)。 # 你可以使用log或者log-append来改变这种默认情况。 # “log”方式在每次启动时都会清空之前的日志文件。 # “log-append”这是在之前的日志内容后进行追加。 # 你可以使用两种方式之一(但不要同时使用)。 ;log openvpn.log ;log-append openvpn.log

# 为日志文件设置适当的冗余级别(0~9)。冗余级别越高,输出的信息越详细。 # # 0 表示静默运行,只记录致命错误。 # 4 表示合理的常规用法。 # 5 和 6 可以帮助调试连接错误。 # 9 表示极度冗余,输出非常详细的日志信息。 verb 3

# 重复信息的沉默度。 # 相同类别的信息只有前20条会输出到日志文件中。 ;mute 20

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-12-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
企业级openvpn搭建
easy-rsa 下载地址:https://codeload.github.com/OpenVPN/easy-rsa-old/zip/master
章工运维
2023/05/19
5.4K0
OpenVPN原理及部署使用
简介 VPN技术通过密钥交换、封装、认证、加密手段在公共网络上建立起私密的隧道,保障传输数据的完整性、私密性和有效性。OpenVPN是近年来新出现的开放源码项目,实现了SSL VPN的一种解决方案。 传统SSL VPN通过端口代理的方法实现,代理服务器根据应用协议的类型(如http,telnet等)做相应的端口代理,客户端与代理服务器之间建立SSL安全连接,客户端与应用服务器之间的所有数据传输通过代理服务器转发。这种实现方式烦琐,应用范围也比较窄:仅适用于用TCP固定端口进行通信的应用系统,且对每个需要
iginkgo18
2020/09/27
47.9K1
OpenVPN原理及部署使用
使用Lighthouse搭建OpenVPN轻松访问内网服务
OpenVPN是一种功能强大的开源虚拟私有网络(VPN)解决方案,可以在多种应用场景下使用。以下是几个常见的OpenVPN应用场景:
小宇-xiaoyu
2023/11/28
3K0
Centos7安装与配置OpenVPN服务器
安装 OpenVPN、Firewalld 软件包以及用于生成各种证书的 EasyRSA
用户7639835
2021/09/01
17.8K4
openvpn安装及证书制作
1) 安装epel 仓库源 wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -Uvh epel-release-6-8.noarch.rpm
一朵灼灼华
2022/08/05
8.3K0
openvpn安装及证书制作
ubuntu部署VPN中openvpn(上)
如果在一个非信任网络下比如旅社或者咖啡店的WiFi网络下,想要通过你的智能手机或者笔记本电脑安全地访问互联网,那么VPN可以满足你的要求。VPN(VirtualPrivate Network)允许你私有地(privately)安全地(securely)穿过非信任的网络,就好像为你建立了一条专属网络。你的数据流量到达VPN服务器之后,VPN服务器继续将你的网络流量送达目的地。
陈不成i
2021/06/30
15.5K0
本机与云服务器内网互联?
Esay-RSA默认安装目录在/usr/share/easy-rsa/3.0.8,文档配置文件模板在/usr/share/doc/easy-rsa-3.0.8。
花花522
2023/03/07
7.4K0
本机与云服务器内网互联?
OpenWRT搭建OpenVPN服务器
By HKL, on Thursday 2019-11-28 23:21, tagged: 🏷️Networking 🏷️Operating
hiplon
2023/10/18
16.8K1
OpenWRT搭建OpenVPN服务器
[Linux虚拟机]OpenVPN安装和基本使用方法,帮你快速理解公司网络
VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。 [1]
李鹏华
2024/05/24
1.5K0
基于 WireGuard 和 OpenVPN 的混合云基础架构建设
可以找一台能联网的 centos7 测试一下这个端口,如果没有 nc 工具可以yum install nc安装下。:
米开朗基杨
2021/04/23
8.1K1
基于 WireGuard 和 OpenVPN 的混合云基础架构建设
近期研究VPN的一些记录(OpenVPN,pptp,l2tp)
近期由于一些需要(特别是上Google),研究了下在VPS上搭建VPN服务器的方法。其中遇到一些坑,顺带记下来以备下次使用。
owent
2023/03/06
6.4K0
CentOS 搭建 OpenVPN 服务,一次性成功!收藏了
本篇文章包含OpenVPN应用场景,OpenVPN服务端搭建,OpenVPN客户端搭建(windows+linux),OpenVPN密码认证,手把手教大家搭建OpenVPN!
民工哥
2023/08/22
31.8K2
CentOS 搭建 OpenVPN 服务,一次性成功!收藏了
centos7部署OpenVpn
VPN直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道,OpenVPN无疑是Linux下开源VPN的先锋,提供了良好的性能和友好的用户GUI。
Lucifer三思而后行
2021/08/17
9.5K1
centos7部署OpenVpn
VMware 克隆多台Linux机器并配置IP
该文介绍了如何利用 VMware 的克隆功能在 Linux 虚拟机中配置多个 IP,并实现相互 ping 通。包括步骤:关闭虚拟机、克隆虚拟机、修改虚拟机的 IP 配置、关闭防火墙、重启虚拟机。
IT可乐
2018/01/04
4K0
VMware 克隆多台Linux机器并配置IP
VPN技术指南:OpenVPN和IPsec的配置与管理
在现代网络安全中,虚拟专用网络(VPN)是保护数据传输安全、实现远程访问的关键技术。OpenVPN和IPsec是两种广泛应用的VPN解决方案,各具优势。本文将详细介绍如何配置和管理OpenVPN和IPsec,并提供相关代码和示例,帮助读者理解和应用这些技术。
Echo_Wish
2024/12/04
8130
[经验分享] 腾讯云ubuntu搭建openvpn
./build-dh 命令完成后,我们会/usr/share/doc/openvpn/examples/easy-rsa/2.0/keys 得到 ca.crt、ca.key、dh1024.pem 等文件。其中,ca.key 的安全非常重要,OpenVPN 并不需要这个文件,所以可以存放在其他比较安全的地方,否则,OpenVPN 的通信将不再安全。 cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.crt /etc/openvpn/ cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.key /etc/openvpn/ cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem /etc/openvpn/ cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt /etc/openvpn/ 生成服务端证书 ./build-key-server server
知识与交流
2023/03/25
12.3K0
[经验分享] 腾讯云ubuntu搭建openvpn
Tun/Tap接口使用指导
对tun接口的了解需求主要来自于openshift的网络,在openshift3和openshift4的OVS网络中使用到了tun0接口,作为容器egresss访问路径上的接口之一。
charlieroro
2020/08/17
3.8K0
通过OpenSSH建立二层和三层加密隧道
OpenSSH 可以使用tun/tap设备来创建一个加密隧道,SSH隧道类似mode TCP模式下的OpenVPN,对于有需求快速设置一个基于IP的VPN来说非常方便。使用SSH隧道的优点:
用户2323866
2021/06/23
4.9K0
如何搭建虚拟专有网络访问公司内网
因为公司开发都是内网环境,以往居家办公或非公司环境,都需要进行远程到公司电脑进行办公,为了方便部门同事出差驻场开发,搭建了虚拟专有网络
code2roc
2023/09/03
1.2K0
Config Client of OpenVPN on linux
OpenVPN 是一款开源的 VPN(Virtual private network) 软件
franket
2021/08/11
5.3K0
相关推荐
企业级openvpn搭建
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档