@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
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Wexter
-A POSTROUTING -d 10.200.1.9 -p udp --dport 19130:19140 -j SNAT --to-source 10.200.1.8


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

Так уберите это правило
Ответ написан
@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
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
Решается через маршрутизацию.
На 10.200.1.9 прописать шлюзом по-умолчанию 10.200.1.8.
При этом не забыть прописать маршрут на 112.15.204.145 через нынешний шлюз.
Тогда сможете убрать это правило
-A POSTROUTING -d 10.200.1.9 -p udp --dport 19130:19140 -j SNAT --to-source 10.200.1.8
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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