Как использовать общий доступ к подключению Windows 10 для доступа к веб-сайтам, защищенным ZScaler, в Linux / Ubuntu 18.04

Чтобы отображалось даже лучше, чем @Roman

yourscript.sh | column -t -s $'\t'

Затем добавьте \tв каждую строку, чтобы разделить ее на столбцы.

2
23.05.2019, 22:51
3 ответа

Моя компания решила отказаться от нашей VPN для ZScaler, и, будучи единственным человеком, использующим Linux в моей компании, я остался позади, потому что у ZScaler нет собственного клиента Linux.

Позвольте мне начать с того, что этот обходной путь чрезвычайно запутан и столь же хрупок . Для этого требуется два полноценных компьютера, что делает его дорогим и невозможным в пути, поэтому это не решение для ноутбуков и удаленных / путешествующих сотрудников. В качестве второго компьютера я рекомендую взять старый подержанный компьютер на eBay, чтобы использовать его в качестве выделенного компьютера с Windows 10. В противном случае вы можете перепрофилировать практически любой старый ноутбук, лежащий под рукой. Подойдет все, что имеет WiFi и порт Ethernet.

Кроме того, я надеюсь, что группа разработчиков ZScaler осознает хрупкость этого обходного пути (на самом деле хака )и вдохновится на создание специального клиента Linux для нас, стойких парней из Linux, которые просто не могут вернуться к macOS после перехода.

Вот что вам понадобится для этого обходного пути:

  • Ноутбук с Windows 10, полностью обновленный с поддержкой WiFi и Ethernet
  • Клиент ZScaler для Windows 10
  • Короткий кабель Ethernet для подключения компьютеров с Linux и Windows 10
  • Длинный кабель Ethernet для подключения компьютера с Linux к Интернету
  • Адаптер USB ->Ethernet для предоставления вашему рабочему столу Linux второго соединения Ethernet

Шаг 1 :Подключение к ZScaler в Windows 10

Установите клиент ZScaler для Windows 10. Войдите в систему, используя свои учетные данные, и убедитесь, что у вас есть доступ к внутренним и/или защищенным ZScaler веб-сайтам, а также к внешним веб-сайтам и более широкому Интернету.

Connect and verify ZScaler works on Windows 10

Шаг 2 :Проверьте все необходимые подключения в Windows 10

Чтобы это работало, вашему компьютеру с Windows 10 потребуется доступ к внешнему Интернету (Wi-Fi в этом примере ), адаптер ZScaler и локальное соединение Ethernet для совместного использования ZScaler. На картинке ниже все это показано.

Verify Windows 10 Connections

Шаг 3 :Подготовьте локальное соединение Ethernet

Часть волшебства этого обходного пути заключается в прямом подключении вашего компьютера с Windows 10 к вашему компьютеру с Linux через Ethernet и создании частной сети между ними. Для этого вам необходимо войти в свойства адаптера локального соединения Ethernet и настроить параметры IPV4, чтобы установить статический IP-адрес (, очень важно ), а также маску подсети. Я выбрал 192.168.137.1и 255.255.255.0соответственно, и это прекрасно работает. Теоретически любая допустимая комбинация внутреннего IP-адреса и маски подсети должна работать нормально.

Configure local Ethernet connection

Шаг 4 :Совместное использование подключения ZScaler

Это одна из важнейших частей головоломки. Ваша машина Linux получит доступ к ZScaler через общий доступ к соединению Windows 10. Щелкните правой кнопкой мыши соединение ZScaler после его подключения и перейдите в «Свойства».

Open ZScaler Properties

Шаг 5 :Поделитесь своим адаптером ZScaler с вашей машиной Linux

Для этого убедитесь, что два компьютера подключены напрямую через Ethernet к Ethernet . Это должен быть Linux < -Ethernet -> Windows 10. Затем перейдите на вкладку «Общий доступ» для свойств адаптера ZScaler и поделитесь адаптером ZScaler с адаптером Ethernet, который соединяет вашу машину Linux с вашей машиной Windows 10.

Share ZScaler to your Ethernet Adapter

Шаг 6 :Проверка доступа к ZScaler в Linux

К настоящему времени ваш компьютер с Linux должен быть подключен напрямую к вашему компьютеру с Windows 10, и вы сможете разрешать свой внутренний веб-сайт (s )на вашем компьютере с Linux и ничего другого . У вас не должно быть доступа в Интернет. Если вы это сделаете, отключите адаптеры (и ), которые обеспечивают подключение к Интернету. Это чрезвычайно важный шаг. Убедитесь, что вы можете получить доступ только к внутренним целям ZScaler -. Если у вас все еще возникают проблемы с этим шагом, попробуйте перезагрузить все и начать заново. Кроме того, дважды проверьте свою статическую IP-конфигурацию на компьютере с Windows 10, так как она обычно не задерживается между перезагрузками.

Verify ZScaler connection on Linux

Шаг 7 :Получите доступ к Интернету

Чтобы получить доступ в Интернет, теперь вам нужно использовать адаптер USB ->Ethernet и подключить его к компьютеру с Linux. Вы должны увидеть такие сервисы, как автоматический вход в Slack -, как только ваше второе соединение Ethernet будет разрешено и установлено.

Шаг 8 :Восстановите доступ к ZScaler -защищенным веб-сайтам

Поскольку при подключении нового интернет-соединения изменяются настройки DNS и интернет-настроек на уровне адаптера Linux, вам необходимо восстановить доступ к ресурсам, защищенным ZScaler -, через таблицы IP-адресов в Linux. Для этого вам нужно знать диапазон IP-адресов ваших защищенных активов, статический IP-адрес вашего компьютера с Windows 10 и само имя устройства для вашего внутреннего частного соединения между Linux и Windows 10. Для меня и моей компании команды:

  • sudo ip route add 100.64.0.0/10 via 192.168.137.1 dev eno1
  • sudo ip route add 172.16.0.0/12 via 192.168.137.1 dev eno1

Где eno1— имя сетевого адаптера, который напрямую соединяет Windows 10 с Linux, а 192.168.137.1— статический IP-адрес, который вы настроили в Windows 10, а 100.64.0.0/10и 172.16.0.0/12— диапазоны CIDR для вашего Активы, защищенные ZScaler.Вы можете найти имя правильного адаптера, используемого для маршрутизации трафика ZScaler, используя ifconfigна вашем компьютере с Linux и заменив имя оборудования вашего устройства на eno1.

Шаг 9 :Включите доступ к будущим веб-сайтам, защищенным ZScaler -

Прямо сейчас вы можете получить доступ только к веб-сайтам, которые вы уже запросили у ZScaler до подключения к Интернету. Это проблема DNS. Чтобы это исправить, вам нужно установить компьютер с Windows 10 в качестве DNS-сервера по умолчанию, чтобы при запросе доступа к внутренним веб-сайтам по имени internal.mycompany.comZScaler можно было использовать для разрешения этих имен хостов. Как только имя хоста разрешено и IP-адрес показывает допустимый внутренний диапазон, который вы настроили ранее с помощью IPTables, трафик должен быть направлен на eno1или аналогичный адаптер, а затем на ZScaler для загрузки. Когда вы закончите, вы должны увидеть два проводных соединения в Linux.

Double wired connection settings

Продолжайте и отредактируйте соединение «PCI Ethernet Connected», потому что это соединение, через которое мы получаем доступ в Интернет через наш адаптер USB ->Ethernet.

Теперь нам нужен статический IP-адрес, который мы выбрали для нашего компьютера с Windows 10 в частной сети, существующей между Linux < -> Windows 10. Вот почему установка статического IP-адреса важна. Мы хотим жестко закодировать этот IP-адрес в качестве нашего DNS-сервера.

Update your DNS server

И все! И вот как это работает. Все запросы DNS отправляются в ZScaler из-за записи DNS при настройке сетевого адаптера. Когда общедоступный IP-адрес возвращается, ваше обычное соединение USB Ethernet успешно разрешает его. Когда возвращается частный IP-адрес, IPTables перенаправляет запрос на адаптер, указанный вами при выполнении sudo ip route add.... Это позволяет компьютеру с Windows 10 / ZScaler загружать содержимое веб-сайта и отправлять его вам через общий доступ к соединению Windows 10.

По сути, это разделенное соединение, в котором все DNS-запросы обрабатываются ZScaler (, поскольку только он может разрешать и загружать внутренние имена хостов ), но общедоступный контент загружается через ваш Linux. USB-адаптер Ethernet, и частный контент загружается через ваше Ethernet< ->общее подключение Ethernet к Windows 10.

Что нарушает этот «обходной путь»?

  • Любая перезагрузка компьютера с Windows 10
  • Отключение питания. См. выше.
  • Изменения в топографии сети на стороне Windows 10, вызывающие новое подключение к сети или Интернету
  • Изменения времени аренды/продления аренды DHCP

Что является оптимальным для под-этого временного решения?

  • Все DNS-запросы проходят через машину ZScaler, поэтому ваше когда-то гипер -быстрое проводное соединение теперь работает так же медленно, как WiFi для DNS-запросов.
  • Вы никогда больше не сможете выключать свой компьютер W10, в противном случае вам придется выполнять этот ритуал каждый раз, чтобы ваш интернет снова заработал как для внутренних, так и для внешних хостов.
  • Требуется много практики, чтобы эта установка работала надежно от -до -дня. Мне потребовалось около двух месяцев, чтобы освоить рабочий процесс и быстро решать возникающие проблемы.

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

5
27.01.2020, 22:02

Очень хорошее решение, спасибо!

Просто чтобы вы знали, что это решение также работает с виртуальной машиной Windows. (Я использую libvirt/kvmhttps://libvirt.org/drvqemu.html). Кроме того, я считаю, что у вас нет выбора, и 192.168.137.1/24 является общим IP-адресом по умолчанию (в Windows 10 по крайней мере ).

Добавьте второй виртуальный сетевой адаптер к вашей виртуальной машине(не настраивайте шлюз):

  • НАТ
  • 192.168.137.1/24

Затем на хосте Linux добавьте псевдоним локального IP-адреса для связи с виртуальной машиной (адаптируйте «virbr0» к вашему виртуальному сетевому адаптеру, он может отличаться, если вы используете другое решение для виртуализации, такое как virtualbox):

sudo ip a add 192.168.137.2/24 dev virbr0

Убедитесь, что вы можете пропинговать виртуальную машину Windows на 192.168.137.1 с хоста Linux (возможно, вам придется принять ICMP в брандмауэре Windows 10https://www.howtogeek.com/howto/windows-vista/allow-pings-icmp-echo-request-through-your-windows-vista-firewall/)

ping 192.168.137.1

Наконец,добавить маршруты через виртуальную машину для доступа к удаленным корпоративным сетям (адаптировать к вашим потребностям):

sudo ip r add 100.64.0.0/24 via 192.168.137.1
sudo ip r add 100.64.1.0/24 via 192.168.137.1

Если вы знаете корпоративный DNS, вы также можете настроить локальный резолвер (без привязки, например ), чтобы использовать этот DNS для некоторых конкретных доменов или поддоменов.

2
10.03.2020, 09:16

У меня также была проблема с использованием Zscaler на моем Ubuntu для доступа к веб-сайтам частных компаний. К счастью, у меня все еще есть личный ноутбук с Windows 10. Поэтому я установил Zscaler на этот частный ноутбук с Windows 10. Затем я подключил ноутбук Win -10 через Ethernet к Интернету.После этого я создал мобильную точку доступа. После этого я разрешил другим пользователям в сети использовать соединение Ehternet и как дома -Сеть -Соединение установлено Мобильная -Точка доступа -Соединение. После этого я смог подключить Ubuntu через мобильную точку доступа и получить доступ к частным сетевым сайтам компании. Пусть это поможет кому-то.

2
01.04.2020, 14:44

Теги

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