Cent os 6.4 OpenVpn 搭建

应公司业务部门要求,需要将公司内部的内网IP服务器与公司机房外网服务器进行链接。搭建VPN

内网IP是172.16.16.101 172.16.16.102 172.16.16.103 3台

外网IP是221.122.127.* 114.113.233.* 2台 这里的*是个数字

下面是搭建过程——



server配置

openvpn2.2.2.tar.gz下载地址http://download.csdn.net/download/jonnter/9279577
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz
解压到/usr/local/src/
安装lzo 
./configure
make && make install
安装openvpn
./configure
make && make install
创建openvpn配置文件目录
mkdir /etc/openvpn
cp -ra /usr/local/src/openvpn-2.2.2/easy-rsa/ /etc/openvpn/ 将模版考过来,默认/etc/openvpn是没有文件的
cd /etc/openvpn/easy-rsa/2.0
chmod +x * 加上可执行权限

vim vars 这里修不修改无所谓

export KEY_COUNTRY="CN"
export KEY_PROVINCE="BJ"
export KEY_CITY="BeiJing"
export KEY_ORG="emarbox test"
export KEY_EMAIL="[email protected]"

./build-ca     用于生成root证书颁发client证书准备一路回车即可
ls keys/
ca.crt ca.key已生成

./build-dh   vpnserver用到此证书
ls keys/
dh1024.pem index.txt serial

./build-key-server server       为服务器生成密钥和证书 #server是名称 提示有Y的地方输入Y回车

./build-key    client     为客户端生成证书  #client是名称,自己可以修改,比如说./build-key 101  这里生成的就是101.key 101.crt都是客户端使用的,一个客户端只能使用一个。

下面是我server的配置文件

vim /etc/openvpn/server.conf

port        1194
proto       tcp
mode        server
tls-server
dev         tun
ca          /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert        /etc/openvpn/easy-rsa/2.0/keys/server.crt
key         /etc/openvpn/easy-rsa/2.0/keys/server.key
dh          /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server      192.168.100.0 255.255.255.0
push        "route 192.168.100.0 255.255.255.0"
#push        "redirect-gateway def1 bypass-dhcp"
#push        "dhcp-option DNS 8.8.8.8"
log         /var/log/openvpn.log
keepalive   10 120
verb        3
client-to-client
comp-lzo
persist-key
persist-tun

server 端开启服务 /etc/init.d/openvpn start

解释

port 1194   (这里设定的监听端口,默认是1194)

proto tcp (设定在传输层使用的协议,这里设定为默认的UDP协议,我修改为tcp)
dev tun(设定传输设备节点。如提示信息,tun是一个三层设备,tap是一个二层设备。而这里我们要的是IP路由,是三层的方式,因此选择tun)

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
#设定根证书CA、服务器证书、以及服务器密钥文件的位置
server 192.168.100.0 255.255.255.0 设定Server端虚拟出来的VPN网段【开启服务之后,ifconfig可以看见tun0接口】
push “route 192.168.100.0 255.255.255.0″设定Push路由。当Client连接Server的时候,自动会得到这些路由条目并添加到它们的路由表中,由于是Server那里传过来的,因此叫Push路由。当Client从Server处断开的时候这些Push路由将自动在Client的路由表中删除。一个需要提醒注意的地方就是既然是加入路由,那么必须要填写的是”route 网段 子网掩码”的格式,如果不是像第三条那样是添加针对某一个主机的路由的话,那么一定要写的是网段!如果要针对一个目的网段的路由,而却写的是主机地址的话,那么这个Push路由将失败
client-to-client设定接入的Client之间能够被允许互相访问,默认情况下接入的Client是不能互相访问的。如果需要使它们互相访问的话请去掉默认的注释
keepalive 10 120(设定保活参数。这里的意思是每10秒钟通过Ping来确定Client是否存活,当然这个Ping的进行是在虚拟通道中而不是在真实外部链路上的,超过120秒无反馈表示丢失该Client
comp-lzo使用Lzo功能对虚拟链路进行压缩。如果Server端开启的话,那么连接它的Client端也要在配置文件中开启
persist-key 设定连接保持密钥功能。在由于keepalive检测超时后而重新启动VPN的情况,不重新读取keys,而保留第一次使用的keys
persist-tun设定连接保持在线功能。在由于keepalive检测超时后而重新启动VPN的情况,一直保持tun或者tap设备是linkup的,否则网络连接会先linkdown然后linkup
log         /var/log/openvpn.log (设定OpenVPN的服务日志路径。注意,如果更改过OpenVPN服务宿主用户的话,请记得这里将此文件赋予宿主用户一定的权限
verb 3

客户端配置

客户端上在/etc/openvpn下面创建客户端配置文件就可以

ht16  ht16.ovpn  lgq118  lgq118.ovpn这是我创建的2个配置文件与存放证书的目录,把每个服务器生成的文件都放在都应的目录下,方便管理。

下面是写好的一个配置文件

vim /etc/openvpn/ht16.conf

client
dev tun
proto tcp
tls-client
remote 221.122.127.* 1194 这里的*是个数字
resolv-retry infinite
nobind
mute-replay-warnings
#redirect-gateway
ca /etc/openvpn/ht16/ca.crt
cert /etc/openvpn/ht16/103.crt
key /etc/openvpn/ht16/103.key
comp-lzo
verb 4

启动命令 openvpn /etc/openvpn/ht16.ovpn > /dev/null & 在后台运行,加上/dev/null 防止有输出,影响系统

将服务器上的证书与client的key文件拷贝过来,到对应的目录下

CA证书文件               (我这里是ca.crt ca.key)
Client证书文件           (我这里是103.crt)
Client密钥文件            (我这里是103.key) 
Client的SSL证书请求文件  (我这里是103.csr)

client(声明这个配置文件作用于客户端)
dev tun(使用tun三层虚拟连接设备)
proto tcp(使用tcp协议)
remote 221.122.127.* 1194 设定远程Server的IP地址和端口,这里要和Server对应起来
resolv-retry infinite(始终重新解析Server的IP地址,如果remote后面跟的是域名,保证Server IP地址是动态的使用DDNS动态更新DNS后,Client在自动重新连接时重新解析Server的IP地址,这样无需人为重新启动,即可重新接入VPN)
nobind(表示Client端不像Server端那样需要开放特定的端口,nobind的意思就是Client的不绑定特定的监听端口)
ca /etc/openvpn/ht16/ca.crt
cert /etc/openvpn/ht16/103.crt
key /etc/openvpn/ht16/103.key(设定CA证书、Client证书以及Client密钥文件的路径。与之前我Server端的配置不同,这里我没有写绝对路径而只是写了一些文件名。这是因为我使用了默认的OpenVPN的主路径/etc/openvpn/。如果不是使用默认路径而是定制更改了这些文件的位置的话,那么就需要注上详细的绝对路径了)
comp-lzo
verb 4  (Debug等级)

openvz 内的vps不能搭建open vpn,解决办法

在openvz虚拟机上搭建openvpn

在openvz宿主机上输入下面命令

[[email protected] easy-rsa]# modprobe tun 开启tun模块
[[email protected] easy-rsa]# vzlist 查看开启的虚拟机CTID
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
     10101         98 running   192.168.6.171   htstorm6171
    187172         49 running   192.168.6.172   htyqfstorm6172查看虚拟机对应的CTID
vzctl set $CTID --devnodes net/tun:rw --capability net_admin:on --save提示成功就OK了,$CTID 改为CTID的数字号就可以

windows openvpn客户端,去百度下载
安装到D盘
安装目录D:\Program Files (x86)\OpenVPN
客户端配置文件目录
D:\Program Files (x86)\OpenVPN\sample-config\client.ovpn
把客户端配置文件复制粘贴到D:\Program Files (x86)\OpenVPN\config
把Linux上生成的客户端key文件下载到本地,同样放到D:\Program Files (x86)\OpenVPN\config
修改配置文件,用记事本打开
remote openvpn服务器的IP 1194 (例子remote 101.200.236.24 1194)
proto udp改成proto tcp

保存配置文件,然后打开openvpn

会在开始菜单右侧有图标,鼠标双击

注意:可以使用多个服务端,多加配置文件就可以,服务器生成好文件要重启。客户端不能使用相同的客户端key文件


IT交流群144486234

时间: 2024-08-05 11:16:47

Cent os 6.4 OpenVpn 搭建的相关文章

【技术宅拯救世界】在Windows Server2012上利用OpenVPN搭建自己的VPN服务器

写在前面的话:前段时间利用VPN免流特别火,我本来打算买一个,但后来发现其实都是用的OpenVPN搭建的,正好我手上有一个腾讯的云服务器,我一想不如就自己搭建一个吧,省点钱,结果就这样浪费了两天的时间,最大的问题在于网上关于用windows server搭建的教程异常的少,大部分都是cent os并且是脚本搭建的,我看了好多,看得我一头雾水...总算在我折腾服务器两天之后建好了属于自己的第一个VPN服务器,但是免流那块,四川联通失败,浪费了我两天的时间,但是为了避免以后搭建再次搭建VPN时发生问

cent os下搭建简单的服务器

作为常和网络打交道的程序员,经常会遇到需要服务器的场合,比如搭建一个web服务器,一个代理服务器,又或者一个小型的游戏服务器. 我时常和朋友一起玩一款叫我的世界的游戏,为了能够长期稳定地联机玩,所以特地买了一个服务器.因为windows作为服务器系统,不如Linux稳定,而且linux可以不用GUI界面,内存占用非常小,这样就能让更多的朋友同时在线.相互比较,我选择了Cent OS系统. Cent OS作为一个网络服务器是非常优秀的,稳定而且强大.废话不多说,我们第一步来搭建一个我的世界服务器.

寒城攻略:Listo 教你Linux Cent OS 服务器从搭建到配置

曾经也用过 Linux 服务器,也搭建过,一直浑浑噩噩的,但是今天突然帮朋友搭建一个服务器并使用,还是发现了很多问题,所以写一个详细的技术攻略供未来的朋友遇到问题后参考. 首先考虑到看这篇攻略的朋友可能层次都不同,所以 Listo 个人还是有强迫症的,我就从一个新手的角度来讲解服务器的使用. 首先 Listo 用的阿里云的服务器,这个大家可以去注册阿里云账号购买服务器即可.这里值得一提的是一个很重要的问题,就是各位购买服务器的朋友一定要记得在购买设置配置的时候要买公网 IP,这个很重要,公网和内

VMware NAT模式 Cent OS IP配置

1:首先VMware 桥接模式 CentOS ip 配置,关键点,ip的网关和DNS1设置成宿主机的网关和DNS 原理:桥接的模式就是通过物理网卡实现的. 2:以图展示VMware NAT模式 Cent OS ip 配置: 找网关ip NAT设置 ip配置: ping 外网:

二、cent OS安装配置tomcat

下载tomcat的tar包http://tomcat.apache.org/download-80.cgi 确保安装前已经安装JDKjava -version如果没有安装可以参考上一篇文章:http://www.cnblogs.com/lay2017/p/7442217.html 上传tar到cent OS服务器scp -P 22 本地文件地址 用户名@IP地址:服务器存放地址 解压tar -zxvf tomcat8.5.20.tar.gz 新建目录mkdir /laycloud/tomcat_

Cent OS 6.5 vsftp 安装和配置

Vsftpd 简称:Very secure ftp 是一个比较安全的ftp server,具有许多功能和特点. 功能和特点: 1.它是一个安全.高速且稳定的服务器. 2.可以设置多个基于IP地址的虚拟FTP主机. 3.设定匿名FTP服务非常简单. 4.不用执行任何外部程序,从而减少安全隐患. 5.支持虚拟用户. 6.支持带宽限制. Vsftpd 安装和配置 安装环境:Cent OS 6.5 server 禁用 SElinux. 安装: #yum install -y vsftpd       V

一、cent OS安装配置JDK

到oracle官网下载JDKhttp://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 在cent OS系统上检测本机是否安装了JDK命令:java -version 将JDK上传到cent OS命令:scp -P 22 本地文件地址 用户名@IP地址:服务器存放地址 解压缩tar -zxvf jdk-8-x64.tar.gz 创建一个新目录mkdir /laycloud/java 将文件移动到新目录

在 Cent OS 6.5 中安装桌面环境

在 Cent OS 6.5 中,安装桌面环境,需要安装以下组 yum groupinstall -y   "Desktop"   "Desktop Platform"   "Desktop Platform Development" "Fonts" "General Purpose Desktop" "Graphical Administration Tools" "Graph

Cent OS 命令行和窗口界面默认登录切换方法

在 CentOS 中的修改方法如下: 1. root登陆,免得老是sudo 2. 打开/etc/inittab 文件     #vim /etc/inittab 3. 在默认的 run level 设置中,可以看到第一行书写如:      id:5:initdefault:(默认的 run level 等级为 5:即图形模式 3:即命令行模式) 4. 将第一行的 5 修改为 3 即可. 5. 保存文件后重启系统你就可以看见是启动的文本界面了. Cent OS 命令行和窗口界面默认登录切换方法,布