ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как использовать wget с прокси Squid

Как использовать wget с прокси Squid

GNU wget — это инструмент командной строки для неинтерактивной загрузки файлов. Он не интерактивен, поскольку может выполняться в фоновом режиме, когда пользователь не вошел в систему. Это отличная гибкость с wget, так как большинство веб-браузеров требуют, чтобы пользователь вошел в систему во время выполнения любой задачи. Он может работать с протоколами HTTP, HTTPS и FTP, а также поддерживает загрузку файлов через HTTP-прокси.

Команда Wget аналогична команде curl и может быть установлена ​​в Linux/Unix, Mac OS, Windows. Если задача загрузки зависла на полпути, вы можете возобновить ее с того места, где она была прервана.

 

Что мы будем освещать?

В этой статье мы рассмотрим команду wget и узнаем, как использовать ее с прокси-сервером Squid.

 

Использование команды wget для загрузки файла

wget — очень простой инструмент. При использовании без каких-либо параметров wget будет извлекать ресурсы по указанному URL-адресу и загружать их в текущий рабочий каталог. В качестве примера посмотрите на приведенный ниже пример:

$ wget https://tldp.org/LDP/intro-linux/intro-linux.pdf

 

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

 

Настройка прокси для wget

Теперь давайте обратимся к нашей основной теме сегодня: настроить wget с прокси. Прокси-сервер имеет много преимуществ, из которых безопасность является главной задачей. В этом руководстве мы будем использовать прокси-сервер Squid, который уже настроен для нашей сети. Вот конфигурация Squid в нашем случае, измените ее под свои нужды:

Шаг 1. Мы установили Squid на нашу машину с Kali Linux с IP-адресом 192.168.186.161 . Если вы еще не установили squid, вы можете сделать это, просто выполнив команду:

$ sudo apt install squid

 

Шаг 2. Убедитесь, что Squid запущен с помощью команды:

$ sudo systemctl status squid

 

Шаг 3. Теперь измените конфигурацию Squid в соответствии с вашей сетью. Мы настроили Squid, чтобы разрешить устройствам в нашей сети использовать squid. Для этого можно просто открыть файл конфигурации:

$ sudo nano /etc/squid/squid.conf

 

и добавьте строку «acl localnet src» вместе с IP-адресом или сетевым адресом, для которого вы хотите разрешить доступ. Вот на картинке ниже видно, что мы разрешили нашей сети 192.168.186.1/24

Кроме того, найдите и установите значение “http_access” на “allow all”.

Наконец, перезапустите сервер Squid с помощью:

$ sudo systemctl restart squid

 

Хорошо, этого достаточно для настройки Squid. Теперь мы перейдем к настройке нашего клиента, из которого мы будем запускать «wget».

Шаг 4. На этом шаге начинается наша основная работа по настройке wget. Мы выбрали другую машину в нашей сети. Это наша машина Ubuntu 20.04 с IP 192.168.186.150 . Теперь откройте здесь терминал и откройте файл конфигурации wget:

$ sudo nano /etc/wgetrc

 

И найдите три строки:

#https_proxy = http://proxy.yoyodyne.com:18023/

#http_proxy = http://proxy.yoyodyne.com:18023/

#ftp_proxy = http://proxy.yoyodyne.com:18023/

 

Шаг 5. Теперь раскомментируйте строку, которую вы хотите использовать для своего прокси. В нашем случае мы используем только https-прокси, поэтому настроим его в следующем формате:

https_proxy = Proxy_server_address:proxy_port

 

В нашем случае это выглядит так:

https_proxy = http://192.168.186.161:3128/

 

Шаг 6. После изменения файла wgetrc давайте перейдем к проверке, работает ли наша конфигурация. Давайте снова загрузим файл с помощью wget:

$ wget https://tldp.org/LDP/intro-linux/intro-linux.pdf

 

На этот раз мы видим, что wget использует прокси-соединение для подключения к серверу.

 

Настройка прокси для wget с аутентификацией Squid

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

Шаг 1. Установите следующий пакет:

$ sudo apt install apache2-utils

 

Шаг 2. Создайте файл passwd в каталоге ‘/etc/squid/’

$ sudo touch /etc/squid/passwd

 

Установите владельца этого файла прокси пользователя Squid:

$ sudo chown proxy /etc/squid/passwd

 

Шаг 3. Теперь мы добавим нового пользователя «newuser» в Squid, чьи учетные данные будут использоваться для аутентификации:

$ sudo htpasswd /etc/squid/passwd newuser

 

Приведенная выше команда попросит ввести пароль для пользователя «newuser».

Шаг 4. Откройте конфигурационный файл Squid:

$ sudo nano /etc/squid/squid.conf

 

Шаг 5. Теперь найдите строку, содержащую строку «auth_param basic program», и приведите ее к следующему виду:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd

auth_param basic children 5

auth_param basic realm Squid Basic Authentication

auth_param basic credentialsttl 2 hours

acl auth_users proxy_auth REQUIRED

 

Если вы не найдете ни одной из строк, то просто добавьте их.

Шаг 6. Также добавьте следующую строку:

http_access allow auth_users

 

И ниже строки выше добавьте или измените “http_access allow all” на “http_access deny all”.

 

Шаг 7. Наконец, перезапустите службу squid:

$ sudo systemctl restart squid

 

Теперь сначала попробуйте запустить wget без учетных данных пользователя:

$ wget https://tldp.org/LDP/intro-linux/intro-linux.pdf

 

На этот раз он выдает ошибку, требующую аутентификации, как: “Proxy tunneling failed: Proxy Authentication RequiredUnable to establish SSL connection.”

Теперь запустите команду wget с учетными данными пользователя, которого мы только что добавили на шаге 3:

$ wget --proxy-user=newuser --proxy-password=123 https://tldp.org/LDP/intro-linux/intro-linux.pdf

 

Круто, на этот раз команда wget работает как charm.

 

Подробнее…

На этом наша демонстрация настройки wget с прокси-сервером с проверкой подлинности и без него завершена. Надеюсь, вы узнали слишком много нового в этой статье. Следует быть осторожным с тем, что иногда конфигурация пакетов может различаться для разных дистрибутивов. Например, у Squid может быть немного другой файл конфигурации в Kali Linux и Ubuntu. В таких случаях файл конфигурации следует изменить с умом.

Exit mobile version