如何解决服务器80端口被运营商封掉问题 如何解决无公网ip如何假设web服务器作者技术方案组长鸣鸣.docx
- 文档编号:8695877
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:30
- 大小:464.43KB
如何解决服务器80端口被运营商封掉问题 如何解决无公网ip如何假设web服务器作者技术方案组长鸣鸣.docx
《如何解决服务器80端口被运营商封掉问题 如何解决无公网ip如何假设web服务器作者技术方案组长鸣鸣.docx》由会员分享,可在线阅读,更多相关《如何解决服务器80端口被运营商封掉问题 如何解决无公网ip如何假设web服务器作者技术方案组长鸣鸣.docx(30页珍藏版)》请在冰豆网上搜索。
如何解决服务器80端口被运营商封掉问题如何解决无公网ip如何假设web服务器作者技术方案组长鸣鸣
如何解决服务器80端口被运营商封掉问题
如何解决无公网ip如何假设web服务器
一.拓扑图
二.原理
假设:
国内web服务器service2的web端口是990国外服务器service1开启了80端口.
通过架设虚拟局域网将国内web服务器990端口映射转发到国外服务器80端口上达到访问国内web服务器上的网站且不需要输入端口访问.
利用openvpn将service1和service2组建成一个虚拟局域网.虚拟局域网ip需要固定.所以openvpn必须分配给service1虚拟ip是固定的.将service2上的web服务器监听分配给它的虚拟ip.同时service1必须开启80端口,并且开启路由转发功能.当客户端访service1的80端口时.service1就通过路由转发功能将请求包通过虚拟虚拟局域网80端口发送给service2的web端口990上.service2获取到请求后将web数据在通过内网ip的990端口路由转发给service1的80端口上.然后提交给客户端.这样用户访问的就是国内服务器上的网站.解决了服务器无公网ip和运营商未开启80端口如何将网站强制通过80端口发布出去.也同时解决了无固定公网ip的问题
Service1和service2的请求速度取决于两者间的网络环境.建议service1和service2使用的是骨干节点网络.且必须是光纤。
三.操作步骤(service1和service2以linux系统为主。
因为稳定,且设置生效不用重启服务器)
1.在service2上架设web服务。
#yuminstallhttpdmysql-servermysqlphpphp-mysql–y/安装服务apache和数据库服务及php/
#servicehttpdrestart/启动apache服务/
#servicemysqldrestart/mysql服务/
#chkconfighttpdon/设置apache开机启动/
#chkconfigmysqldon/设置mysql开启启动/
#vim/etc/httpd/conf/httpd.conf/配置apache/
将监听端口修改成990,并保存退出
#servicehttpdrestart/启动apache服务/
测试:
在浏览器中输入网址加端口号看是否架设成功,出现下面内容就说明架设成功。
2.在service1上架设openvpn服务器端。
#rpm-ivhhttp:
//apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
#yum–yinstallopenvpn
/安装服务/
#cp-R/usr/share/doc/openvpn-2.2.2/easy-rsa/etc/openvpn
#cd/etc/openvpn/easy-rsa/2.0
#chmod+x *
/先将easy-rsa脚本copy到/etc/openvpn,并添加可执行权限:
/
#cd/etc/openvpn/easy-rsa/2.0
#ln-sopenssl-ff
/然后使用easy-rsa的脚本产生证书/
#vimvars
编辑所需的参数再调用之,也可以默认参数
#sourcevars
注意:
下面这个命令在第一次安装时可以运行,以后在添加客户端时千万别运行,这个命令会清除所有已经生成的证书密钥。
#./clean-all
/清理所有/
#./build-ca
/生成服务器端ca证书/
Generatinga1024bitRSAprivatekey
............++++++
..................++++++
writingnewprivatekeyto'ca.key'
-----
Youareabouttobeaskedtoenterinformationthatwillbeincorporated
intoyourcertificaterequest.
WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.
Therearequiteafewfieldsbutyoucanleavesomeblank
Forsomefieldstherewillbeadefaultvalue,
Ifyouenter'.',thefieldwillbeleftblank.
-----
CountryName(2lettercode)[CN]:
StateorProvinceName(fullname)[SH]:
LocalityName(eg,city)[PD]:
OrganizationName(eg,company)[zyfmaster]:
OrganizationalUnitName(eg,section)[]:
zyfmaster
CommonName(eg,yournameoryourserver'shostname)[zyfmasterCA]:
server
Name[]:
EmailAddress[905407204@]:
#./build-key-serverserver
/生成服务器端密钥key,后面这个server 就是服务器名,可以自定义。
/
Generatinga1024bitRSAprivatekey
.......................................++++++
.......++++++
writingnewprivatekeyto'server.key'
-----
Youareabouttobeaskedtoenterinformationthatwillbeincorporated
intoyourcertificaterequest.
WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.
Therearequiteafewfieldsbutyoucanleavesomeblank
Forsomefieldstherewillbeadefaultvalue,
Ifyouenter'.',thefieldwillbeleftblank.
-----
CountryName(2lettercode)[CN]:
StateorProvinceName(fullname)[SH]:
LocalityName(eg,city)[PD]:
OrganizationName(eg,company)[zyfmaster]:
OrganizationalUnitName(eg,section)[]:
zyfmaster
CommonName(eg,yournameoryourserver'shostname)[server]:
server
Name[]:
EmailAddress[905407204@]:
Pleaseenterthefollowing'extra'attributes
tobesentwithyourcertificaterequest
Achallengepassword[]:
abcd1234
Anoptionalcompanyname[]:
zyfmaster
Usingconfigurationfrom/etc/openvpn/2.0/f
Checkthattherequestmatchesthesignature
Signatureok
TheSubject'sDistinguishedNameisasfollows
countryName :
PRINTABLE:
'CN'#可以默认也可以根据实际情况填写
stateOrProvinceName :
PRINTABLE:
'SH'#可以默认也可以根据实际情况填写
localityName :
PRINTABLE:
'PD'#可以默认也可以根据实际情况填写
organizationName :
PRINTABLE:
'zyfmaster'#可以默认也可以根据实际情况填写
organizationalUnitName:
PRINTABLE:
'zyfmaster'#可以默认也可以根据实际情况填写
commonName :
PRINTABLE:
'server'#可以默认也可以根据实际情况填写
emailAddress :
IA5STRING:
'905407204@'#可以默认也可以根据实际情况填写
CertificateistobecertifieduntilDec 204:
14:
342022GMT(3650days)
Signthecertificate?
[y/n]:
y
#这里注意一定要选择y,否则证书生成的是空证书
1outof1certificaterequestscertified,commit?
[y/n]y#这里注意一定要选择y否则证书生成的是空证书
Writeoutdatabasewith1newentries
DataBaseUpdated
/服务器端证书生成成功/
#./build-keyclient1
/生成客户端key后面这个client1就是客户端名,可以自定义/
Generatinga1024bitRSAprivatekey
............++++++
........................................................++++++
writingnewprivatekeyto'client1.key'
-----
Youareabouttobeaskedtoenterinformationthatwillbeincorporated
intoyourcertificaterequest.
WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.
Therearequiteafewfieldsbutyoucanleavesomeblank
Forsomefieldstherewillbeadefaultvalue,
Ifyouenter'.',thefieldwillbeleftblank.
-----
CountryName(2lettercode)[CN]:
StateorProvinceName(fullname)[SH]:
LocalityName(eg,city)[PD]:
OrganizationName(eg,company)[zyfmaster]:
OrganizationalUnitName(eg,section)[]:
zyfmaster
CommonName(eg,yournameoryourserver'shostname)[client1]:
client1#重要:
每个不同的client生成的证书,名字必须不同.
Name[]:
EmailAddress[905407204@]:
Pleaseenterthefollowing'extra'attributes
tobesentwithyourcertificaterequest
Achallengepassword[]:
abcd1234
Anoptionalcompanyname[]:
zyfmaster
Usingconfigurationfrom/etc/openvpn/2.0/f
Checkthattherequestmatchesthesignature
Signatureok
TheSubject'sDistinguishedNameisasfollows
countryName :
PRINTABLE:
'CN'
stateOrProvinceName :
PRINTABLE:
'SH'#可以默认也可以根据实际情况填写
localityName :
PRINTABLE:
'PD'#可以默认也可以根据实际情况填写
organizationName :
PRINTABLE:
'zyfmaster'#可以默认也可以根据实际情况填写
organizationalUnitName:
PRINTABLE:
'zyfmaster'#可以默认也可以根据实际情况填写
commonName :
PRINTABLE:
'client1'#可以默认也可以根据实际情况填写
emailAddress :
IA5STRING:
'905407204@'#可以默认也可以根据实际情况填写
CertificateistobecertifieduntilDec 204:
15:
502022GMT(3650days)
Signthecertificate?
[y/n]:
y
/这里注意一定要选择y,否则证书生成的是空证书/
1outof1certificaterequestscertified,commit?
[y/n]y
/这里注意一定要选择y,否则证书生成的是空证书/
Writeoutdatabasewith1newentries
DataBaseUpdated
/客户端证书生成成功/
#./build-keyclient2
#./build-keyclient3
/以此类推建立其他客户端key/
#./build-dh
/生成DiffieHellman参数(这里等待一段时间。
等待时长和你服务器性能决定)/
#tarzcvfyskeys.tar.gzkeys/*
/将keys下的所有文件打包下载到本地(可以通过winscp,http,ftp等等……)/
#cp-r/usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf/etc/openvpn/
#vim/etc/openvpn/server.conf
/创建服务端配置文件,并修改service.conf配置文件/
;locala.b.c.d
改成:
local192.168.2.3
port1194(根据自己实际情况修改)
protoudp(根据自己实际情况修改)
devtun(根据自己实际情况修改)
caca.crt
certserver.crt
keyserver.key#Thisfileshouldbekeptsecret
改成
ca/etc/openvpn/easy-rsa/2.0/keys/ca.crt(根据自己存放证书位置修改)
cert/etc/openvpn/easy-rsa/2.0/keys/server.crt(根据自己存放证书位置修改)
key/etc/openvpn/easy-rsa/2.0/keys/server.key #Thisfileshouldbekeptsecret
(根据自己存放证书位置修改)
dhdh1024.pem
改成
dh/etc/openvpn/easy-rsa/2.0/keys/dh1024.pem(根据自己存放证书位置修改)
server10.8.0.0255.255.255.0
;push"route192.168.10.0255.255.255.0"
;push"route192.168.20.0255.255.255.0"
改成
;push"route192.168.10.0255.255.255.0"
push"route10.8.0.0255.255.255.0"
;push"route192.168.20.0255.255.255.0"
ifconfig-pool-persistipp.txt
;push"redirect-gatewaydef1bypass-dhcp"
改成
push"redirect-gatewaydef1"
;push"dhcp-optionDNS208.67.222.222"
;push"dhcp-optionDNS208.67.220.220"
改成
push"dhcp-optionDNS114.114.114.114"
push"dhcp-optionDNS114.114.115.115"
keepalive10120
comp-lzo
persist-key
persist-tun
statusopenvpn-status.log
;logopenvpn.log
改成
log openvpn.log
verb3
##
#ThisconfigshouldworkonWindows#
#orLinux/BSDsystems.Rememberon#
#Windowstoquotepathnamesanduse#
#doublebackslashes,e.g.:
#
#"C:
\\ProgramFiles\\OpenVPN\\config\\foo.key"#
##
#Commentsareprecededwith'#'or';'#
#################################################
#WhichlocalIPaddressshouldOpenVPN
#listenon?
(optional)
;locala.b.c.d
local192.168.2.3
#WhichTCP/UDPportshouldOpenVPNlistenon?
#IfyouwanttorunmultipleOpenVPNinstances
#onthesamemachine,useadifferentport
#numberforeachone.Youwillneedto
#openupthisportonyourfirewall.
port1194
#TCPorUDPserver?
;prototcp
protoudp
#"devtun"willcreatearoutedIPtunnel,
#"devtap"willcreateanethernettunnel.
#Use"devtap0"ifyouareethernetbridging
#andhaveprecreatedatap0virtualinterface
#andbridgeditwithyourethernetinterface.
#Ifyouwanttocontrolaccesspolicies
#overtheVPN,youmustcreatefirewall
#rulesforthetheTUN/TAPinterface.
#Onnon-Windowssystems,youcangive
#anexplicitunitnumber,suchastun0.
#OnWindows,use"dev-node"forthis.
#Onmostsystems,theVPNwillnotfunction
#unlessyoupartiallyorfullydisable
#thefirewallfortheTUN/TAPinterface.
;devtap
devtun
#WindowsneedstheTAP-Win32adaptername
#fromtheNetworkConnectionspanelifyou
#havemorethanone.OnXPSP2orhigher,
#youmayneedtoselectivelydisablethe
#WindowsfirewallfortheTAPadapter.
#Non-Windowssystemsusuallydon'tneedthis.
;dev-nodeMyTap
#SSL/TLSrootcertificate(ca),certificate
#(cert),andprivatekey(key).Eachclient
#andtheservermusthavetheirowncertand
#keyfile.Theserverandallclientswill
#usethesamecafile.
#
#Seethe"easy-rsa"directoryforaseries
#ofscriptsforgeneratingRSAcertificates
#andprivatekeys.Remembertouse
#auniqueCommonNamefortheserver
#andeachoftheclientcertificates.
#
#AnyX509keymanagementsystemcanbeused.
#OpenVPNcanal
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何解决服务器80端口被运营商封掉问题 如何解决无公网ip如何假设web服务器作者技术方案组长鸣鸣 如何 解决 服务器 80 端口 运营商 问题 公网 ip 假设 web 作者 技术 方案 组长
链接地址:https://www.bdocx.com/doc/8695877.html