11 способов (не) стать жертвой взлома в kubernetes

Суть и причины дисфункции

Полная версия текста данной ошибки звучит как «Error: connection refused», что в переводе означает «Ошибка: соединение отвергнуто». Данная ошибка возникает в стационарном и мобильном браузере Хром (в статистическом большинстве случаев), а также на альтернативных браузерах (значительно реже).

Причины её возникновения могут быть следующими:

  • Наблюдаются проблемы в работе вашего интернет-провайдера (ISP);
  • Имеются проблемы в работе конкретного сайта (или на нём проводятся технические работы);
  • Вы используете прокси (VPN) для доступа к сайту, при этом указанный прокси (VPN) работает некорректно;
  • На вашем компьютере используются неверные настройки интернет-соединения;
  • Доступ к сайту блокирует какой-либо зловред;
  • Доступ к необходимому сайту блокируют антивирус или брандмауэр;
  • Наблюдаются проблемы в работе вашего роутера (модема);
  • Доступ к сайту блокируют разнообразные расширения (дополнения) установленные в вашем браузере;
  • Вы используете устаревшую версию браузера.

Измените DNS-адреса, используемые вашей системой, на публичные от Гугл

  1. Нажмите на кнопку «Пуск», в строке поиска введите ncpa.cpl, и нажмите ввод.
  2. В открывшемся списке сетевых подключений найдите своё интернет-подключение, наведите на него курсор, нажмите на правую клавишу мышки.
  3. В открывшемся меню выберите «Свойства».
  4. В открывшемся окне сетевых подключения находим протокол IPv4, выбираем его, и жмём на «Свойства».
  5. Внизу выберите опцию использования следующих адресов ДНС-серверов, и пропишите там следующие публичные адреса от Гугл:

8,8.8,8

8,8,4,4

Нажмите на «Ок», и перезагрузите ваш компьютер.

Используйте настройки публичных ДНС от Гугл

  • Временно отключите ваш антивирус и брандмауэр, а затем попробуйте войти на нужный сайт. Если переход будет осуществлён корректно, тогда внесите указанный сайт в исключения вашего антивируса (брандмауэра);
  • Перезагрузите ваш роутер (модем). Отключите его на минуту-две, затем включите обратно;
  • Попробуйте запустить сайт с другого ПК с другим IP. Если проблема наблюдается и там, тогда, возможно, данный сайт «упал», и необходимо уведомить об этом веб-мастера данного ресурса;
  • Очистите кэш и куки вашего браузера;
  • Проверьте ваш ПК на наличие вирусных программ (к примеру, с помощью «Dr.Web CureIt!»);
  • Отключите использование прокси. Нажмите «Пуск», в строке поиска введите inetcpl.cpl, и нажмите ввод. В открывшихся свойствах сети перейдите на вкладку «Подключения», а затем нажмите на кнопку «Настройка сети». Здесь оставьте галочку на опции «Автоматическое определение параметров», все остальные галочки снимите. Нажмите на «Ок», и перезагрузите ваш ПК;
  • Переустановите ваш Хром. Удалите его с помощью стандартного средства удаления программ (нажмите на «Пуск», в строке поиска введите appwiz.cpl, и нажмите ввод), перезагрузите компьютер, а затем установите самую свежую версию Хром.
  • NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
  • ERR_NAME_NOT_RESOLVED
  • ERR_INTERNET_DISCONNECTED

Устранение неполадок AKS и службы хранилища Azure

Сбой при настройке UID и в mountOptions для диска Azure.

По умолчанию диск Azure использует ext4,xfs filesystem, а mountOptions, например uid=x,gid=x, не могут быть заданы во время подключения. Например, если вы попытались задать mountOptions uid=999,gid=999, отобразится следующее сообщение об ошибке:

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

Настройте контекст безопасности для pod, задав UID в runAsUser и GID в fsGroup. Например, следующий параметр задает запуск модуля pod как root и делает его доступным для любого файла:

Примечание

Поскольку GID и UID подключаются по умолчанию как root или 0. Если GID или UID задан отличным от root, например 1000, Kubernetes будет использовать для изменения всех каталогов и файлов на этом диске. Эта операция может занять много времени и привести к очень медленному подключению диска.

Используйте chown в initContainers, чтобы задать GID и UID. Пример:

Большое количество дисков Azure приводит к снижению скорости их подключения или отключения.

Если количество операций подключения и отключения дисков Azure, нацеленных на виртуальную машину с одним узлом, превышает 10 или превышает 3 при выборе одного пула масштабируемых наборов виртуальных машин, операции могут быть медленнее, чем ожидалось, так как они выполняются последовательно. Эта проблема является известным ограничением с помощью драйвера диска Azure в дереве. Драйвер CSI для диска Azure решил эту проблему с подключением или отсоединением диска в пакетной операции.

Методы решения ошибки «ERR_CONNECTION_REFUSED» в Google Chrome

Метод №1 Проверка настроек Локальной сети

В большинстве случаев, причиной, стоящей за уже упомянутой ошибкой, могут быть настройки Локальной сети, которые буквально препятствуют созданию соединений с некоторыми страницами в сети. Для решения проблемы с Локальной сетью, сделайте следующее:

  • Нажмите одновременно кнопки Win+R.
  • Копируйте в пустую строку утилиты «Выполнить» запрос inetcpl.cpl и нажмите Enter.
  • В открывшемся окошке «Свойства: Интернет», перейдите во вкладку «Подключения».
  • Нажмите на кнопку «Настройка сети» напротив пункта «Настройка параметров локальной сети».
  • В появившемся окне, посмотрите, не стоит ли галочка напротив параметра «Использовать прокси-сервер для локальных подключений(не применяется для коммутируемых или VPN-подключений)». Если стоит, то уберите ее, а затем подтвердите изменения.
  • После изменений, перезагрузите свой компьютер.

Как только ваш ПК будет полностью загружен, попробуйте зайти в браузер и проверьте наличие ошибки «ERR_CONNECTION_REFUSED» в Google Chrome.

Метод №2 Использование публичных DNS-серверов

В этом методе мы попробуем сменить вам настройки получения адреса DNS-серверов. Вместо автоматических настроек, вы должны поставить себе публичные адреса для DNS-сервера, которые предоставляются самими Google. Для этого сделайте следующее:

  • Нажмите комбинацию клавиш Win+R.
  • Впишите в пустую строчку значение ncpa.cpl и нажмите Enter.
  • Два раза кликните на свое Интернет-подключение.
  • Нажмите на кнопку «Свойства».
  • Выберите пункт «Протокол Интернета версии 4 (TCP/IPv4)» и нажмите кнопку «Свойства».
  • Поставьте галочку на опции «Использовать следующие адреса DNS-серверов».
  • Выставьте 8.8.8.8. для «Предпочитаемого DNS-сервера» и 8.8.4.4. для «Альтернативного DNS-сервера».
  • Подтвердите изменения и перезапустите свой компьютер.

Проверьте свой браузер на наличие ошибки «ERR_CONNECTION_REFUSED» в Google Chrome.

Метод №3 Очистка Кэша и Куки Google Chrome

Как мы уже упомянули в начале статьи, кэш может быть именно той причиной, из-за которой себя проявила указанная ошибка. Если дело в этом, то вам нужно просто выполнить его удаление. Для этого сделайте следующее:

  • Нажмите на Три точки в правом верхнем углу окна.
  • Выберите «Настройки».
  • Нажмите на «Показать дополнительные настройки» в самом низу окна.
  • Найдите пункт «Личные данные» и нажмите на кнопку «Очистить историю».
  • Поставьте галочку напротив «Файлы cookie, а также другие данные сайтов и плагинов».
  • Затем нажмите «Очистить историю».

211

238

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

При создании кластера AKS для создания ресурсов от вашего имени требуются субъект-служба или управляемое удостоверение. AKS может автоматически создать новый субъект-службу во время создания кластера или получить существующий. При использовании автоматического создания Azure Active Directory необходимо распространить его на каждый регион, чтобы создание прошло успешно. Если распространение занимает слишком много времени, кластер не сможет выполнить проверку при создании, так как не сможет найти доступный субъект-службу.

Для решения этой проблемы используйте следующие обходные пути.

  • Используйте существующий субъект-службу, который уже распространен между регионами и существует для передачи в AKS во время создания кластера.
  • При использовании скриптов автоматизации добавьте временные задержки между созданием субъекта-службы и созданием кластера AKS.
  • Если используется портал Azure, вернитесь к параметрам кластера во время создания и обновите страницу проверки через несколько минут.

Какие ограничения именования применяются к ресурсам и параметрам AKS?

Эта справка по устранению неполадок берется из aka.ms/aks-naming-rules

Ограничения именования реализуются как платформой Azure, так и AKS. Если имя или параметр ресурса нарушает одно из этих ограничений, возвращается сообщение об ошибке, предлагающее указать другие входные данные. Применяются следующие общие рекомендации по именованию.

  • Имена кластеров должны содержать 1–63 символа. Допустимыми являются только буквы, цифры, тире и символ подчеркивания. Первый и последний символ должны быть буквами или цифрами.
  • Имя группы ресурсов «Узел AKS/MC_ » объединяет имя группы ресурсов и имя ресурса. Автоматически сформированный синтаксис должен быть не длиннее 80 символов. При необходимости сократите длину имени группы ресурсов или имени кластера AKS. Вы также можете
  • dnsPrefix должны начинаться и заканчиваться буквенно-цифровыми значениями и содержать 1–54 символа. Допустимые символы включают в себя буквы, цифры и дефисы (-). dnsPrefix не может содержать специальные символы, такие как точка (.).
  • имена пулов узлов AKS должны быть в нижнем регистре и содержать 1-11 символов для пулов узлов Linux и 1-6 символов для Windows пулов узлов. Имя должно начинаться с буквы, а допустимыми символами являются буквы и цифры.
  • Значение admin-username, которое задает имя администратора для узлов Linux, должно начинаться с буквы, может содержать только буквы, цифры, дефисы и символы подчеркивания, не более 64 символов.

Что делать с ошибкой ERR_CONNECTION_REFUSED?

Теперь рассмотрим что вы можете сделать в ситуации с ошибкой ERR_CONNECTION_REFUSED:

1. Проверьте доступность сайта. Узнайте у других людей, или воспользуйтесь браузером Tor, или анонимайзером. Для начинающих уточню, что последние два варианта позволяют обращаться к сайту с других IP-адресов (что это?), мало ли сайт недоступен из-за сети. Так же советую проверить корректность адреса сайта.

2. Попробуйте открыть сайт через время. Если вы точно знаете, что сайт должен открываться, то стоит попробовать открыть его через некий промежуток времени. Мало ли в сайте что-то делают и поэтому он недоступен или же, например, веб-ресурс борется с DDoS.

3. Сброс DNS-настроек. Нечасто, но бывает так, что в кэше DNS вашего компьютера для доменного имени сайта хранится некорректный IP-адрес. Простыми словами, браузер не может открыть сайт, так как обращается не по тому IP адресу.

Однако, положительный момент в том, что решить данную проблему может даже начинающий пользователь. Для этого нужно сделать две вещи: открыть командную строку Windows и выполнить команду «ipconfig /flushdns».

Примечание: Для общего развития, советую ознакомиться с обзором устройство DNS-сервера, в котором простыми словами «разжевываются» многие моменты.

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

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

6. Почистите реестр Windows. Это, в принципе, полезное действие, но, в плане проблем с доступом к сайтам, речь о том, что многие настройки операционной системы Windows хранятся в реестре. Поэтому проверить его будет не лишним.

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

  • Ошибка ERR_CONNECTION_TIMED_OUT: что делать?
  • Ошибка DNS PROBE FINISHED NXDOMAIN как исправить?

Что такое ошибка NET_ERR_CONNECTION_REFUSED?

К сожалению, обнаружение ошибок связано с использованием Интернета. Существуют сотни возможностей, от классической ошибки 404 до ошибки ERR_CONNECTION_TIMED_OUT .

Гугл Хром

В Google Chrome пользователи также могут быть знакомы с ошибкой ERR_CONNECTION_REFUSED . Вы увидите сообщение:

Когда вы заходите на веб-сайт с помощью Google Chrome и сталкиваетесь с этим сообщением, это означает, что ваша попытка подключения была отклонена. Этот код ошибки также появляется в других браузерах, хотя и в других формах.

Microsoft Edge

В Microsoft Edge это будет просто отображаться как  Хммм … не могу добраться до этой страницы . Что не очень полезно.

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

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

При развертывании кластера AKS с использованием расширенного сетевого взаимодействия возникает ошибка insufficientSubnetSize.   Что следует делать?

Эта ошибка указывает, что подсеть, используемая для кластера, больше не имеет доступных IP-адресов в пределах CIDR для успешного назначения ресурсов. Для кластеров Kubenet требуется достаточный диапазон IP-адресов для каждого узла в кластере. Для кластеров Azure CNI требуется достаточный диапазон IP-адресов для каждого узла и модуля pod в кластере.
Узнайте больше о .

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

Следующие три варианта вызывают ошибку, связанную с недостаточным размером подсети.

  1. Масштабирование пула AKS Scale или AKS Node

    1. При использовании kubenet, если меньше, чем .
    2. При использовании Azure CNI, если меньше, чем .
  2. Обновление пулов AKS Upgrade или AKS Node

    1. При использовании kubenet, если меньше, чем .
    2. При использовании Azure CNI, если меньше, чем .

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

  3. Добавление пулов AKS Create или AKS Node

    1. При использовании kubenet, если меньше, чем .
    2. При использовании Azure CNI, если меньше, чем .

Чтобы сократить проблемы, можно принять следующие меры, создав новые подсети. Для этого требуется разрешение на создание новой подсети, поскольку невозможно обновить диапазон CIDR существующей подсети.

  1. Перестройте новую подсеть с более широким диапазоном CIDR, достаточным для ваших целей:
    1. Создайте новую подсеть с новым неперекрывающимся диапазоном.
    2. Создайте новый пул узлов в новой подсети.
    3. Удалите модули pod из старого пула узлов, находящегося в старой подсети, чтобы заменить их.
    4. Удалите старую подсеть и старый пул узлов.

Резюме

Хотя ошибки соединения бесконечно расстраивают, важно помнить, что они часто могут быть исправлены. Ваше первое действие — всегда проверять, связана ли проблема с самой веб-страницей. Если проблема связана с вашим собственным соединением, вам нужно будет немного поработать, чтобы решить проблему. Чтобы попытаться разрешить сообщение ERR_CONNECTION_REFUSED, вы можете:

Чтобы попытаться разрешить сообщение ERR_CONNECTION_REFUSED, вы можете:

  1. Проверьте, не опустилась ли сама страница.
  2. Перезагрузите ваш роутер.
  3. Очистите кеш вашего браузера.
  4. Оцените настройки прокси и отрегулируйте их по мере необходимости.
  5. Временно отключите антивирус и брандмауэр.
  6. Очистите кэш DNS.
  7. Измените свой адрес DNS.
  8. Отключите все устаревшие расширения Chrome.
  9. Переустановите браузер Chrome.

Почему при возобновлении работы кластера после операции завершения число узлов находится за пределами диапазона средства автомасштабирования?

Если вы используете средство автомасштабирования кластера, при повторном запуске кластера текущее число узлов может не находиться между заданными минимальным и максимальным значениями диапазона. Это ожидаемое поведение. Кластер запускается с тем числом узлов, которое необходимо для выполнения рабочих нагрузок, на что параметры средства автомасштабирования не влияют. Когда кластер выполняет операции масштабирования, минимальное и максимальное значения повлияют на текущее число узлов, и в конечном счете кластер войдет в нужный диапазон и останется в нем, пока не будет остановлен.

При использовании kubectl или других сторонних инструментов, подключающихся к серверу API, возникает ошибка TCP timeouts.

AKS содержит уровни управления высокой доступности, которые масштабируются по вертикали в соответствии с количеством ядер, чтобы гарантировать соблюдение целей уровня обслуживания (SLO) и соглашения об уровне обслуживания (SLA). Если время ожидания подключений истекает, проверьте следующее.

  • Время ожидания истекает для всех команд API или только для некоторых? Если для некоторых, то pod или , отвечающий за обмен данными между узлом и уровнем управления, может быть неработоспособным. Убедитесь, что узлы, на которых размещается этот модуль pod, не перегружены. Возможно, стоит переместить их в собственный пул узлов .
  • Вы открыли все необходимые порты, полные доменные имена и IP-адреса, указанные в документах по ограничению исходящего трафика AKS? В противном случае вызов нескольких команд может завершаться ошибкой.
  • Текущий IP-адрес входит в разрешенные диапазоны IP-адресов для API? Если вы используете эту функцию и ваш IP-адрес не включен в диапазоны, вызовы будут заблокированы.
  • Имеются ли у клиента или приложения утечки вызовов к серверу API? Обязательно используйте контрольные значения вместо частых вызовов get и убедитесь, что в сторонних приложениях не происходит утечка таких вызовов. Например, ошибка в Istio Mixer приводит к тому, что новое контрольное подключение к серверу API будет создаваться каждый раз при внутреннем чтении секрета. Так как такое поведение происходит через регулярные интервалы, контрольные подключения быстро накапливаются, что в конечном итоге приводит к перегрузке сервера API независимо от шаблона масштабирования. https://github.com/istio/istio/issues/19481
  • У вас много выпусков в развертываниях Helm? Этот сценарий может привести к тому, что оба сервера используют слишком много памяти на узлах, а также большой объем , что может привести к ненужным пиковым нагрузкам на сервере API. Рекомендуется настроить в и использовать новый Helm 3. Дополнительные сведения о следующих проблемах:
    • https://github.com/helm/helm/issues/4821
    • https://github.com/helm/helm/issues/3500
    • https://github.com/helm/helm/issues/4543

Устранение неполадок Файлов Azure и AKS

Каковы mountOptions по умолчанию при использовании Файлов Azure?

Рекомендуемые параметры:

Версия Kubernetes значение fileMode и dirMode
1.12.2 и более поздние 0777

Параметры подключения можно указать в объекте класса хранения. В следующем примере задается значение 0777.

Некоторые дополнительные полезные параметры mountOptions:

  • укажет подключению Файлов Azure (CIFS) поддерживать символические ссылки
  • предотвратит отправку запросов на блокировку диапазона байтов на сервер. Этот параметр необходим для некоторых приложений, которые не используют обязательные блокировки диапазона байтов в стиле CIFS. Большинство серверов CIFS пока не поддерживают рекомендательные запросы на блокировку диапазона байтов. Если не использовать nobrl, приложения, которые не применяют обязательные блокировки диапазона байтов в стиле CIFS, могут вызвать сообщения об ошибках следующего вида:

Ошибка «не удалось изменить разрешения» при использовании Файлов Azure.

При запуске PostgreSQL в подключаемом модуле Файлов Azure может появиться сообщение об ошибке следующего вида:

Эта ошибка вызвана тем, что подключаемый модуль Файлов Azure использует протокол CIFS/SMB. При использовании протокола CIFS/SMB разрешения на доступ к файлам и каталогам не могут быть изменены после подключения.

Чтобы устранить эту проблему, используйте вместе с подключаемым модулем диска Azure.

Примечание

Для диска типа ext3/4 возникает потерянный и найденный каталог после форматирования диска.

Если вы включаете разрешить доступ из выбранной сети в учетной записи хранения, которая используется для динамической подготовки в AKS, при создании общей папки AKS возникает ошибка:

Эта ошибка вызвана тем, что persistentvolume-controller Kubernetes не находится в сети, выбранной при настройке разрешить доступ из выбранной сети.

Вы можете устранить эту проблему, используя статическую подготовку с помощью Файлов Azure.

Сбой подключения к Файлам Azure из-за изменения ключа учетной записи хранения

Если ключ учетной записи хранения изменился, вы можете столкнуться со сбоями при подключении Файлов Azure.

Чтобы устранить ошибку, вручную обновите поле в секрете файла Azure с помощью ключа учетной записи хранения в кодировке Base64.

Чтобы закодировать ключ учетной записи хранения в Base64, можно использовать . Пример:

Чтобы обновить секретный файл Azure, используйте . Пример:

Через несколько минут узел агента повторит попытку подключения Файла Azure к обновленному ключу хранилища.

Сбой автомасштабирования кластера с ошибкой «не удалось исправить размеры групп узлов»

Если автомасштабирование кластера в ту или иную сторону не выполняется и вы видите ошибку, подобную приведенной ниже, в .

Эта ошибка возникла из-за состояния гонки автомасштабирования вышестоящего кластера. В этом случае автомасштабирование кластера заканчивается значением, отличным от того, которое фактически находится в кластере. Чтобы выйти из этого состояния, отключите и снова включите автомасштабирование кластера.

Что делать, если ни одно из этих решений не работает

Если ни одно из решений, с которыми мы ознакомились, не исправляет сообщение ERR_CONNECTION_REFUSED, это, как правило, признак того, что что-то более серьезное пошло не так на стороне сервера (другими словами, на самом сайте).

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

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

Объясните проблему, с которой вы столкнулись, и отметьте, что вы пробовали несколько решений, которые не дали результата. Надеемся, что команда, стоящая за веб-сайтом, ответит вам и раскажет о лучшем порядке действий. Вы можете даже оказать им услугу, если вам случится сообщить им о проблеме, о которой они не знали, которая препятствовала доступу к их сайту.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: