Каким образом можно открыть порт в Windows 10 для доступа из внешней сети?

Как мне подключиться к своему компьютеру в локальной сети, используя адрес <a href="http://192.168.1.7" rel="nofollow">192.168.1.7</a>:9978, после того как я установил SSH-соединение с удаленным тестовым сервером с помощью команды в PowerShell: <pre><code>ssh -i "~/.ssh/id_ed25519" -NL 9978:localhost:8081 [email protected] -p 5821</code></pre>? На данный момент доступны только другие порты, использующие Docker-контейнеры, но я не могу получить доступ к порту 9978.
  • 9 ноября 2024 г. 16:03
Ответы на вопрос 3
Чтобы открыть порт в Windows 10 для доступа из внешней сети, нужно выполнить несколько шагов. Процесс включает в себя настройку брандмауэра Windows и, если необходимо, настройки на вашем маршрутизаторе.

### Шаг 1: Настройка брандмауэра Windows

1. **Откройте панель управления:**
   - Нажмите `Win + R`, введите `control` и нажмите Enter.

2. **Перейдите в раздел «Система и безопасность» (System and Security).**

3. **Нажмите на «Брандмауэр Windows» (Windows Defender Firewall).**

4. **Выберите «Дополнительные параметры» (Advanced settings)** в левой части окна.

5. **В меню слева выберите «Правила для входящих подключений» (Inbound Rules).**

6. **Создайте новое правило:**
   - Нажмите на «Создать правило» (New Rule…) в правой части окна.
   - Выберите «Порт» (Port) и нажмите Далее.
   - Убедитесь, что выбран «TCP», введите номер порта `9978`, затем нажмите Далее.
   - Выберите «Разрешить подключение» (Allow the connection) и нажмите Далее.
   - Убедитесь, что выбраны все профили (Domain, Private, Public), затем нажмите Далее.
   - Введите имя для правила, например «Open Port 9978», и нажмите «Готово» (Finish).

### Шаг 2: Настройка SSH-туннелирования

***Убедитесь, что служба SSH на вашем локальном компьютере настроена правильно и запущена.***

Вы используете следующую команду для создания SSH-туннеля:

```powershell
ssh -i "~/.ssh/id_ed25519" -NL 9978:localhost:8081 [email protected] -p 5821
```

Эта команда устанавливает SSH-соединение с удаленным сервером и пробрасывает локальный порт `9978` на порт `8081` удаленного сервера.

### Шаг 3: Подключение из локальной сети

Теперь, когда туннель создан с вашего удаленного тестового сервера на ваш локальный компьютер, вы можете подключаться к этому порту.

- **Используйте browser или терминал:**
   - Откройте браузер и перейдите по адресу `http://192.168.1.7:9978`. Если на этом порту доступен какой-то сервис, вы сможете подключиться к нему.

### Примечания:

- Убедитесь, что ваше приложение, использующее порт `8081`, активно на вашем локальном компьютере.
- Если ваш локальный компьютер находится за NAT (например, если он подключен к роутеру), может потребоваться настроить порт-форвардинг на роутере.
- Для доступа из внешней сети вам нужно будет использовать внешний IP-адрес вашего маршрутизатора и настроить проброс порта `9978` на ваш локальный IP-адрес (в данном случае `192.168.1.7`).

Если после выполнения всех шагов вы все равно не можете подключиться к порту `9978`, проверьте настройки вашего приложения и брандмауэра.
ssh -i "~/.ssh/id_ed25519" -NL 192.168.1.7:9978:localhost:8081 [email protected] -p 5821
Вы выполнили простой вызов ssh, причём тут powershell? 

Чтение документации на использованные команды и ключи помогает понимать, что именно вы делаете...

Используйте команду:

ssh -i "~/.ssh/id_ed25519" -NL 0.0.0.0:9978:localhost:8081 [email protected] -p 5821
Похожие вопросы