пару дней идеи закончились.
Есть машина с двумя натами
ipfw -q nat 11 config if vtnet0 same_ports log redirect_port tcp 192.168.10.3:3306 3306
ipfw -q nat 12 config if vtnet1 same_ports log
пакет приходит с 8.8.8.8 на на порт 3306 попадает в первый нат, и должент выйти через второй нат с адресом интерфейса... но нет, выходит исходный адрес :(
адреса интерфейсов какие?
Сама постановка задачи гарантирует невозможность работы такой конструкции. Если клиент посылал tcp-пакет на IP-адрес vtnet0 и ты добьешься того, что хочешь, то есть чтобы ответный пакет прошел через другую трансляцию и ушел с другого IP-адреса, то клиент его дропнет в итоге, так как он не ожидает ответа от другого IP. Он примет только ответный пакет от того IP, на который посылал запрос.
огромное спасибо за разъяснение, подтвердили ряд сомнений - буду разбираться.
Обсуждают сегодня