Страница 1 из 1

Iptables и проброс порта во внутрь

Добавлено: 2010-03-25 22:58:19
InventoR
Собственно буду очень признателен за помощь в освоении iptables, слишком уже кипит мозг.
Ситуация такая, есть роутер с 3-мя заведенными провайдерами.
Есть внутри сети сервер с открытым портом к примеру 12500, надо сделать так чтобы этот самый порт был доступен одновременно со всех 3-х провайдеров и клиенты подключались на сервере на порт 12000.
Как это видется? тупой DNAT и SNAT не проходят (почему сам не знаю, но думаю что не будет нормально работать.)
Что нужно? сделать так чтобы когда идет пакет из интернета на этот порт, сервер навешивал на пакет маркер, чтобы потом разобрать от куда пришел пакет и отправить его туда-же.
Отправкой пакетов назад по метке занимается iproute2.

Код: Выделить всё

                   eth1 (port 12000) mark 1  |               |
Client ------- eth2 (port 12000) mark 2  | Gateway | eth0 ------------ server (port 12500)
                   eth3 (port 12000) mark 3  |               |
Сейчас есть правила вида:

Код: Выделить всё

iptables -t nat -A PREROUTING -p tcp  --dport 12000 -d $my_inet_ip -j CONNMARK --set-mark 2
iptables -t nat -A PREROUTING -p tcp -d my_inet_ip --dport 12000 -j DNAT --to-destination server:12500

from all fwmark 2 lookup T1
ip route add default via $prov_gate table T1

iptables -t nat -A POSTROUTING -o $inet_interface -j MASQUERADE
Пытаюсь заставить работать подключение из вне по eth2, но в упор не хочет.

Re: Iptables и проброс порта во внутрь

Добавлено: 2010-03-29 11:21:06
Adekamer
наачнем по порядку:
uname -a
cat /etc/issue
ifconfig
netstat -r
iptables -L
iptables -t nat -L

Re: Iptables и проброс порта во внутрь

Добавлено: 2010-03-29 15:44:14
InventoR
В общем здесь проблема решена, применил CONNTRACK, без этого не получилось разрулить три канала.