fatiery 发表于 2013-6-12 21:25:46

将服务器A上的IP直接指向服务器B的目录

本帖最后由 fatiery 于 2013-6-12 21:32 编辑

看了 这个帖子 http://www.advertcn.com/thread-7444-1-1.html “怎么把别处的ip放到我服务器上” 说实话做了那么多年主机商,从没有想到还能这样做,研究2个晚上,终于测试成功了,下面是我的操作步骤。

测试环境:
2台digitalocean的VPS
操作系统:centos 5.8 x32
VPS A IP: 192.34.62.74
VPS B IP: 198.199.75.250
在VPS B上安装webmin用于建站(前2天跟坛内某友交流,对方告诉我说用这个建站,很多年没用了,比较轻量安装快拿来测试正好)

测试目标:
打开192.34.62.74,直接访问到198.199.75.250下的某个目录,也就是把域名指向到192.34.62.74就能打开198.199.75.250下的网站

操作步骤:
在操作前要检查下是否安装了ip_gre模块,我测试用的没有安装,可以执行下面的命令modprobe ip_gre完后参看这个 http://wiki.buyvm.net/doku.php/gre_tunnel,修改为自己具体的IP,端口的话,搞网站就修改成80,按步骤操作即可,有的我就不重复写了(可以是任意端口,所以河马用来发信也是可以的)。

在VPS B上安装webmin,配置默认的主页目录

这样在浏览器打开192.34.62.74直接指向到198.199.75.250的默认主页,但这样没有实现指向到特定目录。

192.34.62.74——192.168.168.1——192.168.168.2

192.34.62.74指向到特定目录的关键就是把192.168.168.2指向到特定的目录,有很多方法,我直接用webmin后台的Apache Webserver创建虚拟主机,在Specific address 直接输入192.168.168.2,然后指定目录,结果测试成功。

测试用的域名是:test3.yolj.info 指向到192.34.62.74,网站实际建在198.199.75.250下的/var/www/html/test3.yolj.info

最后终结:
这是个挺实用的功能,隐藏真实IP可以防止被投诉、攻击,把A放在离访问者近的地方不知道是不是有利于加速,很多东西还需要在实际中进行测试。感谢河马提示使用GRE Tunnel 。

截图留念
http://www.9125.info/test/gre.jpg

dxszzcylm 发表于 2013-6-12 22:14:03

digitalocean用来练手确实能学到很多东西。

fatiery 发表于 2013-6-12 23:09:06

用来测试确实不错的 因为这家是按小时算的 可以随开随用随删 很方便

现在我删除了 操作有问题可以跟帖

左庶长 发表于 2013-6-12 23:22:37

这个对于SEO是否也有效,那个隐藏的IP是否能算是搜索引擎爬虫眼中的网站的IP

whitingday 发表于 2013-6-12 23:45:54

这跟反向代理差不多吧

foxconndmd 发表于 2013-6-13 07:15:59

很奇怪,不知怎么实现的。
192.34.62.74和198.199.75.250建立tunnel后,两端IP分别为192.168.168.1 192.168.168.2,此时两端可通过192.168.1.0/24直接通讯,此方法可用于跨互联网连接两个内网。
此时外网和192.34.62.74的连接怎么会转到198.199.75.250呢?如这样怎么还能连上198.199.75.250 ssh?
如只转发某个端口从192.34.62.74到198.199.75.250用ssh tunnel可做到。
ip tunnel可路由整个网段到其它服务器。

生鱼片 发表于 2013-6-13 10:37:33

怎么看的这么复杂
直接用NGINX的反向代理就搞定了
APACHE也有这个功能

sadffg 发表于 2013-6-13 13:22:20

生鱼片 发表于 2013-6-13 10:37 static/image/common/back.gif
怎么看的这么复杂
直接用NGINX的反向代理就搞定了
APACHE也有这个功能

有教程吗?

河小马 发表于 2013-6-13 13:28:24

生鱼片 发表于 2013-6-13 10:37 static/image/common/back.gif
怎么看的这么复杂
直接用NGINX的反向代理就搞定了
APACHE也有这个功能

no,你没有真正的理解 tunnel 的具体含义

在web server 上,类似于 反响代理

河小马 发表于 2013-6-13 13:32:33

foxconndmd 发表于 2013-6-13 07:15 static/image/common/back.gif
很奇怪,不知怎么实现的。
192.34.62.74和198.199.75.250建立tunnel后,两端IP分别为192.168.168.1 192.168 ...

LZ 说的不是很清楚

使用了GRE Tunnel,就相当于 slave server 的IP 配置在 master server 上

这样,可以同时访问192.34.62.74 和 198.199.75.250

九子龙 发表于 2013-6-13 15:26:16

额,服务器集群?

yoo 发表于 2013-6-13 15:36:59

这就相当于两个服务器组成了一个局域网。访问A的时候,A从局域网内部去访问B,B返回给A,A再将结果返回给用户。
因为域名还是指向A服务器,用户还是要访问A服务器才能打开网站,如果A服务器无法访问了,那么这个域名也就无法访问。防止攻击的作用应该不大。
同时由于域名是指向A,用户不知道B服务器的存在,如果有投诉,肯定是直接投诉到A服务器。他从服务器端将域名删除,或者停止了服务,这个域名还是会无法访问。这样防投诉的作用也不大。

fatiery 发表于 2013-6-13 15:38:58

左庶长 发表于 2013-6-12 23:22 static/image/common/back.gif
这个对于SEO是否也有效,那个隐藏的IP是否能算是搜索引擎爬虫眼中的网站的IP ...

我不懂SEO,所以无法回答是否有效。但是从原理上来讲,数据是通过内部隧道传输的,外部蜘蛛是没有能力去获取这些信息的。如果你实践的话,记得回帖给我反馈。

foxconndmd 发表于 2013-6-13 15:40:42

河小马 发表于 2013-6-13 13:32 static/image/common/back.gif
LZ 说的不是很清楚

使用了GRE Tunnel,就相当于 slave server 的IP 配置在 master server 上


之前没看到这个:http://wiki.buyvm.net/doku.php/gre_tunnel
看后还是有点疑问,我的理解Gre Tunnel在IP层通过隧道传输封装的数据,实现分布式网络。
看那文章是通过Ip tunnel连接两台服务器,然后再以Iptables dnat实现的,192.34.62.74——Iptables DNAT/SNAT——Route——192.168.168.1——192.168.168.2——198.199.75.250,不知这样做还有没有特别的含义。
如这样实在没必要这么复杂,直接使用Iptables从192.34.62.74DNAT到198.199.75.250就可以了。
在192.34.62.74上输入:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp -d 192.34.62.74 --dport 80 -j DNAT --to 198.199.75.250:80
iptables -t nat -A POSTROUTING -d 192.34.62.74 -j SNAT --to-source 198.199.75.250

yoo 发表于 2013-6-13 15:48:10

左庶长 发表于 2013-6-12 23:22 static/image/common/back.gif
这个对于SEO是否也有效,那个隐藏的IP是否能算是搜索引擎爬虫眼中的网站的IP ...

这个和SEO无关,不论是真实的用户访问,还是爬虫来访问,都是访问域名指向的服务器。不论你后台是怎么实现的,是直接的html文件,还是用某种程序生成的,或者从其他服务器抓取过来的,爬虫都是不知道的。
在爬虫看来,你的网站就是在A服务器上,所以这个对SEO没有影响。
页: [1] 2
查看完整版本: 将服务器A上的IP直接指向服务器B的目录