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

fwd с эфемерного ip на реальный

Добавлено: 2015-02-06 13:42:48
Lazy caT
Салют, всем.

Сейчас занимаюсь делением конторы на VLAN'ы. Есть маршрутизатор+PPTP сервер на FreeBSD
Раньше была одна подсеть, 10-я, в ней были все и компьютеры и телефоны и сервера и PPTP клиенты.
PPTP клиенты совершенно без проблем подключались к сети и заходили на терминалку, т.к. получали адреса из той же подсети где
находилась терминалка. Сейчас возникла необходимость перенести терминалку из одной подсети в другую. Хочу сделать так, чтобы
пользователи не знали об этом перемещении и подключались как и раньше. У терминалки адрес, в одном VLAN'е, к примеру 192.168.10.200,
в другом VLAN'е будет, к примеру, 192.168.15.15.

Так вот, хочу организовать в ipfw, на маршрутизаторе, правило типа fwd которое при приходе пакета на уже несуществующий адрес 192.168.10.200, форвардил бы его на 192.168.15.15.

на маршрутизаторе интерфейсы:
em0.10 -> в 10ю подсеть
em0.15 -> в 15ю подсеть

Прописывал в ipfw правило:

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

...
${FwCMD} fwd 192.168.15.15,3389 log tcp from any to 192.168.10.200 3389
...
Подключился VPN'ом, клиент получил адрес: 192.168.10.96 (ng0), попробовал подключиться по RDP к несуществующему адресу, в логах получил:

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

Feb  6 11:12:34 <13.6> core kernel: ipfw: 200 Forward to 192.168.15.15:3389 TCP 192.168.10.96:2978 192.168.10.200:3389 in via ng0
Feb  6 11:12:34 <13.6> core kernel: ipfw: 200 Forward to 192.168.15.15:3389 TCP 192.168.10.96:2978 192.168.10.200:3389 out via em0.10
т.е. получается что пакет не форвардится на адрес в 15й подсети. он уходит в 10ю подсеть

Где-то тут в темах читал что правило будет форвардить пакет только при условии если в arp таблице будет присутствовать mac компьютера куда форвардится пакет. mac в таблице есть:

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

[12:40] core:/var/log >arp -a | grep 192.168.15.15
? (192.168.15.15) at 00:0c:29:41:ba:c5 on em0.15 expires in 794 seconds [vlan]

Пробовал сделать то же только через nat с редиректом портов...
что-то типа:

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

...
${FwCMD} skipto 25000 log tcp from any to 192.168.10.200 3389
...
### NAT CONFIG ###################################################
${FCMD} nat 15 config log if em0.15 same_ports redirect_port tcp 192.168.15.15:3389 3389
### NAT ##########################################################
${FwCMD} 25000 nat 15 log ip from any to any via em0.15
##################################################################
...
Нифига, через nat то же никак не получается... :(

Вообще, есть какие-нибудь варианты решения подобного?
Очень неохота оставлять сервак в старой сети или переписывать все ярлыки RDP.

Хочу чтобы для конечного пользователя процесс переноса терминалки остался не замеченным.

fwd с эфемерного ip на реальный

Добавлено: 2015-02-06 14:06:13
skeletor
fwd не умеет форвардить на IP, который находится за пределами сервера. Для этих целей можно использовать redir/rinetd/bounce. Все они есть в портах.

fwd с эфемерного ip на реальный

Добавлено: 2015-02-06 14:44:57
Lazy caT
skeletor писал(а):fwd не умеет форвардить на IP, который находится за пределами сервера. Для этих целей можно использовать redir/rinetd/bounce. Все они есть в портах.
Ок, спасибо, ща будем посмотреть... :)

fwd с эфемерного ip на реальный

Добавлено: 2015-02-07 15:11:07
dekloper
Lazy caT писал(а): правило типа fwd
man ipfw часто помогает, проверено)