利用OPEN×××实现两地内网互访(一) 主服务器配置
要实现的功能:
深圳:
主×××服务器:dns.dog.com
外网ip-eth1:192.168.68.71
内网ip-eth0:10.1.1.254
广州:
×××服务器: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
一,|配置主×××SERVER dns.dog.com:
1.首先下载和安装 OPEN××× 和lzo 两个软件
openvpn:
http://down.51cto.com/data/191331
lzo:
http://down.51cto.com/data/191333
安装:
解压到/usr/src 下然后进入目录
./configure && make && make install
两个都这样安装就可以了
2.配置OPEN××× 软件
首先设置快捷启动
#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密钥 主要作用是提供×××安全验证
#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 ×××模式
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 ---允许最大并发×××
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.重启×××服务
#service openvpn restart
#netstat -anp |grep openvpn
可以看到进程
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.创建广州×××服务器的配置文件
# 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.重启×××服务器
#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
openvpn实现两地内网互访(三)出差客户端访问内网
一。在深圳服务器的配置
1,配置环境变量
#cd /usr/src/openvpn-2.0.9/easy-rsa/
#source vars
#export KEY_DIR=/etc/openvpn/keys/
2.建立深圳服务器和pc1的隧道
#./build-key client-pc1
.................+.......
只需要修改hostname 为client-pc1.dog.com
其他默认和前面一样[y/n] 选y
#vim /etc/openvpn/dns_tun1.conf
local 192.168.68.71
port 1195 ---这个用1195端口
proto udp
dev tun
ca keys/ca.crt
cert keys/dns.crt
key keys/dns.key
dh keys/dh1024.pem
server 10.9.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.1.1.0 255.255.255.0"
push "route 10.1.2.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
push "dhcp-options DNS 202.106.0.20"
client-to-client
client-config-dir ccd
keepalive 10 20
tls-auth keys/ta.key 0
cipher BF-CBC
comp-lzo
max-clients 10
user nobody
group nobody
persist-key
persist-tun
status openvpn-status-2.log
log-append openvpn-2.log
verb 3
mute 20
3.建立PC1的ccd
[root@dns ~]# vim /etc/openvpn/ccd/client-pc1.dog.com
ifconfig-push 10.9.0.2 10.9.0.1
4.重启vpn
#service openvpn restart
二。外地出差客户端配置:XP为例
1.安装软件:
openvpn-2.0.9-gui-1.0.3-install.exe
下载地址
http://down.51cto.com/data/191334
双击安装,安装过程中有个选项的窗口 将openvpn server的勾去掉就可以了。
2.从深圳主服务器拷贝几个文件过来
keys下的 ca.crt ta.key client-pc1.key client-pc1.crt
拷贝到C:\Program Files\Open×××\config 下(默认安装路径)
然后用记事本在C:\Program Files\Open×××\config 下建立以个名为client.opvn 文件
内容为:
client
dev tun
proto udp
remote 192.168.68.71 1195
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client-pc1.crt
key client-pc1.key
ns-cert-type server
tls-auth ta.key 1
cipher BF-CBC
comp-lzo
verb 3
mute 20
这时候桌面右下角有个红色的电脑图标,右击图标 选connect就可以连接了
好,这时候可以直接在PC上访问10.1.1.0 10.1.2.0 的网段了。
本文出自 “
小才
” 博客,请务必保留此出处
http://dogdogcom.blog.51cto.com/2402458/550687