LINUX.ORG.RU
ФорумAdmin

Настройка маршрутизации между локальной и внешней сетью


0

0

Поставлена следующая задача.

Есть локальная сеть. В локальной сети есть рабочая станция с внутренним ip например 192.168.0.100
Есть сервер который через eth0 открыт во внешнюю сеть и через eth1 во внутреннюю.
Нужно чтобы пакеты приходящие на сервер на порт 1094 форвардились на рабочую станцию во внутренней сети на тот же порт и чтобы работало все в обратную сторону.

Для этого я написал несколько правил

Условно:
ip сервера внешний: 1.2.3.4
ip сервера внутренний: 192.168.0.1
ip рабочей станции 192.168.0.100
порт например 1094

сначала для входящих пакетов (из внешней сети на сервер и потом на локальную рабочую станцию)

iptables -t nat -A PREROUTING -i eth0 -d 1.2.3.4 -dport 1094 -j DNAT --to-destination 192.168.0.100:1094

iptables -t nat -A POSTROUTING -o eth1 -d 192.168.0.100 -dport 1094 -j SNAT --to-source 192.168.0.1

потом для исходящих (с рабочей станции в локальной сети на сервер)

iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.100 -sport 1094 -j DNAT --to-destination ... (непонятно как запомнить тот ip внешний который был в начале)

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.100 -sport 1094 -j SNAT --to--source 1.2.3.4

Помогите в этом вопросе!!!

Ничего запоминать не надо, для этого есть conntrack, обратные пакеты сами дорогу найдут

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

Значит нужны только два первых правила?

anonymous
()

-A POSTROUTING -s 192.168.0.100 -o -j SNAT --to-source 1.2.3.4
-A PREROUTING -d 1.2.3.4 -p tcp --dport 1094 -j DNAT --to-destination  192.168.0.100

Этого вроде должно быть достаточно...

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