通过GRE隧道进行DDOS清洗

高防服务器(host1):
91.121.255.214 DDOS高防IP
31.21.25.14 无防御IP
需要高防保护的设备(host2):
185.72.66.69

前提:机房没有禁止GRE.

两台设备同时执行:
修改内核参数,开启转发:

echo "net.ipv4.ip_forward = 1">>/etc/sysctl.conf

加载gre模块支持:

modprobe ip_gre
lsmod | grep gre
ip_gre                  9575  0
ip_tunnel              12693  1 ip_gre

建立GRE隧道:

host1:

iptunnel add gre1 mode gre local 31.21.25.14 remote 185.72.66.69 ttl 255
ip addr add 192.168.168.1/30 dev gre1 
ip link set gre1 up

host2:

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

隧道建立完毕,测试互通。

host1:
ping 192.168.168.2
host2:
ping 192.168.168.1

创建源路由表:
确保通过GRE隧道传入的数据被发送回GRE隧道。
host2:

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

配置NAT通过GRE传输数据,传输到对端。
host1:

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

测试出站连接
host2:

[root@webserver ~]# curl http://myip.ipip.net --interface 192.168.168.2
当前 IP:91.121.255.214  来自于:美国 高防

在GRE隧道上转发端口:
host1:

#转发全部
iptables -t nat -A PREROUTING -d 91.121.255.214 -j DNAT --to-destination 192.168.168.2 
#指定转发
iptables -t nat -A PREROUTING -d 91.121.255.214 -p tcp --dport 80 -j DNAT --to-destination 192.168.168.2 
iptables -A FORWARD -d 192.168.168.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

配置完毕,测试业务。

host2:

cd /tmp/
python -m SimpleHTTPServer 80

客户端设备浏览器访问:
http://91.121.255.214/
657.png

DDOS保护接入完毕!

原创文章,作者:lijian,如若转载,请注明出处:https://www.lijian.me/97.html

发表评论

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

联系我们

在线咨询:点击这里给我发消息

邮件:root#lijian.me(把#改为@)