什么是GRE隧道?

类似于代理,GRE隧道使您可以将来自VPS的流量(包括DDoS过滤)传递到另一个远程目标。GRE隧道允许所有流量通过,而不仅仅是HTTP。借助GRE隧道,您可以提供服务,并从任何类型的服务器(音频,FTP,SSH,SCP,视频等)传递任何类型的内容。

可以使用GRE隧道做什么?

当您想使用我们的DDoS过滤服务来保护太大的服务(例如游戏服务器,Java应用程序,大型数据库驱动的应用程序等)时,GRE隧道非常方便。没有对目标服务器的root访问权,或者正在运行大型Windows部署?查看我们将流量重定向牵引到您的远程服务器的替代方法。
注意:如果您正在隧道连接到OVH服务器,则您的内核很可能没有GRE支持。您将需要使用IPIP隧道。


支持的操作系统

可以使用Windows创建和转发GRE隧道

在本文档中,我们仅介绍Linux的GRE隧道配置。

本指南在KVM或者OpenVZ的服务器上都可以起作用


前提

  • BuyVM VPS上安装的iptables(大多数情况下已包括在内)
  • iproute2(几乎所有最新的Linux发行版中都包含)
  • 具有GRE支持的内核(Linux默认包含该组件-ip_gre内核模块)
  • 您需要转发到目的地的端口列表

隧道设置

首先,我们需要建立隧道。

在BuyVM VPS上,请执行以下命令:

 echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p iptunnel add gre1 mode gre local YOUR_UNFILTERED_IP remote DESTINATION_SERVER_IP ttl 255 ip addr add 192.168.168.1/30 dev gre1 ip link set gre1 up 

在要保护的远程服务器上,运行以下命令:

 iptunnel add gre1 mode gre local DESTINATION_SERVER_IP remote YOUR_UNFILTERED_IP ttl 255 ip addr add 192.168.168.2/30 dev gre1 ip link set gre1 up 

您将始终希望使用所有GRE隧道的未过滤 IP地址来形成GRE,以确保您不会遇到任何类型的MTU问题或触发DDOS保护。

请注意每个更改的第一行,以标记要在本地和远程使用的IP。第二行记录每个端点。在/ 30中,可以使用2个IP:.1和.2。


使用Ping测试您的新GRE隧道

在VPS上,您现在应该可以ping了192.168.168.2

为了完整起见,请192.168.168.1从目标服务器测试ping 。


设置源路由表

需要源路由条目,以确保通过GRE隧道传入的数据被发回GRE隧道。

请在目标服务器上执行以下命令。

echo '100 BUYVM' >> /etc/iproute2/rt_tables ip rule add from 192.168.168.0/30 table BUYVM ip route add default via 192.168.168.1 table BUYVM 

请注意,echo命令只需要运行一次。该条目将保存到/ etc / iproute2 / rt_tables中,直到您手动将其删除。


初始NAT条目以通过GRE隧道移动数据

NAT用于通过GRE将数据传递到另一端。

虽然可以使用已购买的/ 29分配的基于KVM的VPS,但本指南不涵盖此内容。

在VPS上,运行以下命令:

 iptables -t nat -A POSTROUTING -s 192.168.168.0/30 ! -o gre+ -j SNAT --to-source 源ip


测试出站连接

在目标服务器上,您可以运行以下命令之一,以查看隧道是否正确传递了流量:

 curl http://www.cpanel.net/showip.cgi --interface 192.168.168.2 
wget http://www.cpanel.net/showip.cgi --bind-address = 192.168.168.2 -q -O-

IP应该是您的防御节点的IP。


通过GRE隧道转发端口

为了使事情变得容易,我们将所有端口转发到后端服务器。

在VPS上运行以下命令:

iptables -t nat -A PREROUTING -d YOUR_FILTERED_IP -j DNAT --to-destination 192.168.168.2 
iptables -A FORWARD -d 192.168.168.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 

如果您想更具体一点,可以添加:

-p tcp --dport 25565

例如,如果您只是想保护Minecraft服务器。

第一条规则设置实际的端口转发,第二条规则确保连接获得NAT,并正确匹配。

在这一点上,您应该能够YOUR_FILTERED_IP使用您的应用程序连接到目标端口,并通过GRE隧道传递而不会出现问题。


重新启动后重新启动GRE隧道

可以/etc/rc.local使用自己喜欢的编辑器进行编辑(甚至使用WINSCP),并将刚运行的所有命令exit 0放在底部。

选择发行版(如Debian)可能/etc/network/interfaces在启动时加入了GRE隧道,但这超出了本指南的范围。

分类: 网络

天渊应龙圣神大帝-道锋潜鳞

天渊应龙圣神大帝-道锋潜鳞

一人自负一阴阳,混沌分开气升降。炼阴仙客解冲虚,凡骨尤能化百族。雷域龙神启太元,天清升仙出浩渊。

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注