Мой домашний интернет-провайдер использует сеть на основе NAT, в моем внутреннем маршрутизаторе измененная прошивка маршрутизатора. Тогда у меня нет доступа ко всем функциям маршрутизатора. Добавьте это к тому факту, что они блокируют весь вывод данных на 22 порт, тогда у меня нет простого способа использовать ssh-клиент. После 2 недель запроса на обслуживание клиентов я получил только один технический визит, и "профессионал" не знает, что делать.

Я знаю, что могу использовать такие инструменты, как torsocks для подключения ssh через реле tor, это работает, но это слишком медленно. И обычно я использую среду с ssh+tmux+vim для программирования на облачном хосте.

Другой вариант, который у меня есть, это использование модема в доме ISP в качестве моста. Это может решить, но мне понадобится маршрутизатор 5G, которого у меня нет, и он достаточно дорогой в своем ассортименте. И поскольку они имеют полный удаленный контроль над программным обеспечением маршрутизатора, я не знаю, когда они уберут эту опцию.

Имейте в виду, что анонимность не является проблемой, так как я нахожусь в моем доме, и я просто хочу получить доступ к серверам, к которым у меня есть законный доступ.

Как я могу использовать локальный прокси (и какой), чтобы обойти это ограничение NAT?

Или есть более быстрый релейный конфиг для его решения?

2 ответа2

1

Если у вас есть возможность перейти на менее драконовского поставщика, вы должны рассмотреть это. Если ваши исходящие соединения SSH заблокированы, это, вероятно , по номеру порта , а не с помощью анализа пакетов (если анализ пакетов, убегают!), Так что вам нужен сервер SSH на другой порт , чтобы прыгать через.

Если у вас есть доверенный внешний SSH-сервер, к которому вы можете подключиться через порт, отличный от 22, вы можете использовать его для подключения к любому другому SSH-серверу, используя ProxyJump или его более старый (и более мощный) предшественник, ProxyCommand.

ProxyJump из командной строки:

ssh -J user1@external-jump-box.example.net:222 ton@final-target.example.com

ProxyJump использует запись в ~/.ssh/config

Host final-target
  HostName final-target.example.com
  ProxyJump user1@external-jump-box.example.net:222
  User ton

ProxyJump для каждого хоста, к которому вы хотите подключиться:

Host jump-box
  HostName external-jump-box.example.net
  Port 222
  User user1
Host *
  ProxyJump user1@external-jump-box.example.net:222

Указывать имя пользователя не нужно, если оно совпадает с тем, которое вы используете в локальной системе. Если вы удалите его, удалите строку User в вашей конфигурации и / или имя пользователя и знак (@), где он появляется. Я использовал отдельное имя пользователя для вашего окна перехода просто для иллюстрации, как это сделать.

(Это может создать бесконечный цикл. Если это так, вам придется использовать ProxyCommand. Дайте мне знать, и я запишу это здесь.)

Windows может сделать это с помощью PuTTY с помощью утилиты plink.exe, как описано в этом вопросе об эквивалентном OpenSSH ProxyCommand в PuTTY.

0

У меня есть такая настройка. Я использую свой ISP-модем и маршрутизатор с модифицированной микропрограммой для перенаправления входящего порта 22 и других соединений с моим наттованным сервером. Модем в режиме моста является обязательным, в противном случае вам придется переносить данные с самого модема, а не с модифицированного маршрутизатора.

Вы можете попробовать использовать другой порт, если заблокирован только порт 22. Брандмауэры для фильтрации трафика, просматривая каждый пакет, стоят дороже, и компания вряд ли будет его иметь. Тот факт, что вы можете использовать торсы для подключения, говорит о том, что они, вероятно, просто фильтруют порт 22.

НТН!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .