Как получить доступ к машине позади ограниченного шлюза NAT, которым я не управляю?

При запуске программы в терминале терминал "зависнет", пока программа не останавливается. Путем нажатия Ctrl+c Вы закрываете свою программу и таким образом возвращаетесь к подсказке. Вы будете видеть это со всеми приложениями для GUI, попробовать Firefox, например.

При использовании некоторого другого метода, такого как Alt+F2 или нажимающий через меню программа запущена в фоновом режиме, таким образом, ничего странного не происходит (и нет никакой командной строки так или иначе).

Если Вы все еще хотите запустить приложения для GUI от терминала, добавить & в конце Вашей команды, как так

lxpanel &

Это говорит терминалу работать lxpanel в фоновом режиме и дайте Вам другую подсказку сразу.

6
05.12.2012, 21:34
3 ответа

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

Таким образом, необходимо будет установить некоторое соединение между машиной общежития D и некоторой внешней машиной E вне кампуса. Затем когда Вы захотите соединиться со своей машиной общежития от некоторого клиента C, соединиться с E вместо этого и настроить E так, чтобы это передало соединение.

Для соединения D→E можно использовать VPN. Это требует доступа корневого уровня и на D и на E. VPN дает возможность соединения IP между D и E, таким образом, от C Вы сможете получить доступ к любой сетевой службе на D, который E готов направить между C и D.

Решение более легкого веса состоит в том, чтобы установить соединение SSH от D и E, который только требует учетной записи с доступом через оболочку с обеих сторон (и E должен позволить SSH, конечно). От D, выполненного

ssh -R 2242:localhost:22 E sleep 999999999

Это создает перенаправление портов от E до D: любая связь, установленная с E на порте 2242, передается к D на порте 22. Порт 22 является ssh портом, поэтому когда Вы работаете ssh -p 2242 E, это подключает Вас к D, где можно войти в систему. Для автоматизации этого можно определить псевдоним в ~/.ssh/config как следующее (PuTTY имеет подобные настройки, консультируйтесь с его руководством):

Host dorm
UserName bob
HostName E
Port 2242

Можно направить несколько портов тот путь. Например, к также релейному порту 8042 на E для портирования 80 на D:

ssh -R 2242:localhost:22 -R 8042:localhost:80 E sleep 999999999

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

4
27.01.2020, 20:28

Если у Вас есть машина, которая не находится позади NAT (т.е. свободно доступный из Интернета), Вы можете ssh в него от машины в кампусе и передают произвольные удаленные порты соответствующему локальному (на машине кампуса) порты через это ssh сессия - опция для OpenSSH -R. Вы затем соединились бы с переданным портом на non-NATed машине, и ssh от компьютера кампуса туннелирует данные через кампус NAT. Немного неуклюжий, но это работает.

2
27.01.2020, 20:28

VPN может решить это, да.

А именно, Вам будет нужна VPN, которая позволяет перенаправление портов. У меня только есть опыт с Mullvad, и они делают это, но я уверен, что много других VPNs также обеспечивают это.

С большинством сервисов Вы, вероятно, не можете ожидать передавать произвольные порты (22 для ssh, например), таким образом, необходимо было бы использовать некоторый "случайный" порт высокого числа. Но конфигурирование ssh/ftp для этого должно быть очень простым.

0
27.01.2020, 20:28

Теги

Похожие вопросы