Мой домашний маршрутизатор DD-WRT имеет несколько интерфейсов, среди которых:
- eth0: ISP WAN
- eth1: LAN
- tun0: открыть настройку VPN-клиента на частном доступе к интернет-провайдеру
Я размещаю NAS "Joe" в локальной сети, доступной из Интернета через порт 12345 благодаря переадресации портов (AKA D-NAT). До установки tun0 на DD-WRT это работало нормально.
Теперь на DD-WRT "Джо" настроен на прохождение tun0.
Следовательно, когда я подключаюсь к Джо:12345 из Интернета, происходит следующее:
- Джо получает пакет TCP SYN
- Джо отвечает, отправляет как TCP ACK пакет инициатору
- Проблема: DD-WRT направляет TCP ACK на tun0 вместо eth0
- Соединение инициатора никогда не подтверждается
Моя идея состоит в том, чтобы использовать таблицы IP, чтобы иметь возможность правильно направлять пакеты TCP, то есть:
- TCP-соединение "Joe", инициированное с eth0: ответ через eth0 (вместо tun0)
- другой трафик от "Джо": маршрутизируется через tun0
Я смотрю на маркировку пакетов с помощью таблиц IP, но пока безрезультатно. Как я могу исправить эту проблему маршрутизации интерфейса?