Да, Вы правы.
Постараюсь описать, что у меня есть и как мне надо.
Есть комп № 1. Имеет 2 сет. интерфейса, один - реальный IP, второй - локальный. Этот комп получает на реальный интерфейс пакеты через интернет от оборудования, обрабатывет их и сохраняет на сервере БД (передает в локальную сеть). Потребовалось сменить провайдера. В этот комп был вставлен ещё 1 сетевой интерфейс, тоже с реальным IP, другого провайдера. Комп под управлением Windows XP, на нем стоит Kerio Winroute Firewall и программа обработки сигналов от оборудования. Часть оборудования перенастроена на новый IP, часть ещё нет. Далее началось
следующеее. Как временная мера, решил перенести 1 из реальных интерфейсов на другой комп. Поставил FreeBSD 5.4 на комп № 2.
Получалось следующее:
оборудование начинает соединение (tcp) с комп № 2
комп № 2 принимает пакеты на реальный IP, передает их на комп № 1.
комп № 1 принимает их, но ответы посылает через свой реальный интерфейс (что, как Вы заметили, правильно, поскольку они имеют реальный адрес отправителя).
при этом, оборудование ожидает соединения по интерфейсу компа № 2, ничего не получает и затыкается.
Мне же нужно простой проброс порта с комп № 2 на комп № 1, чтобы комп № 1 отсылал пакеты обратно на комп № 2, а тот уже - обратно оборудованию. С помощью rinetd это решено, НО: rinetd не работает с UDP, только с TCP. Обрудование же работает как по UDP так и по TCP и не имеет постоянных IP, присваиваются по DHCP в момент установления связи.
Понимаю, что сумбурно, но что-то не могу лучше объяснить.