ens19 10.0.88.111 gw 10.0.88.254
veth88 172.30.100.100 gw 172.300.100.254
на veth88 прилеает пакеты из сети узанной выше и менются заголовки на 172.16.100.0/24 и dst любой интернет адрес,их надо перенаправить на ens19, роуты были все работало, пока виртуалка не упала и роуты пропали,а инженер,что их делал уже уволился, и не отвечает)
Для редактирования заголовка пакета использую nfqueue, сегодня проводил тест на мини-пк, на который и хочу поставить приложение для обработки с CPU: Intel Celeron J3160, и запустил на своём личном с AMD Ryzen 5 3500U , на моём потерей в сети 0%. Думаю дело в процессоре, как он может быстро поднять пакет в userspace,а суть в том, что я могу знать откуда пойдёт исходящие соединение ( что я могу просто iptables обработать) но я не могу знать откуда из вне может прийти соединение.
Я просто все что приходит от и из вне ( обе вероятнее всего будут серые сети) упаковываю в самописный туннель что работает по L3 , на другом конце также стоит моё второе приложение и распаковывает пакет и делает его таким каково оно было изначально, если сделать Gre туннель для VPN то он будет работать L2 поверх L3 и не будет tcp акселерации которая на L3 работает. То есть я обеспечиваю L3 Vpn что-то вроде этого)
спасибо за ответ, я пробовал создать карту по типу map[uint16]bool, все работало,как надо но захотелось сделать вычисление на месте, без дополнительных структур.
uvelichitel, а что скажете по хранение данных в памяти? лучше в мапе хранить или же использовать редис? данных примерно будет 2000 элементов в стиле map[int]dataStruct
res2001, Планируется вообще разобрать заголовок и изменить исходный ( установить адрес сервера) и адрес назначение(адрес другого сервера), далее в кэш записать заголовок и по достижению определённого размера кэша отправить его на другой сервер который в свою очередь соберёт пакет и отправит в изначальный пункт назначения.
Валентин,идея изначальна была в том,чтобы перезаписывать тэг вилана и как-то оставлять метку для передачи другому шлюзу, чтобы он на своей стороне уже понимал какой то вилан (10 или 20) и кому сессия принадлежит.
Andrey Barbolin, идея изначально заключалась, чтобы ускорить процесс передачи данных и протестировать данную идею, которую я изначально считал "мягко говоря" не очень и не нашёл даже примерных реализаций,поэтому решил обратиться за помощью, может кто встречался с данной проблемой.
Валентин, вот я и хотел узнать реально ли пропустить так прозрачно vlan? Если нет то какие имеются обходные пути и ещё в схеме забыл указать что связь с интернетом идёт через спутниковый модем что будет стоять с двух сторон перед шлюзами.