В преддверии Нового Года хотелось бы поделиться с сообществом Хабрахабр простым розыгрышем, который случайно пришёл в голову при работе с SSH-туннелями.
Разыграть можно друзей, коллег, создателей веб-сайтов, дизайнеров, которые ещё не закончили работу над своими проектами в компаниях соответствующего профиля.
В частности, если веб-студия работает с веб-сервером XAMPP, то все сайты, находящиеся в стадии разработки и отображающиеся в строке браузера на компьютере веб-мастера как http://localhost/new_cool_site, можно оформить, как поддиректории произвольного домена http://mydomain.ru/new_cool_site. Особенно забавно это будет выглядеть, если в качестве mydomain.ru вы выберете, например, kremlin.ru. Демонстрация сайта президента с вашими работами в каком-нибудь кафе или даже дома с параллельным рассказом о том, как глубоко администрация главы государства заинтересовалась вашим творчеством, может произвести неизгладимое впечатление на неискушённых в этом собеседников.
Если же вы являетесь системным администратором, то то же самое можно показать вашим веб-мастерам и дизайнерам, которые будут ломать голову, как это их незаконченные работы вдруг оказались выложены в интернет на чужом домене.
Идея состоит в следующем.
Имеется некий компьютер, с которого мы будем морочить голову собеседнику. Допустим, это ноутбук с доступом по Wi-Fi.
На этом компьютере создаётся и поднимается виртуальный интерфейс с помощью пакета OpenVPN, на котором прописывается IP-адрес (как правило, серый) удалённого веб-сервера с 24-битной маской.
Далее, в файле %WINDIR%\system32\drivers\etc\hosts задаётся соответствие этого IP-адреса (172.16.0.10) произвольному доменному имени, которое придёт вам в голову, например kremlin.ru.
Кроме этого, нам потребуется рутовый SSH-доступ к маршрутизатору компании, с которого по локальной сети виден рабочий компьютер с внутренним веб-сервером студии. Рутовый потому, что мы будем пробрасывать привелигированный 80-й порт.
Остаётся запустить на нашем ноутбуке SSH-клиент, например PuTTY, и создать прямой туннель, подключившись к маршрутизатору со следующими настройками:
Всё. Теперь открывайте сайт с прописанного в hosts доменного имени и зовите кого-нибудь посмотреть.
Поднятый нами туннель — довольно редкая разновидность туннеля по расширенной схеме, которая отписана в этой статье. В 99% случаев Source address является адресом локальной петли и не указывается явно, поэтому под него даже не выделено место в настройках туннеля в Putty. Но в данном случае он отличается от localhost, поэтому приходится впихивать его вместе с Source port.
Должен предупредить, что фокус пройдёт только для таких сайтов, для которых не настроена переадресация с IP в доменное имя, что как раз и бывает на серверах типа XAMPP.
Таким образом, результат достигается без VPN и манипуляций с DNS-серверами — просто ловкость рук и никакого мошенничества.
Postscriptum
Господа,
С момента опубликования этой статьи я отметил крайне негативное отношение к ней со стороны профессионалов.
Я прошу с пониманием отнестись к тому, что аудитория читателей хабра существенно шире, чем сообщество хабражителей.
И далеко не всем из читателей приходилось решать подобные задачи или делать это регулярно.
Поэтому, вы уж, пожалуйста, не лютуйте.