您的当前位置:首页 --> CentOS入门
Centos下openvpn实现两地内网互访
浏览次数:9686 关键词 ( 两地  内网  Centos  openvpn  )

利用OPENVPN实现两地内网互访(一) 主服务器配置
主服务器配置

要实现的功能:

深圳:
主VPN服务器:dns.dog.com

外网ip-eth1:192.168.68.71
内网ip-eth0:10.1.1.254


广州:
VPN服务器:lvs1.dog.com

外网ip-eth1:192.168.68.73
内网ip-eth0:10.1.2.1

外地客户端:
192.168.68.79

深圳 ---广州隧道分别用虚拟IP : 10.8.0.1  和 10.8.0.2
深圳 ---外地PC1 分别用虚拟IP: 10.9.0.1   和 10.9.0.2

------------------------------------------------------------------------------------

首先我们先实现深圳公司到广州公司两地的内网互访
10.8.0.1

一,|配置主VPNSERVER dns.dog.com:

1.首先下载和安装 OPENVPN 和lzo 两个软件
openvpn:http://down.51cto.com/data/191331
lzo: http://down.51cto.com/data/191333

安装:
解压到/usr/src 下然后进入目录
./configure && make  && make install  

两个都这样安装就可以了

2.配置OPENVPN 软件
首先设置快捷启动

#cp /usr/src/openvpn-2.0.9/sample-config-files/openvpn.init /etc/init.d/openvpn
#chkconfig --add openvpn
#chkconfig  openvpn on

2.开启路由并做SNAT转换
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

# sysctl -p

#iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.68.72

3.配置环境变量:

#cd /usr/src/openvpn-2.0.9/
#cd /usr/src/openvpn-2.0.9/easy-rsa/
#vim vars

修改这几个默认选项

export KEY_COUNTRY=CN
export KEY_PROVINCE=SHENZHEN
export KEY_CITY=SHENZHEN
export KEY_ORG="SHENZHEN.inc"
export KEY_EMAIL="root@dog.com"

#source vars                   会提示要你clean.all
#./clean-all

3.创建证书
#./build-ca
hostname 的选项填上你的主机名就行了,其他都默认回车;
例如dns.dog.com


4.创建算法文件
#./build-dh
........

5.创建主服务器密钥
#./build-key-server  dns

.................
和上面一样 只要填上hostname就可以了,dns.dog.com

下面有两个[y/n]选项,都选"y"


6.创建广州服务器的密钥
#./build-key lvs1

.........................
和上面一样 将hostname 改成广州的主机名 lvs1.dog.com

7.生产tls-auth密钥  主要作用是提供VPN安全验证

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

8.将keys文件夹移动到/etc/openvpn/下
#mkdir -p /etc/openvpn/
#mv keys /etc/openvpn/

9.创建主服务器配置文件
#vim /etc/openvpn/dns_tun0.conf

local 192.168.68.71      --本地IP
port 1194                      --使用的端口
proto udp
dev tun                           --使用tun VPN模式
ca keys/ca.crt
cert keys/dns.crt
key keys/dns.key
dh keys/dh1024.pem
server 10.8.0.0 255.255.255.0              --设定本机为服务器模式,使用10.8.0.0网段
ifconfig-pool-persist ipp.txt
push "route 10.1.1.0 255.255.255.0"          --为广州分公司添加到深圳内网路由
push "route 10.9.0.0 255.255.255.0"          --为广州分公司添加到外地出差pc1的路由
push "dhcp-options DNS 192.168.68.71"    --为客户设定DNS地址,可以设置外网的DNS
route 10.1.2.0 255.255.255.0                       ---为深圳添加到广州内网的路由
client-config-dir ccd
keepalive 10 120
tls-auth keys/ta.key 0                                      
cipher BF-CBC
comp-lzo
max-clients 100                                            ---允许最大并发VPN
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 3
mute 20

10.建立广州公司的ccd配置文件
#mkdir -p /etc/openvpn/ccd
#vim /etc/openvpn/ccd/lvs1.dog.com

iroute 10.1.2.0 255.255.255.0
ifconfig-push 10.8.0.2 10.8.0.1

11.重启VPN服务
#service openvpn restart
#netstat -anp |grep openvpn

可以看到进程

两地内网互访

现在配置广州服务器

1.安装软件。。和主服务器一样 第1,2 步
2.开启路由并做SNAT转换
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

# sysctl -p

#iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.68.73

3.将深圳服务器里面/etc/openvpn/keys/下的 ca.crt     ta.key   lvs1.key   lvs1.crt 拷贝到本机的/etc/openvpn/keys 下没有这目录就新建一个

4.创建广州VPN服务器的配置文件
# vim /etc/openvpn/lvs1.conf

client
dev tun
proto udp
remote 192.168.68.71 1194
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca keys/ca.crt
cert keys/lvs1.crt
key keys/lvs1.key
ns-cert-type server
tls-auth keys/ta.key 1
cipher BF-CBC
comp-lzo
verb 3
mute 20

5.重启VPN服务器
#service openvpn restart

6.查看一下tun0 和路由表
#ifconfig  tun0
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.1        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.68.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.1.1.0        10.8.0.1        255.255.255.0   UG    0      0        0 tun0
10.9.0.0        10.8.0.1        255.255.255.0   UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth0

7.测试是否能ping通主服务器
#ping 10.8.0.1

二。.实现两地内网可以互相访问

深圳内网10.1.1.0   网关10.1.1.254
广州内网10.1.2.0   网关10.1.2.1

内网客户端互ping  对方内网看看
[root@lvs1 ~]# ping 10.1.1.2
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=63 time=2.38 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=63 time=0.632 ms

[root@dns ~]# ping 10.1.2.4
PING 10.1.2.4 (10.1.2.4) 56(84) bytes of data.
64 bytes from 10.1.2.4: icmp_seq=1 ttl=64 time=3.44 ms
64 bytes from 10.1.2.4: icmp_seq=2 ttl=64 time=0.530 ms

本文出自 “小才” 博客,请务必保留此出处http://dogdogcom.blog.51cto.com/2402458/550703



下一条 centos系统中网络配置相关
上一条 Nginx 禁止IP访问及未绑定的域名跳转

数千企业与站长的选择,7*24小时稳定运行

 了解更多套餐详细