LINUX.ORG.RU

Вы какой трафик хотите гонять, входящий или исходящий? Если исходящий, то тут не порты открывать, а маршруты на машине прописывать. Если входящий - то прописывайте как обычно, основной шлюз роли играть не должен.

На нужном шлюзе что-то вроде

iptables -t nat -A PREROUTING -i ${EXTERNAL_INTERFACE} -p tcp --dport ${REDIRECTED_PORT} -j DNAT --to-destination ${TARGET_IP}:${TARGET_PORT}
l0stparadise ★★★★★
()
Последнее исправление: l0stparadise (всего исправлений: 1)
Ответ на: комментарий от l0stparadise

Не знаю как это шлюз играть роли не должен. На практике у меня ответы от сервера не приходят, когда гейтом стоит не шлюз.
Т.е. клиент с белым ip, сервер за nat. Если гейтом сервера стоит шлюз, то порт сервера отвечает клиенту, если гейт другой, то ответ клиенту не доходит.
Проброшено именно так, как в Вашем примере.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

https://www.frozentux.net/documents/iptables-tutorial/

пробежи доку, там есть прекрасная схема прохождения пакета

По сути, два правила - делаешь правило на prerouting и разрешаешь forward.

у которой гейтом стоит не этот шлюз.

блин, надо прекращать читать по диагонали

На шлюзе, который будет пробрасывать порт, делай пометку на пакетах. А на целевой машине сделай правило по маршрутизации для помеченых пакетов. Вроде как tc такое может.

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 2)
Ответ на: комментарий от targitaj

Ах да, сервер виндовый, клиент виндовый.
Хотелось бы что-бы шлюз отсылая пакет терменировал соединения через себя, т.е. какбы являлся источником пакета, чтобы пакет не пошёл через гейт, а пошёл опять на шлюз.

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

И да, я понимаю, что проще поднять впн, но хотелось бы знать возможно ли решение без впн.

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

Ах да, сервер виндовый, клиент виндовый.

ну ёмаё

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

На шлюзе, который будет пробрасывать порт, делай пометку на пакетах. А на целевой машине сделай правило по маршрутизации для помеченых пакетов. Вроде как tc такое может.

Помечать там можно разве что tos, полагаться на который я бы не стал. Вдруг что-нибудь с таким же tos придет с основного шлюза?

Либо делай SNAT для таких пакетов на шлюзе, через который они будут приходить, либо вешай второй адрес на целевую машину, направляй DNAT'ом туда трафик, и разруливай его там через policy routing.

UPD: а, ну в случае венды только SNAT и остается

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Если я правильно понял и вас не интересует ip самого клиента, то iptables .... -j MASQUERADE должен помочь.

anc ★★★★★
()

Чисто теоретически тут помог бы source routing. Но не очень понятно, поддерживает ли его WinServer.

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

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

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

как уже ответил anc -j MASQUERADE.

Вы dnat сделали, да только вот ответ пошел через gefault gw, тк src-address остался прежним. Надо еще и snat сделать - те masquerading вам в помошь.

samson ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.