Входящий пакет не доставляется в сокет

У меня есть приложение vpn, которое подключается к серверу vpn с помощью tcp-сокета. Я отметил пакеты сокетов tcp с помощью setsockopt и SO_MARK . Я могу успешно ping 10.0.0.1 ping vpn gateway ping 10.0.0.1 .
Затем я пытаюсь маршрутизировать весь трафик через vpn. Я создаю другую таблицу и добавляю шлюз по умолчанию с ip route add default via 10.0.0.1 dev tun0 table 200 и ip rule add lookup 200 .
Но тогда собственные пакеты vpn начинают проходить через vpn. Я запускаю ip rule add fwmark 1234 lookup main а собственные пакеты vpn исключаются из vpn. Я могу видеть их с помощью tcpdump, проходящих через eth0 и vpn серверы, отвечающие им. Но входящие пакеты не доставляются в tcp-сокет. Кажется, что ядро ​​их бросает. Зачем?

  • Установка vsftpd - 500 OOPS: невозможно связать прослушивание сокета IPv4?
  • / proc / PID / fd / X номер ссылки
  • Многоадресный клиент UDP по ipv6
  • Какие значения setsockopts () 'name' используются текущим ядром Linux?
  • Как проверить, взаимодействуют ли два локальных процесса через сокеты или ipcs?
  • В AIX, как я могу получить полный путь к программе, связанной с портом?
  • Как ограничить весь трафик tcp сетевому интерфейсу, на котором был запущен сеанс?
  • Убедитесь, что файловый сокет уже открыт
  • Правило Udev, устанавливающее сокет SocketCAN, работает корректно только при запуске вручную
  • Как спровоцировать сломанную трубу
  • Выполняется отлично через командную строку, не будет работать через systemd ExecStart
  • Interesting Posts

    Неправильный шаг с grub при установке на USB-накопитель?

    Как настроить внешний вид списка почтовых ящиков Thunderbird, списка сообщений и заголовков?

    Настроить схему солнечных батарей на LXTerminal

    Знание того, когда write () на serial port завершил передачу данных

    Как перенаправить вывод команды и ошибку на два разных файла?

    Как вы предотвращаете зависание системы при израсходовании памяти?

    Как обнюхать информацию о загрузке различных компьютеров в сети (маршрутизатор)

    Как показать простой режим работы в строке состояния tmux?

    Linux Mint Debian: По-видимому, доброкачественное сообщение об ошибке с aptitude

    Как я могу указать требования OS-условной сборки в файле спецификации RPM?

    Как округлить или преобразовать значение float в int с помощью bc? получение: "(standard_in) 1: синтаксическая ошибка"

    Почему я все еще получаю предупреждения об отказе от pkg?

    zsh: удалить предсказанный текст

    условный DirectoryIndex на основе IP-адреса, используя .htaccess

    Программа для отслеживания изменений файлов / каталогов в Linux

    Linux и Unix - лучшая ОС в мире.