12

Я разрабатываю веб-сайты на своем (высококлассном) ноутбуке и работаю в разных местах.

Я хотел бы избавить вас от необходимости постоянной синхронизации с внешне видимым веб-сервером, чтобы клиенты могли проверять продвижение сайта (или для связанных целей).Поэтому я пытаюсь найти способ сделать так, чтобы мой ноутбук автоматически был публично виден из Интернета, из любого места, даже если у меня нет доступа к маршрутизатору для настройки переадресации портов (например, из кафе или из другие общественные беспроводные соединения).

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

Я надеялся, что платные услуги обратного прокси (взимая ежемесячную плату за учетную запись) предоставят проприетарное клиентское / серверное программное обеспечение обратного прокси на уровне сокетов, которое можно использовать для этой цели. Я не могу найти один. Я уже использую TeamViewer и LogMeIn, предоставляя аналогичные проприетарные сервисы. Фактически, я попытался использовать LogMeIn Hamachi VPN, чтобы сделать это возможным - заставив мой рабочий стол (уже видимый для Интернета) пересылать IP-трафик, запрашивающий порт 80, через VPN на мой ноутбук. Тем не менее, кажется, невозможно настроить Hamachi / Windows таким образом (но я могу ошибаться).

Я надеюсь, что есть простой и надежный способ сделать это.

2 ответа2

8

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

Примерно так: ssh root@your.server.tld -g -R 11.22.33.44:80:127.0.0.1:80 после подключения и проверки подлинности сделает порт 80 11.22.33.44 (при условии, что это публичный адрес сервера). ) принимать соединения, которые затем перенаправляются на ваш локальный порт 80. Вам необходимо включить опцию GatewayPorts на сервере, чтобы прослушивать нелокальный адрес таким образом, и вам нужно войти в систему как root, чтобы прослушивать порты ниже 1024, и если там уже есть служба, прослушивающая порт 80, вам, очевидно, нужно в любом случае выбрать что-то другое. Рекомендуется добавить опцию -C для включения сжатия потоков, проходящих через SSH, особенно если вы подключаете ноутбук через медленную сеть (возможно, застрявшую в глуши, когда доступно только мобильное соединение GPRS).

Чтобы использовать ssh в Windows, у вас есть несколько вариантов. Вы можете установить порт cygwin [тогда команда, которую я дал выше, должна JustWork(tm)] или использовать другой клиент. PuTTY - очень популярная опция, которая поддерживает туннелирование удаленных портов.

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

Вместо того, чтобы использовать домашний или офисный сервер для этого, что может еще больше замедлить процесс, если у вас нет хорошего быстрого соединения в обоих направлениях, вы можете получить лучшие результаты, арендовав небольшой Linux VPS где-нибудь (предпочтительно в той же стране) только для эта цель. Вам нужна только самая маленькая машина, если есть достаточная пропускная способность, так что это будет стоить всего пару или несколько долларов в месяц.

Наряду с SSH вы также можете рассмотреть инструмент VPN, такой как OpenVPN, и использовать простые правила iptables на сервере для переадресации соединений на ваш компьютер при подключении. Это может быть более эффективным и менее сложным при настройке, но может быть немного сложнее в настройке, если вы не знакомы с ним и маршрутизацией в целом уже. Опять же, дешевый VPS или ваш собственный офисный / домашний сервер подойдут в качестве серверной части VPN.

1

Туннелирование IPV6 на ноутбуке в сочетании с прокси ipv4 to 6 - gogo6 предоставляет хороший бесплатный сервис с клиентом для автоматического обновления в рамках freenet6 -. Объедините это с записью AAAA и прокси-сервером, который переводит с ipv6 на 4 (sixxs запускает публичный), или для более элегантного решения - ваш собственный прокси-сервер (может работать polipo ), выполняющий трансляцию по тому же адресу A

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

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