Skip to content

Linux下安装Openvpn Server环境实战

如上图:

是我用Vmware Workstation模拟出来的一个VPN环境,其中主机参数如下:

LAN WEB SERVER : Win Server 2008 (IIS)    10.1.1.11

VPN  SERVER : Centos 6.X(Openvpn 2.3.X)  10.1.1.10(LAN)   10.1.2.10(WAN)

WAN Client PC:Windows 7 (Openvpn Client) 10.1.2.11

目的: 

客户端通过VPN连接到VPN Server,然后使之能够访问到内部的WEB 服务,实际生产环境中应用大同小异。

配置: 

LAN WEB Server 只需搭建一个简单的IIS服务即可,能够有一个简单的WEB页面用来测试,当然这里也可以用其他的服务或系统代替;

WAN Client 则只要安装一个Openvpn Client就可以了;

下面重点说一下VPN SERVER中 openvpn的实现过程与配置

Centos 6.x install Openvpn Server:

1.安装epel源和openvpn

https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh epel-release-latest-6.noarch.rpm
yum install openvpn easy-rsa -y

2.使用easy-rsa生成密钥和证书

mkdir /etc/openvpn/easy-rsa
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
cd /etc/openvpn/easy-rsa/

vim vars  #根据自己情况修改文本中下面的这些内容
export KEY_COUNTRY="CN"    #国家
export KEY_PROVINCE="BJ"   #省份
export KEY_CITY="BeiJing"  #城市
export KEY_ORG="personal"  #组织
export KEY_EMAIL="admin@fandenggui.com" #邮箱
export KEY_OU="myserver"  #单位

source ./vars #加载vars参数到当前环境中
./clean-all   #第一次使用时需要执行,会在当前目录中建立keys目录 
./build-ca    #建立ca证书
./build-key-server server  #建立服务器证书
./build-key client  #建立客户端证书
./build-dh  #为OpenVPN服务端生成 Diffie Hellman 参数

3.配置服务器配置文件

cp /usr/share/doc/openvpn-2.3.7/sample/sample-config-files/server.conf /etc/openvpn/
cd /etc/openvpn
mkdir log  #在当前目录下创建log目录,用于存放openvpn中的log文件

vim server.conf  #egrep -v "#|;|^$" server.conf过滤结果如下
port 1194
proto tcp
dev tun
ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/server.crt
dh easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.1.1.0 255.255.255.0"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status log/openvpn-status.log
log         log/openvpn.log
log-append  log/openvpn.log
verb 3   

 iptables配置

iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #开启ssh端口
iptables -P INPUT DROP 
iptables -P FORWARD DROP 
iptables -P OUTPUT ACCEPT 
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #保持已经建立的连接
iptables -A INPUT -p tcp --dport 1194 -j ACCEPT  #允许openvpn的端口连接 
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE #将所有10.8.0.0网段的包转发到eth0口
iptables -A FORWARD -i tun+ -j ACCEPT #添加FORWARD白名单
iptables -A INPUT -s 10.8.0.0/24 -j ACCEPT #允许虚拟网段的所有连接

系统网络路由配置

echo "1" > /proc/sys/net/ipv4/ip_forward  #这个方式是临时生效
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1  #更改这个条目,保存退出;
sysctl -p  #使之生效

客户端连接

WIN7下,安装Openvpn客户端后,从服务器上面Down下来ca.crt、client.crt、client.key、client.ovpn到Openvpn Client安装路径下的config目录下。(默认是c:\Program Files\OpenVPN\config)

PS:其中ovpn模板配置文件:cp /usr/share/doc/openvpn-2.3.7/sample/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn

Published in系统运维

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据