• Как передавать UDP пакеты через определенный интерфейс?

    Mystray
    @Mystray
    NOC
    Это потому, что linux все, что предназначено ему самому -- никогда и не будет слать наружу.
    Возможный выход - один из интерфейсов переместить в выделенный Network Namespace. Тогда из основной системы этот интерфейс пропадет и появится уже в этом namespace, вместе со своей, отдельной таблицей маршрутизации и правилами фаервола.
    Соответственно и одно из приложений так же запускать внутри этого namespace.
    Но следует учитывать, что и приложение будет или работать в основной системе, или работать в этом namespace, и никакого сетевого взаимодействия кроме как через "снаружи" у них не будет (если не сделать этого явно)
    Ответ написан
    Комментировать
  • Как передавать UDP пакеты через определенный интерфейс?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    пакет должен уходить в eth1, "пройти" через оборудование и попасть в eth2. Проблема в том, что система не отправляет пакеты в интерфейс и далее в оборудование, а сразу "получает" их на eth2.

    Всё верно, без фокусов эта схема работать не будет.
    Возможные фокусы:
    - посылать пакет через RAW сокет, чтобы маршрутизатор ядра не вмешивался;
    - посылать пакет не на адрес eth2, а на другой адрес. Править адрес назначения с помощью iptables, в таблице mangle, в цепочке POSTROUTING.
    Ответ написан
    1 комментарий