使另一个服务器网络跃点

时间:2018-06-11 22:36:42

标签: networking routes nat bgp

基本上,我正在尝试将我的服务器配置为“过滤点”。

如果我对我的服务器进行traceroute,那么我会说:

  • 跳#1
  • 跳#2
  • 跳#3
  • 后端(我的服务器IP)

我想在我的后端之前放置自己的服务器,是否可以不联系数据中心或触摸BGP或其他类似的东西?所以它会是这样的:

  • 跳#1
  • 跳#2
  • 跳#3
  • 我的服务器
  • 后端

我基本上想在后端之前通过此服务器路由我的所有流量。

1 个答案:

答案 0 :(得分:0)

如果您没有(或者不能)在网络级别操纵您的基础架构,那么您将无法更改traceroute的结果。

但是,您仍然可以使用proxy software设置一个配置,其中绑定目标的流量通过中间服务器。

一个流行的例子是nginx

例如,我在家中设置了代理服务器,可帮助为不同计算机上的多个服务提供单一登录页面。从外部世界来看,所有流量都绑定到代理,后面的代理流量将根据URL模式匹配转发到相应的服务器。

基本上,设置如下:

+---------+
|         |
| Client  |
|         |
+---+-----+
    |
    v

+----------+
|          |
| Internet |
|          |
+---+------+
    |                                      +----------+
    v                                      |          |
                                  +----->  | Server A |
+-------+                         |        |          |
|       +-----> home.url/servicea +        +----------+
| Proxy |
|       +-----> home.url/serviceb +        +----------+
+-------+                         |        |          |
                                  +----->  | Server B |
                                           |          |
                                           +----------+

nginx代理检查客户端提供的URL,并根据匹配规则转发到正确的服务器。

配置的简单近似值为:

server {
    location /servera {
        proxy_pass http://servera:80;
    }

    location /serverb {
        proxy_pass http://serverb:80;
    }
}