LINUX.ORG.RU

Проброс порта с сохранением IP источника openvpn

 , ,


1

2

Есть сервер 1 с IP 1.3.4.5 он же шлюз OpenVPN Есть сервер 2 с IP 2.3.4.5 Клиент Openvpn сервера №1

Необходимо с сервера #1 пробросить внешний (тот что смотрит в мир айпи) 80 порт на сервер №2 через туннель openvpn

PUBLIC_IP=212.24.17.13 - Публичный IPv4

/sbin/iptables -A FORWARD -p tcp -i eth0 -d 10.8.0.1 –dport 80 -j ACCEPT /sbin/iptables -t nat -A PREROUTING -p tcp -d $PUBLIC_IP –dport 80 -j DNAT –to-destination 10.8.0.1:80 /sbin/iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE

Нашел такое, оно работает, но из-за маскарада оно теряет IP с которого идет подключение на 80й порт.

Не особо силен в маршрутизации, потому обращаюсь к всевышним знатокам сего дела. Спасибо

Перемещено Dimez из linux-org-ru


Тебе нужно убрать маскарад, и заморочиться с маршрутизацией на другом конце тунеля. Придётся поплясать с бубном вокруг маркировки соединений, ip rule и нескольких таблиц маршрутизации.

Khnazile ★★★★★
()

ставь на реальном IP nginx revers proxy он в заголовках (headers) передаст исходный IP клиента

futurama ★★★★★
()
Ответ на: комментарий от futurama

Не подходит данный вариант, как работать с NGINX я знаю. Нужно сделать проброс именно на сетевом уровне, а не L7

Ano921
() автор топика
Ответ на: комментарий от Khnazile

Я готов даже профинансировать это (если это тут не запрещено) ?))

Ano921
() автор топика
Ответ на: комментарий от Ano921

Тогда тебе изучать «linux» + «source policy routing»

Мы, русские форумы, не любим помогать ДЕЛАТЬ, мы помогаем УЧИТЬСЯ

futurama ★★★★★
()
Ответ на: комментарий от Ano921

Я слишком много времени потеряю на этом,

Прошло 3 дня …

Жди, не учи ничего, скоро подгонят решение

futurama ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.