Уважаемые господа, подскажите где я не так что сделал?
Ситуация:
Некий сервис в локальной сети на порту XXXX ждет входящих соединений. Сетка от интернета отгорожена машиной с FreeBSD.
Машина работала в качестве прокси и был запущен natd для протоколов imap pop3 и smtp. Почту все забирают, http трафик у всех есть. Теперь вот появилась необходимость открыть порт XXXX для доступа из интернета.....
В жизни такого еще не приходилось делать, начались эксперименты. Для начала запустил еще один natd, чтоб не поломать того, что уже работает и отслеживанием пакетов вывел для себя такие правила:
ipfw add divert 8669 tcp from any $UNPRIVPORTS to $EXT_IP XXXX in via $EXT_I
ipfw add pass log tcp from any $UNPRIVPORTS to $INT_NET XXXX in via $EXT_I
ipfw add pass log tcp from any $UNPRIVPORTS to $INT_NET XXXX out via $INT_I
ipfw add pass log tcp from $INT_NET XXXX to any $UNPRIVPORTS in via $INT_I
ipfw add divert 8669 tcp from 192.168.1.5 XXXX to any $UNPRIVPORTS out via $EXT_I
ipfw add pass log tcp from $EXT_IP XXXX to any $UNPRIVPORTS out via $EXT_I
NAT запущен так
/sbin/natd -redirect_port tcp 192.168.1.5:5555 5555 -interface rl1 -p 8669 -l -log_denied -s -m
все, коннект проходит, выдается сообщение что мол здрасьте и т.д. и т.п. и тут же завершается. ни в каких логах нет ни чего о блокировке пакетов, все ходит.... Но почему так? Почему происходит завершение соединения?