@Romo4ka_eto_ia
Просто человек

Как передавать реальный айпи по udp через GRE?

Здравствуйте, у меня есть 2 сервера, с 1 UDP трафик идёт на второй через iptables, вот правила которые это делают:
-A PREROUTING -d 112.15.204.145/32 -p udp --dport 19130:19140 -j DNAT --to-destination 10.200.1.9
-A POSTROUTING -d 10.200.1.9 -p udp --dport 19130:19140 -j SNAT --to-source 10.200.1.8

Всё работает, но проблема в том что передается айпи 10.200.1.8 вместо реального айпи человека. Как можно это исправить?

P.S. вот с таким tcp правилом проблем нет, тут передаётся реальный IP
-A PREROUTING -d 112.15.204.145/32 -i eth0 -p tcp --dport 25500:25600 -j DNAT --to-destination 10.200.1.9
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MechanID
Админ хостинг провайдера
Правилом -A POSTROUTING -d 10.200.1.9 -p udp --dport 19130:19140 -j SNAT --to-source 10.200.1.8
вы переписываете ип адрес отправителя пакета на свой

Если этого не делать что все ломается потому что пакет пришол на ваш сервер 1 тот его передал серверу 2, сервер 2 ответил.... но отправитель пакета ждет ответ от сервера 1 а не сервера 2
Что делать:
правило выше убрать и на сервере 2 настраивать маркировку пакетов при помощи iptables и правила роутинга на основе марикровки пакетов чтобы все что пришло через интерфейс с гре уходило тудаже а не через сетевку за которой дефолтный гейтвей, наиблизкий пример как настраивать - в документации LARTC раздел про мульти WAN
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы