Многие люди в IT-среде давно уже привыкли к наличию прямого доступа в интернет, и о временах повального использования провайдерами PROXY-серверов вспоминают с большой долей иронии. А некоторые даже не застали этих замечательных решений, популярных на заре интернета. Но не так дела обстоят в корпоративном секторе: борьба за мифическую безопасность порождает странные корпоративные требования. Благодаря им, привычная работа разработчика в сети Интернет становится невозможной, и человеку приходятся искать самые нетривиальные пути обхода результатов бурной фантазии эффективных менеджеров.
Ситуация: вы находитесь в сети с заблокированным NAT, корпоративный Proxy пускает только на отраслевые сайты по белому списку, и в этом списке GitHub.com, конечно, не значится. Вам нужно заполучить доступ ко всему интернету и еще заставить работать Git. Причем нужно это сделать так, чтобы без ввода логина-пароля никаких подключений не создавалось, а при установке соединения на рабочем компьютере небыло признаков подключения к интернету (чтобы работал только специально отведенный для Интернета браузер и консольный git). Понятно, что в такой ситуации шансов заполучить Интернет практически нет.
Но вам повезло: у вас чудом появился SSH-доступ к Linux-машине, на которой есть человеческий Интернет. Как организовать скрытый доступ к всемирной паутине? Самый простой способ - сделать между рабочей станцией и Linux-машиной VPN-соединение. Но при установке такого соединения Интернет появится во всех браузерах и всех программах, а не только в специально сконфигурированных. А это палевно.
Поэтому нужно извращаться более тонко, например через SOKCS5-proxy, который умеет создавать консоль Putty, заворачивая траффик в SSH. Заставить браузер FireFox работать через эту конфигурацию достаточно просто. А вот о том, как можно настроить возможность работы Git через SOCKS5-proxy с удаленным репозитарием на GitHub, информации в интернете практически нет. Поэтому я написал памятку о том, как настраивать доступ Git к внешнему миру в таких сложных условиях:
Как сделать подключение к репозитарию Git через Socks Proxy
в условиях отсутствия DNS
Надеюсь, кому-нибудь поможет. А вообще я никому не рекомендую работать в конторах с такими жесткими требованиями к блокировке Интернета. Вы мгновенно окажетесь в каменном веке, и станете терять свою квалификацию. А оно вам надо?