У меня есть эта конфигурация сети:
- Local router 10.0.0.1, public IP 1.2.3.4
forwarding port 1002 to 10.0.0.2
forwarding port 1003 to 10.0.0.3
- Local host 10.0.0.2, server on port 1002, no default route
- Local host 10.0.0.3, server on port 1003, default route via 10.0.0.1
- Remote host public IP 5.6.7.8
Брандмауэры не настроены.
Я могу подключиться с 10.0.0.3 до 10.0.0.2:1002 без проблем.
С 5.6.7.8 я подключаюсь к 1.2.3.4:1003 без проблем, но 1.2.3.4:1002 не отвечает. Однако, если я добавлю маршрут по умолчанию через 10.0.0.1 на хосте 10.0.0.2, соединение начнет работать.
Таким образом, подключение к 10.0.0.2:1002 всегда работает в локальной сети, но работает с удаленных хостов, только если включен маршрут по умолчанию.
Я не понимаю разницы: с точки зрения 10.0.0.2, почему и входящий упакованный отличается, когда приходит с другого локального IP или когда он пересылается?