Lo más probable es que su sistema cliente (desde el que está ejecutando telnet )no tenga habilitado TCP keepalive globalmente (y podría decirse que no debería ), y el sistema integrado no se está cerrando la conexión con gracia.
Este es un problema común con los servicios de red que generan procesos separados para cada sesión de usuario y luego no los terminan cuando el proceso principal se cierra (Sin embargo, en el otro lado de la moneda, puede reiniciar el servicio para una actualización sin afectar a los usuarios conectados, razón por la cual hacen esto en primer lugar ).
так что ответ (после того, как @YoMismo поставил меня на правильный путь )добавить еще одно правило iptables:
sudo iptables --table nat -A POSTROUTING -s 192.168.42.0/24 ! -d 192.168.42.0/24 -j MASQUERADE
Результат можно увидеть с помощью
sudo iptables -t nat -L -n -v
Подводя итоги :Добавьте маршрут на устройство, требующее доступа, следующим образом:
sudo ip route add 0.0.0.0/0 via 192.168.42.21 dev wlan0
192.168.42.21 — это IP-адрес «мостового» адаптера Wi-Fi на «маршрутизаторе Linux»
Затем добавьте правила iptables в «linux router» следующим образом:
sudo iptables -A FORWARD -d 192.168.42.0/24 -o wlx801f0281f02a -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 192.168.42.0/24 -i wlx801f0281f02a -j ACCEPT
sudo iptables -A FORWARD -i wlx801f0281f02a -o wlx801f0281f02a -j ACCEPT
sudo iptables --table nat -A POSTROUTING -s 192.168.42.0/24 ! -d 192.168.42.0/24 -j MASQUERADE
Опять же, wlx801f0281f02a — это интерфейс мостового ключа Wi-Fi, который я использую для подключения к сети 192.168.42.0/24.
Таким образом, интернет-запросы на устройстве-источнике направляются с использованием маршрута на устройстве-источнике на 192.168.42.21 на «маршрутизаторе Linux», где они проходят NAT и перенаправляются на шлюз.
Обратите внимание, что переадресация IP _уже включена.
Сделайте правила постоянными или поместите их в сценарий bash, если требование является временным/специальным.