首页 > 系统相关 >CentOS7.X 部署OpenVPN

CentOS7.X 部署OpenVPN

时间:2023-03-20 16:33:47浏览次数:49  
标签:keys 部署 OpenVPN rsa CentOS7 etc export easy openvpn

1、实验环境

CentOS7.9
内网ens32:172.16.9.129
外网ens33:10.33.56.100

2、配置路由转发

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.d/99-sysctl.conf
sysctl -p

3、安装openvpn

yum -y install epel-release
yum -y install easy-rsa openssh-server lzo openssl openssl-devel openvpn NetworkManager-openvpn openvpn-auth-ldap iptables-services

4、生成证书文件

wget https://github.com/OpenVPN/easy-rsa-old/archive/2.3.3.tar.gz
tar -xf 2.3.3.tar.gz
mkdir -pv /etc/openvpn/easy-rsa/keys
cp easy-rsa-old-2.3.3/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

# 配置证书信息
cd /etc/openvpn/easy-rsa/
vi vars
# 替换尾部内容
export KEY_COUNTRY="CN"
export KEY_PROVINCE="BJ"
export KEY_CITY="BJ"
export KEY_ORG="DevOps"
export KEY_EMAIL="[email protected]"
export KEY_CN="devops"
export KEY_NAME="devops"
export KEY_OU="devops"
export PKCS11_MODULE_PATH=devops
export PKCS11_PIN=1234

# 制作CA证书
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
source ./vars
./build-ca

# 制作Server端证书
./build-key-server server

# 制作防攻击的key文件和密钥文件
openvpn --genkey --secret keys/ta.key
./build-dh

# 制作Client端证书
./build-key client

# 复制证书文件到特定的配置路径下
cp keys/{dh2048.pem,ca.crt,server.crt,server.key,ta.key} /etc/openvpn/

# 如果中途异常,清空重新执行以上步骤
./clean-all

5、配置服务端

# 使用PAM和密码认证
tee /etc/openvpn/server.conf <<EOF
port 1194
proto udp
dev tap
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/<MYSERVER>.crt
key /etc/openvpn/easy-rsa/keys/<MYSERVER>.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 192.168.56.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;learn-address ./script
client-to-client
;duplicate-cn
keepalive 10 120
;tls-auth ta.key 0
comp-lzo
;max-clients 100
;user nobody
;group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-cert-not-required
username-as-common-name
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
EOF

# 使用证书认证
tee /etc/openvpn/server.conf <<EOF
port 1194
proto tcp
dev tun0

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/<MYSERVER>.crt
key /etc/openvpn/easy-rsa/keys/<MYSERVER>.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem

server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

log-append /var/log/openvpn
status /tmp/vpn.status 10
EOF

6、配置防火墙

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
/etc/rc.d/iptables save

7、启动服务

systemctl enable  --now [email protected]

8、配置客户端

# 使用密码认证
client
dev tap
proto udp
remote <address> 1194
resolv-retry infinite
nobind
persist-tun
comp-lzo
verb 3
auth-user-pass passwd
ca ca.crt
备注:auth-user-pass 引用的 passwd 文件必须包含如下两行:
第一行 - username
第二行 - password

# 证书认证
client
remote <MYSERVER> 1194
dev tun0
proto tcp
resolv-retry infinite
nobind
persist-key
persist-tun
verb 2
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
备注:将ca.crt, client1.crt 和 client1.key复制到远程计算机

9、客户端工具

MAC:Tunnelblick
WINDOWS:OpenVPN Connect client

标签:keys,部署,OpenVPN,rsa,CentOS7,etc,export,easy,openvpn
From: https://blog.51cto.com/zzzhao/6133182

相关文章

  • 项目部署常用命令和方法
    java环境启动命令部署微服务时,通过命令启动jar程序时,标准命令写法,减少出错概率java-jar-Dfile.encoding=utf-8jar文件名.jar--spring.profiles.active=dev-Dfile.encodi......
  • CentOS 7.X部署SNMP
    1、简介单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(applicationlayerprotocol)、数据库模型(databaseschema)和一组资源对象。该协议能够支持网络管理系统......
  • centos7通过CDH部署Hadoop
    一、角色分配及安装环境准备资料下载地址:链接:百度网盘1.机器及机器角色规划2.关闭防火墙及SELinux3.安装依赖(server)yuminstall-ycyrus-sasl-plaincyrus-sa......
  • Linux环境下部署tomcat服务-单项目部署
    一、上传tomcat安装包并解压1. apache-tomcat-8.5.38.zip2.安装包可以存放任意目录二、将被测项目放入webapps目录下三、修改被测项目中的配置文件信息......
  • 部署asp.net core6 iis InProcess模式方法
    修改IIS中的配置1.修改启用应用程序池(AlwaysRunning):保证应用程序池在第一次创建或者被回收后,能自动再次重启运行。2.修改闲置超时1740分钟:长时间没有请求释放资源,可以......
  • 二进制部署docker docker-20.10.7
    1、下载 docker二进制包文件官网下载地址​​​https://download.docker.com/linux/static/stable/x86_64/​​wgethttps://download.docker.com/linux/static/stable/x86......
  • 热部署学习
    概述热部署对于我们这种开发同学来平不陌生吧,比如在IDEA修改一行代码,会自动热部署,并不需要重启,市面上热部署的框架有很多:Jrebel等。今天我就来学习一下热部署。 原理......
  • VMware和CentOS7发行版Linux系统安装
    工作前准备,需要先下载VMware和Centos,下载好后,我们再进行下一步操作!!!VMware安装双击运行下载后的.exe文件勾选接受协议更改安装路径,默认是C盘(不建议安装到C盘)取消勾......
  • 在线扩容Linux(CentOS7)根目录
    一、Linux开机状态下添加硬盘查看当前的磁盘容量 此时使用fdisk-l查看并没有发现新增加的5G硬盘  二、查找主机总线编号grepmpt/sys/class/scsi_host/host?/proc_nam......
  • CentOS7官网详细下载教程
    进入CentOS官网下载,我是Windows操作系统,选择的是x86_64(点击x86_64)这里随便选择一个下载源,我选的是:http://mirrors.nju.edu.cn/centos/7.9.2009/isos/x86_64/进入下载源......