Cenos6.4配置openvpn服务器(桥接模式)

1. openvpn服务端

1.1 安装openvpn

#yum install openvpn

#cp /usr/share/doc/openvpn-2.3.6/sample/sample-config-files/server.conf  /etc/openvpn/


1.2 下载 easy-ras,制作证书。

用来制作ca证书,服务端证书,客户端证书,openvpn2.3.0该版本源码不包含easy-rsa,所以需要单独下载安装用来配合openvpn实现证书生成。

#mkdir -p /etc/openvpn/easy-rsa/keys

#tar zxvf /install/easy-rsa-2.2.0_master.tar.gz

#cp /install/easy-rsa-2.2.0_master/easy-rsa/2.0/*  /etc/openvpn/easy-rsa

#vim /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="CN"

export KEY_PROVINCE="BJ"

export KEY_CITY="Beijing"

export KEY_ORG="****"

export KEY_EMAIL="***@163.com"

export KEY_EMAIL=***@163.com

#cd /etc/openvpn/easy-rsa

#source ./vars

 #./clean-all 

#./bulid-ca

现在,我们有CA了,我们将创建OpenVPN服务器证书。密码设置为空

#./build-key-server server

我们也需要生成使用内建DH脚本,我们的Diffie Hellman密钥交换文件和所有的文件复制到/etc/openvpn下

#./build-dh

#cd keys

#cp dh1024.pem ca.crt server.crt server.key /etc/openvpn/

为了让客户端进行身份验证,我们需要创建客户端证书。您可以重复为每个客户端或设备产生一个唯一的证书和密钥。如果你规划超过一对以上的密钥对,一定要使用描述清楚文件的名字。

#cd /etc/openvpn/easy-rsa

#./build-key client

# tar keys.tar keys  #打包后放到vpn客户端上


1.3 配置路由转发

vim /etc/sysctl

net.ipv4.ip_forward = 1

sysctl -p


1.4 配置防火墙

iptables -A INPUT -p TCP –dport 1194 -j ACCEPT

设置nat转发,保证VPN地址池可路由出外网

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o em1 -j MASQUERADE


1.5 配置openvpn

#mkdir -p /var/log/openvpn/

#cat /etc/server.conf

port 1194

proto tcp

dev tap0  #桥接使用,非桥接可设置为tun

ca ca.crt

cert server.crt

key server.key  # This file should be kept secret

dh dh1024.pem

ifconfig-pool-persist ipp.txt

server-bridge 192.168.1.102 255.255.255.0 192.168.1.110 192.168.1.120  #使用桥接,ip 192.168.1.102

client-to-client

keepalive 10 120

comp-lzo

persist-key

persist-tun

status /var/log/openvpn/openvpn-status.log

log /var/log/openvpn/openvpn.log

log-append  /var/log/openvpn/openvpn.log

verb 3

#cp /usr/share/doc/openvpn-2.3.6/sample/sample-scripts/bridge-* /etc/openvpn/

#chmod a+x /etc/openvpn/bridge-*

# vim /etc/openvpn/bridge-start

eth="em3"  #使用物理网卡em3做桥接

eth_ip="192.168.1.102"  #桥接ip

eth_netmask="255.255.255.0"

eth_broadcast="192.168.1.255"



#./bridge-start

#/etc/init.d/openvpn start

#ifconfig

br0       Link encap:Ethernet  HWaddr A2:A6:4F:BB:EF:D1  

          inet addr:192.168.1.102  Bcast:192.168.10.255  Mask:255.255.255.0

          inet6 addr: fe80::a0a6:4fff:febb:efd1/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:441 errors:0 dropped:0 overruns:0 frame:0

          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:27648 (27.0 KiB)  TX bytes:1296 (1.2 KiB)

em3       Link encap:Ethernet  HWaddr F8:BC:12:4A:DE:82  

          inet6 addr: fe80::fabc:12ff:fe4a:de82/64 Scope:Link

          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1

          RX packets:1919 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2012 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:366467 (357.8 KiB)  TX bytes:142896 (139.5 KiB)

          Interrupt:34 

tap0      Link encap:Ethernet  HWaddr A2:A6:4F:BB:EF:D1  

          inet6 addr: fe80::a0a6:4fff:febb:efd1/64 Scope:Link

          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1

          RX packets:285 errors:0 dropped:0 overruns:0 frame:0

          TX packets:18 errors:0 dropped:20 overruns:0 carrier:0

          collisions:0 txqueuelen:100 

          RX bytes:24208 (23.6 KiB)  TX bytes:1370 (1.3 KiB)


2. openvpn客户端

Windows安装文件为openvpn-install-2.3.4-I001-x86_64

按照提示完成安装。

在openvpn按照目录下,找到config文件夹。把刚才打包的keys.tar.gz下载下来,并将包内ca.crt、client1.crt、client1.key复制到config下,然后创建client.ovpn文件,内容如下:

client

dev tap   //桥接模式使用,默认tun      

proto tcp         

remote vpn外网ip 1194   

resolv-retry infinite

nobind

persist-key

persist-tun

ca ca.crt                  

cert client.crt   

key client.key  

comp-lzo    

verb 3

连接:在右下角的openvpn图标上右击,选择“Connect”,若能正常分配IP,则连接成功。

获取到内网ip 192.168.1.110

测试:

ping  vpn server 内网ip192.168.1.102,成功。

ping   其他服务器内网ip 192.168.1.100,成功。(需要关闭vpn server 端的防火墙,还没找到原因。


3. 常见问题

openvpn 连接后不能上网 

vi /etc/openvpn/server.conf

找到以下类型语句:   

push "redirect-gateway def1 bypass-dhcp"

push "route 192.168.1.0 255.255.255.0"

push "dhcp-option DNS 208.67.222.222"

把它们注释掉

;push "redirect-gateway def1 bypass-dhcp"

;push "route 192.168.1.0 255.255.255.0"

;push "dhcp-option DNS 208.67.222.222"

意思是不要重建client的网关 路由 DNS。

重启openvpn服务器:

service openvpn restart

搞定。


本文出自 “jamp” 博客,请务必保留此出处http://3619523.blog.51cto.com/3609523/1625591

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。