История изменений
Исправление ValdikSS, (текущая версия) :
В обычной ситуации оно ни разу не сработает
Да, наверное, вы правы. Я мыслю транзитным трафиком.
У ТС’а просто tcp сервер слушает, ему не нужно про такое страшное знать :)
Без bind прослушивающего сокета на адрес не сработает: ответные пакеты в общем случае будут отправляться с IP-адреса и интерфейса default route main-таблицы. В линуксе же weak host model. Без bind у них будет src addr условно 0.0.0.0, а не тот, что попадает под rule.
Все проблемы можно элегантно решить bind’ом только на интерфейс (либо на адрес+интерфейс), это самый простой способ, не требующий раздельных таблиц маршрутизации и правил, но немногие программы это поддерживают, поэтому приходится городить.
Исходная версия ValdikSS, :
В обычной ситуации оно ни разу не сработает
Да, наверное, вы правы. Я мыслю транзитным трафиком.
У ТС’а просто tcp сервер слушает, ему не нужно про такое страшное знать :)
Без bind прослушивающего сокета на адрес не сработает: ответные пакеты в общем случае будут отправляться с IP-адреса и интерфейса default route main-таблицы. В линуксе же weak host model.
Все проблемы можно элегантно решить bind’ом только на интерфейс (либо на адрес+интерфейс), это самый простой способ, не требующий раздельных таблиц маршрутизации и правил, но немногие программы это поддерживают, поэтому приходится городить.