Чтобы отображалось даже лучше, чем @Roman
yourscript.sh | column -t -s $'\t'
Затем добавьте \t
в каждую строку, чтобы разделить ее на столбцы.
Моя компания решила отказаться от нашей VPN для ZScaler, и, будучи единственным человеком, использующим Linux в моей компании, я остался позади, потому что у ZScaler нет собственного клиента Linux.
Позвольте мне начать с того, что этот обходной путь чрезвычайно запутан и столь же хрупок . Для этого требуется два полноценных компьютера, что делает его дорогим и невозможным в пути, поэтому это не решение для ноутбуков и удаленных / путешествующих сотрудников. В качестве второго компьютера я рекомендую взять старый подержанный компьютер на eBay, чтобы использовать его в качестве выделенного компьютера с Windows 10. В противном случае вы можете перепрофилировать практически любой старый ноутбук, лежащий под рукой. Подойдет все, что имеет WiFi и порт Ethernet.
Кроме того, я надеюсь, что группа разработчиков ZScaler осознает хрупкость этого обходного пути (на самом деле хака )и вдохновится на создание специального клиента Linux для нас, стойких парней из Linux, которые просто не могут вернуться к macOS после перехода.
Вот что вам понадобится для этого обходного пути:
Шаг 1 :Подключение к ZScaler в Windows 10
Установите клиент ZScaler для Windows 10. Войдите в систему, используя свои учетные данные, и убедитесь, что у вас есть доступ к внутренним и/или защищенным ZScaler веб-сайтам, а также к внешним веб-сайтам и более широкому Интернету.
Шаг 2 :Проверьте все необходимые подключения в Windows 10
Чтобы это работало, вашему компьютеру с Windows 10 потребуется доступ к внешнему Интернету (Wi-Fi в этом примере ), адаптер ZScaler и локальное соединение Ethernet для совместного использования ZScaler. На картинке ниже все это показано.
Шаг 3 :Подготовьте локальное соединение Ethernet
Часть волшебства этого обходного пути заключается в прямом подключении вашего компьютера с Windows 10 к вашему компьютеру с Linux через Ethernet и создании частной сети между ними. Для этого вам необходимо войти в свойства адаптера локального соединения Ethernet и настроить параметры IPV4, чтобы установить статический IP-адрес (, очень важно ), а также маску подсети. Я выбрал 192.168.137.1
и 255.255.255.0
соответственно, и это прекрасно работает. Теоретически любая допустимая комбинация внутреннего IP-адреса и маски подсети должна работать нормально.
Шаг 4 :Совместное использование подключения ZScaler
Это одна из важнейших частей головоломки. Ваша машина Linux получит доступ к ZScaler через общий доступ к соединению Windows 10. Щелкните правой кнопкой мыши соединение ZScaler после его подключения и перейдите в «Свойства».
Шаг 5 :Поделитесь своим адаптером ZScaler с вашей машиной Linux
Для этого убедитесь, что два компьютера подключены напрямую через Ethernet к Ethernet . Это должен быть Linux < -Ethernet -> Windows 10. Затем перейдите на вкладку «Общий доступ» для свойств адаптера ZScaler и поделитесь адаптером ZScaler с адаптером Ethernet, который соединяет вашу машину Linux с вашей машиной Windows 10.
Шаг 6 :Проверка доступа к ZScaler в Linux
К настоящему времени ваш компьютер с Linux должен быть подключен напрямую к вашему компьютеру с Windows 10, и вы сможете разрешать свой внутренний веб-сайт (s )на вашем компьютере с Linux и ничего другого . У вас не должно быть доступа в Интернет. Если вы это сделаете, отключите адаптеры (и ), которые обеспечивают подключение к Интернету. Это чрезвычайно важный шаг. Убедитесь, что вы можете получить доступ только к внутренним целям ZScaler -. Если у вас все еще возникают проблемы с этим шагом, попробуйте перезагрузить все и начать заново. Кроме того, дважды проверьте свою статическую IP-конфигурацию на компьютере с Windows 10, так как она обычно не задерживается между перезагрузками.
Шаг 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.com
ZScaler можно было использовать для разрешения этих имен хостов. Как только имя хоста разрешено и IP-адрес показывает допустимый внутренний диапазон, который вы настроили ранее с помощью IPTables, трафик должен быть направлен на eno1
или аналогичный адаптер, а затем на ZScaler для загрузки. Когда вы закончите, вы должны увидеть два проводных соединения в Linux.
Продолжайте и отредактируйте соединение «PCI Ethernet Connected», потому что это соединение, через которое мы получаем доступ в Интернет через наш адаптер USB ->Ethernet.
Теперь нам нужен статический IP-адрес, который мы выбрали для нашего компьютера с Windows 10 в частной сети, существующей между Linux < -> Windows 10. Вот почему установка статического IP-адреса важна. Мы хотим жестко закодировать этот IP-адрес в качестве нашего DNS-сервера.
И все! И вот как это работает. Все запросы 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.
Что нарушает этот «обходной путь»?
Что является оптимальным для под-этого временного решения?
В заключение я скажу, что это крайняя -мера и что любой компании, желающей перейти на ZScaler с VPN-решения, следует учитывать отсутствие выделенного Linux-клиента и то, как это может повлиять или не повлиять на их способность инженеров выполнять работу.
Очень хорошее решение, спасибо!
Просто чтобы вы знали, что это решение также работает с виртуальной машиной Windows. (Я использую libvirt/kvmhttps://libvirt.org/drvqemu.html). Кроме того, я считаю, что у вас нет выбора, и 192.168.137.1/24 является общим IP-адресом по умолчанию (в Windows 10 по крайней мере ).
Добавьте второй виртуальный сетевой адаптер к вашей виртуальной машине(не настраивайте шлюз):
Затем на хосте 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 для некоторых конкретных доменов или поддоменов.
У меня также была проблема с использованием Zscaler на моем Ubuntu для доступа к веб-сайтам частных компаний. К счастью, у меня все еще есть личный ноутбук с Windows 10. Поэтому я установил Zscaler на этот частный ноутбук с Windows 10. Затем я подключил ноутбук Win -10 через Ethernet к Интернету.После этого я создал мобильную точку доступа. После этого я разрешил другим пользователям в сети использовать соединение Ehternet и как дома -Сеть -Соединение установлено Мобильная -Точка доступа -Соединение. После этого я смог подключить Ubuntu через мобильную точку доступа и получить доступ к частным сетевым сайтам компании. Пусть это поможет кому-то.