Реализация TCP/IP стека в Linux.
В TCP/IP стеке linux разработать механизм направлять трафик к удаленному хосту, через тот же самый шлюз (в сети с несколькими шлюзами), через который был получен запрос.
Подробнее о постановке задачи можно почитать тут: http://kb.juniper.net/InfoCenter/index?page=content&id=KB14429