网站首页 > 文章教程 正文
安装部署:
CentOS 6.5
软件FQ官网下载
同步系统时间
yum install chrony -y service chronyd start && chronyc sources && chkconfig chronyd on 或 yum install ntpdate -y crontab添加 */1 * * * * /usr/sbin/ntpdate 0.rhel.pool.ntp.org > /dev/null 2>&1 service crond restart
安装依赖包
yum install epel-release -y && echo "sslverify=false">>/etc/yum.conf yum install openssl openssl-devel lzo lzo-devel pam pam-devel pam_mysql automake pkgconfig gcc gcc-c++
安装openvpn
cd /usr/local/src/ tar -zxvf openvpn-2.4.4.tar.gz cd openvpn-2.4.4 ./configure --prefix=/opt/openvpn make && make install cp -a sample/sample-config-files/server.conf /opt/openvpn/ #最好放在/opt/openvpn/下 cp -a distro/rpm/openvpn.init.d.rhel /etc/init.d/openvpn #创建启动脚本 ln -s /opt/openvpn/sbin/openvpn /usr/sbin/openvpn #启动脚本中会用到,也可以不执行此命令,直接在启动脚本中修改 vi /etc/init.d/openvpn #在85行,修改为:work=/opt/openvpn cd /opt/openvpn/ && mv server.conf server.conf.bak vi server.conf #修改配置文件; ';'为注释 port 1195 #使用1195端口 proto tcp #使用tcp传输模式 dev tun #使用tun虚拟网卡设备(还有一种是Tap) ca keys/ca.crt #指定server端证书路径 cert keys/server.crt #指定server端证书路径 key keys/server.key #Thisfile should be kept secret dh keys/dh2048.pem tls-auth keys/ta.key 0 cipher AES-256-CBC server 10.8.0.0 255.255.255.0 #openvpn使用的网络 push "route 10.8.0.0 255.255.0.0" #添加openvpn路由 #push "route 0.0.0.0 0.0.0.0" ifconfig-pool-persist ipp.txt #客户端连入后使用的IP地址池 push "dhcp-option DNS 61.134.1.4" #客户端连入后使用的DNS push "dhcp-option DNS 223.5.5.5" keepalive 10 120 #保持VPN会话 comp-lzo #开启Lzo数据压缩 user nobody group nobody auth-user-pass-verify /opt/openvpn/checkpsw.sh via-env script-security 3 client-cert-not-required #不请求客户的CA证书,使用User/Pass验证,如果同时启用证书和密码认证,注释掉该行 username-as-common-name persist-key persist-tun verb 3 link-mtu 1500 #设置MTU连接数值 status logs/openvpn-status.log log logs/openvpn.log log-append logs/openvpn.log mkdir logs #创建日志目录 mkdir keys #创建key目录 [root@vpn ~]# openvpn --help | grep -A 5 script-security --script-security level mode : mode='execve' (default) or 'system', level= 0 -- strictly no calling of external programs 1 -- (default) only call built-ins such as ifconfig 2 -- allow calling of built-ins and scripts 3 -- allow password to be passed to scripts via env --shaper n : Restrict output to peer to n bytes per second.
安装easy-rsa,用来生成证书和密钥
cd /usr/local/src/ wget http://download.freenas.org/distfiles/easy-rsa-2.2.0_master.tar.gz #http://download.freenas.org/distfiles/ tar -zxvf easy-rsa-2.2.0_master.tar.gz cp -a easy-rsa-2.2.0_master/easy-rsa /opt/openvpn/ cd /opt/openvpn/easy-rsa/2.0/ mv vars vars.bak vi vars #修改配置文件 export EASY_RSA="`pwd`" export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA` export KEY_DIR="$EASY_RSA/keys" echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR export PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" export KEY_SIZE=2048 #修改为2048 export CA_EXPIRE=3650 export KEY_EXPIRE=3650 export KEY_COUNTRY="CN" #以下根据自己情况修改 export KEY_PROVINCE="ShaanXi" export KEY_CITY="XA" export KEY_ORG="yjz" export KEY_EMAIL="xx@yjz.cn" export KEY_CN=yjz export KEY_NAME=yjz export KEY_OU=yjz ln -s openssl-1.0.0.cnf openssl.cnf source vars #全局变量 ##生成证书,以下命令全部一直回车 ./clean-all #清空所有证书(keys目录下) ./build-ca #生成服务器ca证书 ./build-key-server server #生成服务端证书 ./build-dh #生成DH验证文件(dh2048.pem) openvpn --genkey --secret ta.key #降低DDoS风险 ./build-key client #生成客户端证书(建议以使用者命名)
设置外网访问
vim /etc/sysctl.conf #将net.ipv4.ip_forward = 0 改为 1 sysctl -p 配置nat表将vpn网段IP转发到server内网:很重要 iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE #注意接口(eth0)是内网的接口,其它选项不要修改 iptables -A INPUT -p TCP --dport 1195 -j ACCEPT #开启防火墙1195端口 service iptables restart #POSTROUTING需要保存并重启服务才能生效 chkconfig iptables on
启动服务
#拷贝证书到/opt/openvpn/keys目录下 cd /opt/openvpn/easy-rsa/2.0/keys/ cp -a ca.crt server.crt dh2048.pem server.key /opt/openvpn/keys cd .. && cp ta.key /opt/openvpn/keys /etc/init.d/openvpn start chkconfig openvpn on
配置脚本+密码文件控制方式
下载脚本,根据具体配置修改红色部分
http://openvpn.se/files/other/checkpsw.sh #!/bin/sh ########################################################### # checkpsw.sh (C) 2004 Mathias Sundman # # This script will authenticate OpenVPN users against # a plain text file. The passfile should simply contain # one row per user with the username first followed by # one or more space(s) or tab(s) and then the password. PASSFILE="/opt/openvpn/psw-file" LOG_FILE="/opt/openvpn/logs/openvpn-password.log" TIME_STAMP=`date "+%Y-%m-%d %T"` ########################################################### if [ ! -r "${PASSFILE}" ]; then echo "${TIME_STAMP}: Could not open password file \"${PASSFILE}\" for reading." >> ${LOG_FILE} exit 1 fi CORRECT_PASSWORD=`awk '!/^;/&&!/^#/&&$1=="'${username}'"{print $2;exit}' ${PASSFILE}` if [ "${CORRECT_PASSWORD}" = "" ]; then echo "${TIME_STAMP}: User does not exist: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE} exit 1 fi if [ "${password}" = "${CORRECT_PASSWORD}" ]; then echo "${TIME_STAMP}: Successful authentication: username=\"${username}\"." >> ${LOG_FILE} exit 0 fi echo "${TIME_STAMP}: Incorrect password: username=\"${username}\", password=\"${password}\"." >> ${LOG_FILE} exit 1 touch /opt/openvpn/logs/openvpn-password.log chown nobody:nobody /opt/openvpn/logs/openvpn-password.log 密码存放方式 在psw-file里按”用户名[空格或者tab]密码“这种规则方式存放 touch /opt/openvpn/logs/psw-file chown nobody:nobody /opt/openvpn/psw-file cat /opt/openvpn/psw-file test test ipad ipad
windows客户端配置
下载:openvpn-install-2.4.4-I601.exe 点击安装,一直next,默认目录安装即可 一般会安装到 C:/Program Files/OpenVPN/ 目录下 创建client.ovpn文件: client dev tun proto tcp-client remote x.x.x.x 1195 #vpn服务端ip,这里为内网对应的公网IP,路由器映射至内网主机 remote-random resolv-retry infinite nobind persist-key persist-tun ca ca.crt auth-user-pass auth-nocache remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC #保持服务端和客户端一致 comp-lzo status openvpn-status.log 将client.ovpn文件放到C:/Program Files/OpenVPN/config目录下
从VPN服务端下载ca.crt,ta.key证书 将ca.crt,ta.key证书放到C:/Program Files/OpenVPN/config目录下
点击桌面openvpn图标,输入相应的用户名密码即可
猜你喜欢
- 2024-10-13 开源高性能KV数据库(开源数据库引擎)
- 2024-10-13 Openwrt-Luci 开发介绍(二)(openwrt luci教程)
- 2024-10-13 当心!女人的高跟鞋帮助她们入侵了网络
- 2024-10-13 一起玩树莓派3+将树莓派打造成随身WiFi
- 2024-10-13 openwrt patch制作方法(openwrt打patch)
- 2024-10-13 基于OpenWrt系统路由器的模式切换与网页设计
- 2024-10-13 openwrt交叉编译RabbitMQ-C语言客户端(包括普通机器编译过程)
- 2024-10-13 NAS折腾记——群晖——ipv6——OpenWrt
- 2024-10-13 Nmap使用完全教程(典藏版)之——Nping常用命令大全
- 2024-10-13 记录一下Openwrt产品定制开发过程,(一) 环境配置和目录结构说明
你 发表评论:
欢迎- 最近发表
-
- 水产养殖为什么重视VC补充?原因你都清楚吗?“小维C大作用”
- 杨鸣总决赛挖奇阵!五人都能自主进攻+传球能力,新疆根本防不住
- 31分钟砍0分3犯!张镇麟看着这数据懵了:CBA最水MVP是他?
- GK粉丝也开始输不起了?攻击解说琪琪穿着,网友:GK被瓣姐入侵了
- 联盟表态了!不是戈贝尔的黄油手,森林狼不至于被淘汰?
- 天王山惨败!辽宁震撼宣布李晓旭伤情,郭艾伦紧急回应,杜锋受罚
- 狂轰38 4 4!超级四巨头,居然要靠他来赢,难怪都不看好你们夺冠
- 老两口分床睡,分厕用?#老年生活(分床睡老人最佳年龄)
- 想要养好鱼,得定期补充维生素C!(鱼一般需要补充哪种维生素)
- 心理学家:机器人的性与爱(机器人与人的爱情)
- 标签列表
-
- 代码随想录pdf (62)
- 前端表白代码 (57)
- org.apache.http.httpentity (55)
- freecommander (60)
- lambdawrapper (76)
- linuxjdk1.8安装教程 (82)
- su一键封面插件 (59)
- 威纶通触摸屏官网下载 (62)
- netframework4.7.2 (63)
- xshell有mac版本吗 (54)
- gugeliulanqi1 (53)
- icmp报文格式 (69)
- spire.presentation (79)
- burpsuite中文版 (63)
- 网页批量打开 (64)
- android源码在线 (63)
- wpsvba支持库下载 (55)
- cad图框模板免费下载 (62)
- inter官网驱动 (57)
- windowsmediaformat9.5下载 (52)
- sqlserver连接工具 (63)
- 文库下载工具 (67)
- mat内存分析工具 (67)
- photoshop6.0下载 (53)
- windowsserver2012下载 (57)
本文暂时没有评论,来添加一个吧(●'◡'●)