当前位置:首页 > CN2资讯 > 正文内容

利用云服务器搭建内网映射服务器 云服务器和内网打通

10小时前CN2资讯

现在越来越多的互联网公司选择和使用云服务商的产品,方便便捷的同时也给运维工作增加了不小的挑战。办公网和云服务两个局域网(or任意两个不同局域网),相互隔离。但是在日常运维、研发过程中,需要在办公网访问云服务网络。如果都通过公网ip绕,既不方便,也不安全,但是拉专线到机房成本又非常高,这里我给大家推荐通过现有资源(云服务器)来实现这个目标。

 

这里有3种方案,一种是通过OpenVPN,一种是IPsecVPN,这两种方法都比较安全,这里不在赘述孰优孰劣。如果公司是固定公网IP的话其实也可以通过建立GRE隧道来实现,但是可能大部分公司都不太满足要求。

OpenVPN 
简述 

OpenVPN 是一个高级的开源 VPN 解决方案,由 “OpenVPN technologies” 支持,并且已经成为开源网络领域里的事实标准。OpenVPN 使用成熟的 SSL/TLS 加密协议。


架构 


OpenVPN架构图 

OpenVPN服务器配置 

系统版本 Centos 6.5,配置要求不限。

安装VPN服务 

我这边用yum安装,当然你也可以自己编译安装(从这个页面下载:http:///index.php/download.html)

# yum install -y openvpn easy-rsa 
初始化VPN服务端 
复制配置文件 
# cp /usr/share/doc/openvpn-2.3.14/sample/sample-config-files/server.conf /etc/openvpn/ 
# cp -r /usr/share/easy-rsa/2.0/* /etc/openvpn/ 
注:openvpn-2.3.14需要改为你安装的OpenVPN版本 
修改配置文件并修改权限 
# cd /etc/openvpn/ 
# vi vars 
将 "export KEY_SIZE=” 这行,根据情况把1024改成2048或者4096 
# chmod +x vars 
做ssl配置文件软链 
ln -s openssl-1.0.0.cnf openssl.cnf 
证书配置 
生成证书 
# source ./vars 
注意:如果执行 ./clean-all, 会清除/etc/openvpn/keys下所有key文件. 
清除旧key文件 
# ./clean-all 
生成服务端CA证书 
# ./build-ca 
命令行提示内容可以根据具体情况填写,也可以不填写,一路回车. 
生成服务器证书 
# ./build-key-server  
生成服务器端密钥证书, 后面这个就是服务器名,可以自定义. 

生成DH验证文件 
# ./build-dh 
生成diffie hellman参数,用于增强openvpn安全性(生成需要漫长等待),让服务器飞一会。 
生成客户端Key证书 
# ./build-key client1 
# ./build-key client2 
# ./build-key client3 
(名字任意,建议写成你要发给的人的姓名,方便管理) 
注:这里与生成服务端证书配置类似,中间一步提示输入服务端密码,其他按照提示填写或一路回车即可。 
生成ta.key 文件 
# openvpn --genkey --secret /etc/openvpn/keys/ta.key 
修改配置文件 
# vi /etc/openvpn/server.conf 
# 设置监听IP,默认是监听所有IP 
;local a.b.c.d 
# 设置监听端口,必须要对应的在防火墙里面打开 
port 1194 
# 设置用TCP还是UDP协议? 
;proto tcp 
proto udp 
# 设置创建tun的路由IP通道,还是创建tap的以太网通道,由于路由IP容易控制,所以推荐使用tunnel; 
# 但如果如IPX等必须使用第二层才能通过的通讯,则可以用tap方式,tap也就是以太网桥接 
;dev tap 
dev tun 
# 这里是重点,必须指定SSL/TLS root certificate (ca), 
# certificate(cert), and private key (key) 
# ca文件是服务端和客户端都必须使用的,但不需要ca.key 
# 服务端和客户端指定各自的.crt和.key 
# 请注意路径,可以使用以配置文件开始为根的相对路径, 
# 也可以使用绝对路径 
# 请小心存放.key密钥文件 
ca keys/ca.crt 
cert keys/.crt 
key keys/.key 
# 指定Diffie hellman parameters. 
(默认是2048,如果生成ca的时候修改过dh参数“export KEY_SIZE”则改为对应的数字) 
dh keys/dh2048.pem 
# 配置VPN使用的网段,OpenVPN会自动提供基于该网段的DHCP服务,但不能和任何一方的局域网段重复,保证唯一 
server 10.20.0.0 255.255.255.0 
# 维持一个客户端和virtual IP的对应表,以方便客户端重新连接可以获得同样的IP 
ifconfig-pool-persist ipp.txt 
# 为客户端创建对应的路由,以另其通达公司网内部服务器 
# 但记住,公司网内部服务器也需要有可用路由返回到客户端 
;push "route 192.168.20.0 255.255.255.0" 
push "route 10.X.0.0 255.255.0.0" (X按照机房网段修改) 
# 若客户端希望所有的流量都通过VPN传输,则可以使用该语句 
# 其会自动改变客户端的网关为VPN服务器,推荐关闭 
# 一旦设置,请小心服务端的DHCP设置问题 
# push "redirect-gateway def1 bypass-dhcp" 
# 用OpenVPN的DHCP功能为客户端提供指定的DNS、WINS等 
#push "dhcp-option DNS 208.67.222.222" 
#push "dhcp-option DNS 208.67.220.220" 
# 默认客户端之间是不能直接通讯的,除非把下面的语句注释掉 
client-to-client 
# 下面是一些对安全性增强的措施 
# For extra security beyond that provided by SSL/TLS, create an "HMAC firewall" 
# to help block DoS attacks and UDP port flooding. 

# Generate with: 
# openvpn --genkey --secret ta.key 

# The server and each client must have a copy of this key. 
# The second parameter should be 0 on the server and 1 on the clients. 
# tls-auth ta.key 0 # This file is secret 
(这句要注释掉) 
# 使用lzo压缩的通讯,服务端和客户端都必须配置 
comp-lzo 
# 输出短日志,每分钟刷新一次,以显示当前的客户端 
status /var/log/openvpn/openvpn-status.log 
# 缺省日志会记录在系统日志中,但也可以导向到其他地方 
# 建议调试的使用先不要设置,调试完成后再定义 
log /var/log/openvpn/openvpn.log 
log-append /var/log/openvpn/openvpn.log 
# 设置日志的级别 

# 0 is silent, except for fatal errors 
# 4 is reasonable for general usage 
# 5 and 6 can help to debug connection problems 
# 9 is extremely verbose 
verb 3 
创建日志目录 
# mkdir -p /var/log/openvpn/ 
启动OpenVPN服务 
启动服务 
# service openvpn start 

如果遭遇启动失败的情况,可以在配置文件中加上一行log-append openvpn.log
再尝试启动,然后到/var/log/openvpn/检查openvpn.log文件来查看错误发生原因。

设置开机自启动 
# chkconfig openvpn on 
开启路由转发功能 
+ 开启路由转发功能 
# vim /etc/sysctl.conf 
找到net.ipv4.ip_forward 把0改成1 
# sysctl -p 

+设置IPtables

做DNAT,保障数据可以正常到达同内网其他主机 
# iptables -t nat -A POSTROUTING -s X.X.0.0/24 -o eth0 -j MASQUERADE 
(X按照机房网段修改) 
# service iptables save 
公司服务器配置 
安装客户端 
# yum install openvpn -y 
将服务器端生成的key(ca.crt,client.crt,client.key,ta.key)下载到 /etc/openvpn/config 
# cd /etc/openvpn/config 
# vi client.ovpn 
client 
dev tun 
proto udp 
remote xxx.xxx.xxx.xxx 1194 
ca ca.crt 
cert xxx.crt 
key xxx.key 
#tls-auth ta.key 0 (这句要注释掉) 
comp-lzo 
user nobody 
group nobody 
persist-key 
persist-tun 
启动服务 
openvpn --daemon --config client.ovpn 

这个时候这台服务器已经和云环境所有的服务器内网打通了~



    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/22654.html

    分享给朋友:

    “利用云服务器搭建内网映射服务器 云服务器和内网打通” 的相关文章

    甲骨文云免费套餐与ARM CPU优势解析

    甲骨文云(Oracle Cloud)是一个强大的云服务平台,近年来受到了越来越多用户的关注。我自己也曾经探索过这个平台,在这里我想和大家聊聊甲骨文云的免费套餐,这对中小企业以及开发者来说真的是一个不错的选择。免费的套餐不仅简化了入门程序,也为新用户提供了足够的资源来尝试不同的云服务。 甲骨文云的免费...

    Cloudflare 菲律宾节点:提升网络体验与速度的解决方案

    在当今数字化时代,每一个在线体验都至关重要。CloudFlare的出现,正是为了满足这一迫切的需求。作为全球知名的CDN(内容分发网络)服务提供商,CloudFlare不仅致力于加速网站的加载速度,也为用户提供安全防护服务。借助全球分布的节点,CloudFlare能够将用户请求快速而安全地送达目的地...

    DC2:动画创作、网络安全与汽车文化的多重魅力探索

    DC2 可谓是一个充满魔力的词汇,它在不同的领域中有着不同的意义。这种多样性让它成为了动画爱好者、汽车迷,甚至网络安全专家的共同话题。我对这些含义的探索,给我带来了许多启发和乐趣,让我对这个小小的组合字母有了更深刻的理解。 首先,提到 DC2,许多人可能会想到 DC2 动画软件。这款软件不仅在手机动...

    深入探讨4C与1C:市场营销与电池性能优化的关键

    4C与1C概述 在探讨市场和技术发展的过程中,4C与1C是两个值得注意的概念。虽然它们的名称很相似,但是一个关注的是市场营销的策略,另一个则关乎电池的充放电性能。我常常思考这两个概念的融合点,以及它们对我们生活的深远影响。 1.1 4C理论介绍 4C理论是市场营销中一个重要的框架,帮助企业更好地理解...

    RFCHOST评论:高性能VPS与流媒体解锁的完美选择

    RFCHOST概述 RFCHOST是一家自2015年成立的公司,隶属于上海花卷科技。作为一家新兴的网络服务企业,RFCHOST专注于提供国际线路深层挖掘与构造网络通信服务的一体化解决方案。我一直关注着这个快速发展的品牌,尤其是它在香港和洛杉矶VPS业务上的持续投入与创新。 随着全球数字化进程的加速,...

    甲骨文云无法选择ARM架构的原因及解决方案

    在如今这个信息化的时代,云计算技术已经成为了各类企业和个人用户的重要工具。而甲骨文云服务器正是众多云服务中的一员,凭借其强大的计算能力和灵活的可扩展性,吸引了越来越多的用户。甲骨文云服务器为用户提供了一种高效、灵活的解决方案,让他们能够在不同的业务需求下,快速部署和管理自己的应用程序。 当谈到甲骨文...