Я запускаю простую сеть, содержащую 2 узла и шлюз. Мой сценарий выглядит следующим образом: Node1 хочет отправить сокет UDP IPv6 на Node2 через шлюз, который должен открывать сокеты, проверять данные и затем пересылать их.
Я настроил внутреннюю сеть между узлом 1 и шлюзом с адресом aaaa::/20 и другую сеть между шлюзом и узлом 2 с адресом aaab::/20. . Я изменил таблицу маршрутизации Node1, чтобы отправлять пакеты, предназначенные для сети aaab::/20, через ее интерфейс aaaa::/20, подключенный к шлюзу, и настроил первую для пересылки пакетов. .
Моя проблема в том, что при этом шлюз стал полностью прозрачным. Я хочу, чтобы мой шлюз мог ловить сокеты, даже если они ему не предназначены, открывая их, модифицируя их и перенаправляя в исходное место назначения. Погуглил и нашел предложения по использованию iptables, но я в них не разбираюсь.
Я использую 3 виртуальные машины под linux и программирую на c. Любая помощь, пожалуйста?!!