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

要实现的功能:

155929675.jpg

深圳:
主×××服务器: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 两个软件
open***:http://down.51cto.com/data/191331
lzo: http://down.51cto.com/data/191333

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

两个都这样安装就可以了

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

#cp /usr/src/open***-2.0.9/sample-config-files/open***.init /etc/init.d/open***
#chkconfig --add open***
#chkconfig open*** 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/open***-2.0.9/
#cd /usr/src/open***-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密钥 主要作用是提供×××安全验证

#open*** --genkey --secret keys/ta.key

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

9.创建主服务器配置文件
#vim /etc/open***/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 open***-status.log
log-append open***.log
verb 3
mute 20

10.建立广州公司的ccd配置文件
#mkdir -p /etc/open***/ccd
#vim /etc/open***/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 open*** restart
#netstat -anp |grep open***

可以看到进程

 

open***实现两地内网互访(二) 两地内网互访

 

现在配置广州服务器

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/open***/keys/下的 ca.crt ta.key lvs1.key lvs1.crt 拷贝到本机的/etc/open***/keys 下没有这目录就新建一个

4.创建广州×××服务器的配置文件
# vim /etc/open***/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 open*** 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

open***实现两地内网互访(三)出差客户端访问内网

一。在深圳服务器的配置

1,配置环境变量
#cd /usr/src/open***-2.0.9/easy-rsa/
#source vars
#export KEY_DIR=/etc/open***/keys/


2.建立深圳服务器和pc1的隧道

#./build-key client-pc1

.................+.......
只需要修改hostname 为client-pc1.dog.com
其他默认和前面一样[y/n] 选y

#vim /etc/open***/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 open***-status-2.log
log-append open***-2.log
verb 3
mute 20

3.建立PC1的ccd
[root@dns ~]# vim /etc/open***/ccd/client-pc1.dog.com
ifconfig-push 10.9.0.2 10.9.0.1

4.重启***
#service open*** restart


二。外地出差客户端配置:XP为例

1.安装软件:
open***-2.0.9-gui-1.0.3-install.exe
下载地址http://down.51cto.com/data/191334

双击安装,安装过程中有个选项的窗口 将open*** 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