Open×××服务器的搭建:

    CentOS下Open×××客户端配置:

应用一、点对点安全通道

    工作中可能会遇到这样的场景:由于业务需要,异地两台服务器需要安全的相互访问,除了拉专线,比较经济的方法就是通过公网建立加密隧道,open***是一个很好的选择。

    服务端:内网IP 192.168.20.220,***服务端口1194通过防火墙映射到公网。

    客户端:内网IP 192.168.1.220。

    点对点网络的配置主要在于服务端,客户端无需特殊配置。

    编辑服务端配置文件server.conf:

shell> vim /etc/open***/server.confport 1194proto tcpdev tunca keys/ca.crtcert keys/server.crtkey keys/server.key  # This file should be kept secretdh keys/dh2048.pemserver 10.8.0.0 255.255.255.0         # 虚拟局域网网段,不要和实际的局域网冲突push "route 192.168.20.220 255.255.255.255" # 推送给客户端的路由设置(服务端的IP/32)route 192.168.1.220 255.255.255.255      # 服务端到客户端的路由(客户端的IP/32)client-config-dir /etc/open***/ccd       # 客户端独立配置文件目录keepalive 10 120tls-auth keys/ta.key 0 # This file is secretcomp-lzopersist-keypersist-tunstatus open***-status.loglog-append  open***.logverb 5

    在服务器上编辑client1的独立配置文件:

shell> mkdir /etc/open***/ccdshell> vim /etc/open***/ccd/client1iroute 192.168.1.220 255.255.255.255

    客户端配置文件client.o***:

clientdev tunproto tcpremote xxx.xxx.xxx.xxx 1194 # open***服务端映射到公网的IP和端口resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client1.crt # 客户端client1的证书文件key client1.key  # 客户端client1的密钥文件remote-cert-tls servertls-auth ta.key 1comp-lzoverb 3

    open***服务端和客户端都重启一下。服务端增加的的路由:

    客户端增加的路由:

    测试两端互ping、互相登录都没问题。

应用、客户端安全接入服务器局域网

   情景:IDC机房网络有两个网段(vlan20、40),各vlan互通,现需要一个运维跳板机,运维通过跳板机管理vlan20和vlan40服务器。

    为实现上述目的,我们在机房内搭建一台open***服务器,客户端通过***服务器接入IDC机房内网。

    服务端配置文件server.conf:

port 1194proto tcpdev tunca keys/ca.crtcert keys/server.crtkey keys/server.key  # This file should be kept secretdh keys/dh2048.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "route 192.168.20.0 255.255.254.0" # 推送给客户端的路由设置(vlan20:192.168.20.0/23)push "route 192.168.40.0 255.255.254.0" # 推送给客户端的路由设置(vlan40:192.168.40.0/23)keepalive 10 120tls-auth keys/ta.key 0 # This file is secretcomp-lzopersist-keypersist-tunstatus open***-status.loglog-append  open***.logverb 5

    服务端添加iptables规则使服务器可以转发数据包(对网段10.8.0.0/24的数据包做SNAT):

shell> iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADEshell> service iptables save

    客户端配置文件跟上个案例一样,无须更改配置。

    客户端启动后,我们看下路由,到服务器端局域网的路由已经设置好了:

应用、客户端通过服务器访问Internet

    为啥这么做大家都懂,省略1万字。

    服务端配置文件server.conf:

port 1194proto tcpdev tunca keys/ca.crtcert keys/server.crtkey keys/server.key  # This file should be kept secretdh keys/dh2048.pemserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "redirect-gateway def1 bypass-dhcp" # 改客户端的默认网关push "dhcp-option DNS 114.114.114.114"   # 为客户端设置DNS服务器(对非win客户端无效)push "dhcp-option DNS 8.8.8.8"keepalive 10 120tls-auth keys/ta.key 0 # This file is secretcomp-lzopersist-keypersist-tunstatus open***-status.loglog-append  open***.logverb 5

    服务端添加iptables规则使服务器可以转发数据包(对网段10.8.0.0/24的数据包做SNAT):

shell> iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADEshell> service iptables save

    客户端配置文件无须更改。我们再看一下客户端的路由:

   客户端路由增加了一条走×××的默认路由,出口IP也变成了服务器端的出口IP了。