OpenVPN服务器搭建 ubuntu16.04

OpenVPN服务器搭建教程

环境:

Ubuntu16.04 32/64 bit

防火墙配置:开放udp 1194端口


参考链接:

OpenVPN官网:https://openvpn.net/

https://cndaqiang.github.io/2017/09/27/ubuntu1604-openvpn/

//www.greatytc.com/p/641e74aa9876


应用:远程访问项目地ubuntu系统(默认配置静态IP地址)


开始搭建:

注:以下操作均在root用户下操作。后续操作可直接复制到文件中,运行文件即可一键配置安装。


#!/bin/bash

# 在root用户下操作

# 更新ubuntu系统中的软件包

apt-get update

# 安装证书生成软件

apt-get install openvpn easy-rsa

# 证书制作

#复制证书制作工具到文件夹(该文件夹应该不存在,复制后自动创建该文件夹),make-cadir为easy-rsa安装后增加的命令 证书的制作没有必要root权限,懒得退了就用root用户制作了

make-cadir /etc/openvpn/ca

cd /etc/openvpn/ca

# 载入环境变量

source vars

# CA证书

# CA数字证书认证机构,负责颁发证书,用于openvpn服务器和客户端的认证

# 清除keys目录下所有与证书相关的文件

./clean-all

# ./build-ca 后一直回车确认,或者./build-ca --batch保持默认设置,无须回车确认 之后证书的制作命令,直接按照添加--batch执行,也可不添加,不再单独说明

# 生成根证书ca.crt和根密钥ca.key (一路按回车即可)

./build-ca --batch

# 为服务端生成证书和私钥

./build-key-server  --batch server

# 创建Diffie-Hellman密钥,会生成dh2048.pem文件(生成过程比较慢,在此期间不要去中断它)

./build-dh

# 生成ta.key文件(防DDos攻击、UDP淹没等恶意攻击),生成HMAC签名加强TLS认证

openvpn --genkey --secret keys/ta.key

# 客户端证书

# 每一个登陆的VPN客户端需要有一个证书

# 为客户端生成证书和私钥

./build-key --batch client

# 进入客户端证书和私钥所在目录

cd /etc/openvpn/ca/keys

# 复制证书文件到/etc/openvpn 当前目录是/etc/openvpn/ca/keys,所以../../就是配置目录

cp ca.crt ca.key server.crt server.key ta.key dh2048.pem ../../

cd ../../

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz .

gzip -d server.conf.gz

ls -l

# 创建用户配置文件夹/etc/openvpn/ccd

mkdir /etc/openvpn/ccd

# 创建生成客户端文件夹

mkdir /root/client

#修改服务端配置文件

# 配置openvpn服务器和客户端之间的网段(此处配置客户端网段)

sed -i 's/server 10.8.0.0 255.255.255.0/server 2.2.0.0 255.255.255.0/g' /etc/openvpn/server.conf

# 指定用户配置文件夹

sed -ie 's/;client-config-dir ccd/client-config-dir ccd/g' /etc/openvpn/server.conf

# 设置传输密码

sed -i 's/;cipher DES-EDE3-CBC  # Triple-DES/cipher AES-256-CBC/g' /etc/openvpn/server.conf

# 关闭压缩传输功能

sed -i 's/comp-lzo/;comp-lzo/g' /etc/openvpn/server.conf

# log"将在OpenVPN启动时截断日志文件

sed -i 's/;log/log/g' /etc/openvpn/server.conf

# "log-append"将追加它

sed -i 's/;log-append/log-append/g' /etc/openvpn/server.conf

# 配置客户端之间可以互相通讯

sed -i 's/;client-to-client/client-to-client/g' /etc/openvpn/server.conf

# 启动openvpn服务端

service openvpn@server start

# 停止openvpn服务端

#service openvpn@server stop

# 重启openvpn服务端

#service openvpn@server restart

# 查看是否有新的IP地址

ifconfig

# 客户端配置文件制作

cd /etc/openvpn/ca/keys

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf .


#此处配置公网IP地址##################################################

# 修改客户端配置文件

# 修改客户端所使用的的公网IP地址

sed -i 's/remote my-server-1 1194/remote 公网IP 1194/g' /etc/openvpn/ca/keys/client.conf

# 修改证书默认路径为当前文件

sed -i 's/ca ca.crt/ca [inline]/g' /etc/openvpn/ca/keys/client.conf

# 修改私钥默认路径为当前文件

sed -i 's/cert client.crt/cert [inline]/g' /etc/openvpn/ca/keys/client.conf

# 修改私钥默认路径为当前文件

sed -i 's/key client.key/key [inline]/g' /etc/openvpn/ca/keys/client.conf

# 修改证书默认路径为当前文件

sed -i 's/;cipher x/cipher AES-256-CBC/g' /etc/openvpn/ca/keys/client.conf

# 修改取消数据传输压缩功能

sed -i 's/comp-lzo/#comp-lzo/g' /etc/openvpn/ca/keys/client.conf


#批量制作vpn客户端脚本文件和静态IP地址分配表,最多支持63个客户端

cd /etc/openvpn/ca/

source ./vars

for i in $(seq 1 63)

do

var=$(printf 'cli%03d' $i)

./build-key --batch $var

cat /etc/openvpn/ca/keys/client.conf <(echo -e '<ca>') /etc/openvpn/ca/keys/ca.crt <(echo -e '</ca>\n<cert>') /etc/openvpn/ca/keys/$var.crt <(echo -e '</cert>\n<key>') /etc/openvpn/ca/keys/$var.key <(echo -e '</key>\n') > /root/client/$var.ovpn

b=4

a1=`expr $i \* $b + 1`

a2=`expr $a1 + 1`

echo "a * b : $a1,$a2"

var1=2.2.0.$a1

var2=2.2.0.$a2

echo "a * b : $var1 $var2"

echo -e ifconfig-push $var1 $var2 >> /etc/openvpn/ccd/$var

done

后续复制/root/client中的客户端文件即可使用。


注:可将上述文件配置直接复制到文件中,运行即可一键安装。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容