日本电子维修技术 网络解决公司网络没有固定公网IP的问题




完美解决公司网络没有固定公网IP的问题 转贴,MARK一下,方案背景:公司办公网络使用长城宽带上网有一段时间了,有4个固定IP(2个电信,2个网通),链路不太稳定,经常有问题,因此考虑取消长城宽带,采用原来的adsl上网。但是有个问题,因为公司内网有几台服务器,需要通过固定IP接受外网用户发送的数据,因此如果没有公网IP,而ADSL获取的IP会变化,那么内网服务器接受外面用户的数据就会受到影响,通过采用openv&pn很好的解决了这个问题。这个前提是你在机房的服务器有固定IP。应用场景公司在托管机房有公网IP,在公司内部采用ADSL上网,又需要接受外网用户发送的数据,那么就可以在托管机房有公网IP的服务器部署openv&pn,然后内网找一台服务器拨上去获取IP后,通过iptables的端口转发2次就可以完美解决公司网络没有公网IP的问题。 详细方案下面就来详细讲述如何用openv&pn完美的解决公司网络没有公网IP的解决方案!一、   需求在没有固定公网IP的情况下,借助托管机房的固定公网IP,实现发布内网服务器的端口给外网用户调用,具体环境如下面网络图中所示,需要把内网服务器192.168.100.113的708端口借助托管机房的固定IP发布给外网用户调用二、   网络图
三、   openv&pn服务器的安装配置1.       openv&pn服务器端的环境OS: Centos 5.5 64bit 2.6.18Lzo version: 2.0.6(最新版本)Openv&pn version: 2.2.2(最新版本)2.       openv&pn服务器端软件的安装Ø  下载软件包wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gzwget http://swupdate.openv&pn.org/community/releases/openv&pn-2.2.2.tar.gz
Ø  安装opensslyum -y install openssl
记录下openssl的版本号,一会有用,我这里安装的openssl-0.9.8e-20.el5.x86_64版本Ø  安装lzotar xzvf lzo-2.06.tar.gzcd lzo-2.06./configuremake && make check && make install
Ø  安装openv&pntar xzvf openv&pn-2.2.2.tar.gzcd openv&pn-2.2.2./configure --prefix=/usr/local/openv&pn --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib \--with-ssl-headers=/usr/local/include/openssl --with-ssl-lib=/usr/local/libmake && make install
3.       制作openv&pn证书keyØ  初始话PKI生成key变量可以采用export或者需改配置文件的形式,这里我只说采用export命令的形式!代码如下:cd openv&pn-2.2.2/easy-rsa/2.0    #注意这个路径和以前的版本不太一样cp openssl-0.9.8.cnf openssl.cnf   #这里有三个版本的openssl的文件供你选择,这里需要选择前面我们安装的openssl版本export D=`pwd`                        #设置路径export KEY_CONFIG=$D/openssl.cnf       #设置openssl文件的位置export KEY_DIR=$D/keys                 #设置生成key的保存路径export KEY_SIZE=1024                                #设置生成key的加密位数export KEY_COUNTRY=CN                #设置国家export KEY_PROVINCE=GD                #设置省export KEY_CITY=SZ                      #设置城市export KEY_ORG="futuotec"               #设置组织export KEY_EMAIL=[email protected]  #设置邮箱 ./clean-all    #这个命令执行完成以后会创建前面设置的key保存路径   Ø  生成ca证书和私钥./build-ca    #执行这个命令以后按照提示操作就可以了!示例如下:Country Name (2 letter code) [CN]:State or Province Name (full name) [GD]:Locality Name (eg, city) [SZ]:Organization Name (eg, company) [futuotec]:Organizational Unit Name (eg, section) []:futuotecCommon Name (eg, your name or your server's hostname) []:serverEmail Address [[email protected]]:
Ø  生成server端证书和私钥./build-key-server server   #执行这个命令以后按照提示操作就可以了!示例如下Country Name (2 letter code) [CN]:State or Province Name (full name) [GD]:Locality Name (eg, city) [SZ]:Organization Name (eg, company) [futuotec]:Organizational Unit Name (eg, section) []:futuotecCommon Name (eg, your name or your server's hostname) []:serverEmail Address [[email protected]]:
Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:test111An optional company name []:futuotec

Ø  生成客户端证书和私钥./build-key client1     #client1为客户端的登录名,按照提示操作,示例如下,可重复次操作建多个不同的登录名Country Name (2 letter code) [CN]:State or Province Name (full name) [GD]:Locality Name (eg, city) [SZ]:Organization Name (eg, company) [futuotec]:Organizational Unit Name (eg, section) []:futuotecCommon Name (eg, your name or your server's hostname) []:client1    #重要: 每个不同的client 生成的证书, 名字必须不同.Email Address [[email protected]]:
Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:test111An optional company name []:futuotec

Ø  打包证书和私钥./build-dh     #通过这个命令创建Diffie Hellman参数tar zcvf key.tar.gz keys将生成的key.tar.gz下载备用 4.       openv&pn服务器端配置mkdir /usr/local/openv&pn/etcmkdir /usr/local/openv&pn/keys/
将前面生成的如下key文件和证书文件拷到/usr/local/openv&pn/keys目录下:ca.crt、server.crt、server.key、dh1024.pemvim /usr/local/openv&pn/etc/server.conf 添加如下内容local 58.33.123.75client-config-dir /usr/local/openv&pn/etc/ccd       #介绍一下这个选项,这个选项是为制定的登录名使用单独的配置,比如制定固定的IP,本文就用到了这个配置,在这个目录下,创建一个用户名文件,然后写入你的需求配置,稍后会介绍port 1194proto udpdev tunca /usr/local/openv&pn/keys/ca.crtcert /usr/local/openv&pn/keys/server.crtkey /usr/local/openv&pn/keys/server.key dh /usr/local/openv&pn/keys/dh1024.pemserver 172.16.100.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "route 172.16.88.0 255.255.255.0"push "route 172.16.100.0 255.255.255.0"push "dhcp-option DNS 172.16.88.10"client-to-clientkeepalive 10 120comp-lzopersist-keypersist-tunstatus /var/log/openv&pn-status.loglog         /var/log/openv&pn.logverb 4
vim  /usr/local/openv&pn/etc/ccd/client1  添加如下内容:ifconfig-push 172.16.100.9 172.16.100.10
可能有人会想为什么要制定两个IP,这是因为openv&pn只支持255.255.255.252 的子网,而且252的子网只有两个IP,一个分配给客户端,一个留给服务器用.因此只能ccd目录下面的文件内容只能是:ifconfig-push 172.16.100.1 172.16.100.2ifconfig-push 172.16.100.5 172.16.100.6  …..
如果配置错误,会报如下错误:Tue Jan 10 18:02:33 2012 us=197724 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
启动openv&pn服务端:/usr/local/openv&pn/sbin/openv&pn --config /usr/local/openv&pn/etc/server.conf > /dev/null 2>&1 &
然后将该命令写入到/etc/rc.local中      查看是否启动成功:netstat -lnp | grep openv&pnudp        0      0  58.33.123.75:1194          0.0.0.0:*                               11545/openv&pn
四、   openv&pn客户端的安装配置1.       openv&pn客户端的环境客户端的环境和服务器端的环境一样OS: Centos 5.5 64bit 2.6.18Lzo version: 2.0.6(最新版本)Openv&pn version: 2.2.2(最新版本) 2.       openv&pn客户端的安装安装也和服务器的一样,这里就不赘述 3.       openv&pn客户端的配置mkdir /usr/local/openv&pn/etcmkdir /usr/local/openv&pn/keys/将需要的前面打包的相关key文件放到keys目录下,比如client1用户需要copy到客户端的文件如下:ca.crtca.keyclient1.crtclient1.csrclient1.key
vim /usr/local/openv&pn/etc/client.conf 添加如下内容:clientdev tunproto udpremote 58.33.123.75 1194persist-keypersist-tunca /usr/local/openv&pn/keys/ca.crtcert /usr/local/openv&pn/keys/client2.crtkey /usr/local/openv&pn/keys/client2.keyns-cert-type servercomp-lzoverb 4
启动客户端:
/usr/local/openv&pn/sbin/openv&pn --config /usr/local/openv&pn/etc/client.conf > /dev/null 2>&1 &
并将该命令写入/etc/rc.local 检查是否链接成功,已经分配的IP是否是制定的IPifconfig显示如下内容:tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00           inet addr:172.16.100.9  P-t-P:172.16.100.10  Mask:255.255.255.255
五、   openv&pn服务器端iptables的设置iptables -t nat -A PREROUTING -d 58.33.123.75 -p tcp -m tcp --dport 708 -j DNAT --to-destination 172.16.100.9:708iptables -t nat -A POSTROUTING -j MASQUERADEiptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPTiptables -A  INPUT -s 172.16.100.0/255.255.255.0 -j ACCEPT
说明:将外面请求机房中58.33.123.75端口708的请求都发往公司内网的v&pn客户端,打开openv&pn的1194端口,允许网段的访问!六、   openv&pn客户端iptables的设置iptables -t nat -A PREROUTING -s 58.33.123.75 -p tcp -m tcp --dport 708 -j DNAT --to-destination 192.168.100.113:708iptables -t nat -A POSTROUTING -j MASQUERADE
说明:将源是来自58.33.123.75并且目标端口为708的请就转发到内网的192.168.100.113的708端口,这就完成了整个转发过程七、   测试端口调用是否OK因为发布的tcp的端口,因此可以采用telnet的方式来调用,在外网找台机器,执行如下命令看看是否OK!telnet 58.33.123.75 708如果不能连接,就需要检查v&pn是否OK。Ping是个很好的工具,以及检查防火墙规则 总结:对于我们搞IT的来说,其实解决问题的方法很多,需要灵活的来运用各种技术。这样能给你的企业节省不少成本,而且能让你的工作更有创造性。因此我们在日常工作中应该充分发挥我们的想象力,灵活应用我们的各种技术,你会发现其实技术的道路还可以更宽、更精彩!注:因网站限制openv&pn,去掉中间的&

评论
收藏马克再看

评论
这个值得学习了,谢谢

评论
这技术现在居然还会有人用?还能放公司用,能稳定吗?连上10分钟就被掐死了吧?内外穿透技术这么成熟,干嘛要用v p n啊?

评论
闲的蛋疼

评论
.........
那么多好好的内网穿透
frp啊ngrok阿
用哪个不好...
再说了还有zerotier呢

评论
我也是服了楼主这想法了,实在是太LOW了。都公司了直接DDNS总归有的把。


评论
有公网IP ddns即可,没的话autossh试了比较安逸,不要求客户端很多情况下还是很重要的 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01
 ·日本留学生活 求个大阪合租
·日本留学生活 自家房招租求
·日本留学生活 东京地区出9成新lv钱包
·日本育儿教育 孩子从国内过来如何学习日语
·日本育儿教育 明年四月横滨招月嫂
·日本育儿教育 请问咋让娃突破识字关?感谢分享中文共读和学习经验的妈妈
 ·中文新闻 东区明星迈克尔·格列柯,53 岁,将在第一次出生两年后第二次
·中文新闻 《爱情岛》明星卡米拉·瑟洛和杰米·朱维特在透露即将迎来第三

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...