Мультиремесло: перенаправление портов через туннель GRE

В течение прошлой недели я пытался защитить сервер от DoS-атак путем использования туннеля GRE с VPS на выделенную машину без большого успеха.

Визуальный:

User --> VPS --> Dedicated Server

Я следовал нескольким руководствам BUYVM и Minecraft Защита DDOS и изменил его по мере необходимости.

Что я сделал до сих пор:

На обеих машинах загружаются следующие модули ядра

ip_gre
ip_nat_pptp
ip_conntrack_pptp

Дополнительно перенаправление портов ipv4 включено на обеих машинах.

Установка GRE на выделенной машине:

ip tunnel add veridian mode gre remote VPS_EXTERN_IP local DEDICATED_EXTERN_IP ttl 255
ip link set veridian up
ip addr add 10.10.10.1/24 dev veridian

Это производит интерфейс:

veridian  Link encap:UNSPEC  HWaddr 3F-8D-F2-FA-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.10.10.1  P-t-P:10.10.10.1  Mask:255.255.255.0
          inet6 addr: fe80::200:5efe:3f8d:f2fa/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1476  Metric:1
          RX packets:4016 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3970 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:338404 (338.4 KB)  TX bytes:359357 (359.3 KB)

Установка GRE на VPS

ip tunnel add gre1 mode gre remote DEDICATED_EXTERN_IP local VPS_EXTERN_IP ttl 255
ip link set gre1 up
ip addr add 10.10.10.2/24 dev gre1

Это производит интерфейс:

gre1      Link encap:UNSPEC  HWaddr 68-83-98-C8-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.10.10.2  P-t-P:10.10.10.2  Mask:255.255.255.0
          inet6 addr: fe80::200:5efe:6883:98c8/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP  MTU:1476  Metric:1
          RX packets:3743 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3811 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:314188 (314.1 KB)  TX bytes:335587 (335.5 KB)

Добавление IP интерфейса VPS к Таблице Исходного маршрута на Выделенном сервере:

echo '100 VERIDIAN' >> /etc/iproute2/rt_tables
ip rule add from 10.10.10.0/24 table VERIDIAN
ip route add default via 10.10.10.2 table VERIDIAN

Какие работы

Отсюда я могу проверить с помощью ping-запросов Выделенный сервер от VPS успешно

ping 10.10.10.1

и наоборот

ping 10.10.10.2

Дополнительно, когда я устанавливаю запись NAT на VPS

iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j SNAT --to-source VPS_EXTERN_IP

Я могу успешно получить внешний IP VPS от Выделенного сервера путем выполнения:

curl http://www.cpanel.net/showip.cgi --interface 10.10.10.1

Что не работает - перенаправление портов

На VPS я теперь работаю:

iptables -t nat -A PREROUTING -p tcp -d VPS_EXTERN_IP --dport 25565 -j DNAT --to-destination 10.10.10.1:25565

iptables -A FORWARD -p tcp -d 10.10.10.1 --dport 25565 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Я теперь пытаюсь соединиться с играющим сервером через внешний IP-адрес VPS без любого успеха.

Я боролся с этим больше недели, любая справка очень ценилась бы.

Обновление

Все выше корректно.

Немного больше отладки и я нашли, что демон обертки (Мультиремесло) для игровых блоков сервера localhost соединения, когда внешний IP установлен для игрового экземпляра.

Решение состоит в том, чтобы установить IP на 0.0.0.0, и перенаправление портов работает отлично.

Multicraft

3
задан 31 January 2015 в 19:52
1 ответ

Поскольку я не вижу этого в показанной вами документации, я предполагаю, что вы забыли включить переадресацию IP.

Выполните следующую команду, чтобы убедиться, что это действительно так. :

sysctl net.ipv4.ip_forward

Если переадресация IP действительно отключена, вы должны увидеть:

net.ipv4.ip_forward = 0

Если это ваша проблема, запустите:

sysctl -w net.ipv4.ip_forward=1

Возможно, ваша проблема связана с тем, что порты не открыты / брандмауэры блокируют порты.
Вы можете легко проверить это с вашего VPS на выделенную машину с помощью nmap:

nmap -A 10.10.10.2/24 -p 25565

И с вашей клиентской машины на вашу внешне доступную машину таким же образом, но замените 10.10.10.2 на внешний адрес вашего VPS.

1
ответ дан 3 December 2019 в 07:27

Теги

Похожие вопросы