Adelitusn.ru

ПК и Техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как установить и настроить прокси-сервер Squid в Debian 10 Linux

Как установить и настроить прокси-сервер Squid в Debian 10 Linux

How to Install and Configure Squid Proxy on Debian 10 Linux

В этом руководстве мы объясним, как настроить прокси-сервер Squid на Debian Buster. Мы также покажем вам, как настроить браузеры Firefox и Google Chrome для его использования.

Как установить и настроить прокси-сервер Squid в Debian 10 Linux

Установка Squid на Debian

Пакет Squid входит в стандартную комплектацию репозиториев Debian 10. Для установки Squid выполните следующие команды от имени пользователя sudo :

После завершения установки служба Squid запустится автоматически.

Убедитесь, что установка прошла успешно и служба Squid запущена, проверив состояние службы Squid:

Настройка Squid

Squid можно настроить, отредактировав /etc/squid/squid.conf файл конфигурации. Отдельные файлы конфигурации могут быть включены с помощью директивы «include».

squid.conf Конфигурационный файл включает в себя комментарии , описывающие то , что делает каждый параметр конфигурации.

Перед внесением каких-либо изменений всегда рекомендуется создать резервную копию исходного файла:

Чтобы изменить конфигурацию, откройте файл в текстовом редакторе :

По умолчанию Squid прослушивает порт 3128 на всех сетевых интерфейсах.

Если вы хотите изменить порт и установить интерфейс прослушивания, найдите строку, начинающуюся с, http_port и укажите IP-адрес интерфейса и новый порт. Если интерфейс не указан, Squid будет прослушивать все интерфейсы.

Запуск Squid на всех интерфейсах и на порту по умолчанию должен подойти большинству пользователей.

Списки контроля доступа (ACL) позволяют контролировать, как клиенты могут получать доступ к веб-ресурсам. По умолчанию Squid разрешает доступ только с локального хоста.

Если все клиенты, которые будут использовать прокси, имеют статический IP-адрес, самым простым вариантом является создание ACL, который будет включать разрешенные IP-адреса.

Вместо добавления IP-адресов в основной файл конфигурации мы создадим новый включаемый файл, в котором будут храниться IP-адреса:

После этого откройте основной файл конфигурации и создайте новый ACL с именем allowed_ips (первая выделенная строка) и разрешите доступ к этому ACL с помощью http_access директивы (вторая выделенная строка):

Порядок http_access правил важен. Убедитесь, что вы добавили строку раньше http_access deny all .

В http_access директиве работает аналогично, как правила брандмауэра. Squid читает правила сверху вниз, и когда правило соответствует приведенным ниже правилам, не обрабатываются.

Каждый раз, когда вы вносите изменения в файл конфигурации, вам необходимо перезапустить службу Squid, чтобы изменения вступили в силу:

Squid аутентификация

Squid может использовать разные серверные части, включая Samba, LDAP и базовую аутентификацию HTTP для аутентифицированных пользователей.

В этом примере мы настроим Squid на использование базовой аутентификации. Это простой метод аутентификации, встроенный в протокол HTTP.

Мы воспользуемся openssl утилитой для генерации паролей и добавим username:password пару в /etc/squid/htpasswd файл с помощью tee команды, как показано ниже:

Давайте создадим пользователя с именем «buster» с паролем « Sz$Zdg69 »:

Следующим шагом является включение базовой аутентификации HTTP. Откройте основную конфигурацию и добавьте следующее:

Первые три выделенные строки создают новый ACL с именем, authenticated а последняя выделенная строка разрешает доступ аутентифицированным пользователям.

Перезапустите сервис Squid:

Настройка межсетевого экрана

Пользователи UFW могут открыть порт 3128 , включив профиль Squid:

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

Настройка вашего браузера для использования прокси

В этом разделе хорошо показано, как настроить ваш браузер для использования прокси-сервера Squid.

Fire Fox

Приведенные ниже шаги одинаковы для Windows, macOS и Linux.

В правом верхнем углу щелкните значок гамбургера, ☰ чтобы открыть меню Firefox:

Читайте так же:
Как исправить высокую загрузку процессора от Wuauclt.Exe

Щелкните ⚙ Preferences ссылку.

Прокрутите вниз до Network Settings раздела и нажмите Settings. кнопку.

Откроется новое окно.

  • Выберите Manual proxy configuration переключатель.
  • Введите IP-адрес вашего сервера Squid в HTTP Host поле и 3128 в Port поле.
  • Установите Use this proxy server for all protocols флажок.
  • Нажмите на OK кнопку, чтобы сохранить настройки.

На этом этапе ваш Firefox настроен, и вы можете просматривать Интернет через прокси-сервер Squid. Чтобы проверить это, откройте google.com , введите «what is my ip», и вы должны увидеть IP-адрес своего сервера Squid.

Чтобы вернуться к настройкам по умолчанию, перейдите к Network Settings , выберите Use system proxy settings переключатель и сохраните настройки.

Есть также несколько плагинов, которые могут помочь вам настроить параметры прокси-сервера Firefox, например FoxyProxy .

Google Chrome

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

Чтобы запустить Chrome с новым профилем и подключиться к серверу Squid, используйте следующую команду:

Linux:

macOS:

Windows:

Если профиль не существует, он будет создан автоматически. Таким образом, вы можете запускать несколько экземпляров Chrome одновременно.

Чтобы убедиться, что прокси-сервер работает правильно, откройте google.com и введите «какой у меня IP». IP-адрес, отображаемый в вашем браузере, должен быть IP-адресом вашего сервера.

Заключение

Мы рассмотрели основы того, как установить Squid на Debian 10 и настроить ваш браузер для его использования.

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

Основные настройки iptables, или как настроить фаервол в Linux

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

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

Перед тем, как начинать настраивать фаервол, необходимо авторизоваться под root. Если вы уже авторизованы под обычным пользователем в группе sudo , то перейти в root можно простой командой:

Debian 9: переход в root

Debian 9: переход в root

Если ввести команду с sudo не предоставляется возможности, тогда нужно ввести просто su , но для этого потребуется ввести пароль от root.

Установка iptables

Для начала убедимся, что утилита iptables установлена. Для этого введем команду iptables -h и если вывод будет command not found , значит утилиту требуется установить.

Debian 9: проверка наличия iptabes

Debian 9: проверка наличия iptabes

Установка iptables очень простая, для этого достаточно ввести:

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

Debian 9: установка iptables завершена

Debian 9: установка iptables завершена

Основные настройки iptables для десктопа

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

Читайте так же:
Способы удаления QIWI-кошелька вместе с аккаунтом

И так, если вы уже авторизованы под root в вашем домашней ОС и готовы забаррикадироваться от недоброжелателей, то стоит начать с правил по-умолчанию. Они будут срабатывать, если для соединения не нашлось других правил.

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

Просмотр правил iptables

После того, как мы внесли новые правила в iptables, необходимо их проверить и убедиться, что мы все сделали правильно. Для этого достаточно ввести простую команду, которая отобразит все установленные правила:

Если вы вводили команды из прошлого раздела, то у вас должен быть примерно такой вывод:

Debian 9: просмотр списка правил iptables

Debian 9 : просмотр списка правил iptables

Как открыть порт в iptables

Чтобы разрешить подключаться к нашей ОС по SSH, нам потребуется разрешить подключение через порт 22, прописав правило в iptables:

Далее проверим все наши правила с помощью команды iptables -L

Debian 9: просмотр списка правил iptables

Debian 9: просмотр списка правил iptables

Как мы видим, появилось новое правило для ssh по стандартному порту 22. Теперь он открыт и можно подключаться, так как теперь блокируются все входящие соединения, кроме соединений по этому порту. О том, как подключаться к серверу по SSH, вы можете почитать здесь.

Как заблокировать IP адрес в iptables

После того, как мы настроили исключение для входящих соединений для 22 порта, возможно потребуется ограничить подключение с конкретного IP. Допустим адрес с которого мы хотим ограничить любые подключения — 192.168.122.122 , для этого введем команду:

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

Debian 9: просмотр списка правил iptables

Debian 9: просмотр списка правил iptables

Как сохранить правила iptables

Одной из особенностей утилиты iptables является то, что прописанные правила полностью сбрасываются после перезагрузки системы. Самый простым способом сохранить настройки iptables будет поставить утилиту iptables-persistent . В debian и ubuntu это делается так, если вы по прежнему авторизованы под root:

Во время установки будет вопрос, сохранить ли текущие настройки iptables, пока выберем не сохранять, то есть No , потому что для начала нужно сохранить их в отдельный текстовый файл. В противном случае iptables-persistent ничего не сохранит.

После установки сохраним текущие настройки iptables в отдельный файл, который будет располагаться в папке утилиты:

А затем перезапустим службу iptables-persistent

Если вы получили сообщение, что данная служба не найдена…

Debian 9: неудачный перезапуска службы iptables-persistent

Debian 9: неудачный перезапуска службы iptables-persistent

То попробуйте перезапустить службу с другим названием:

В debian и ubuntu должен работать второй вариант.

Все, теперь можно смело перезагружать компьютер или сервер, все настройки iptables при это сохранятся.

Как откатить сохраненные правила iptables

Если вы ввели несколько правил по ошибке и хотите откатиться к тому набору правил, которые мы сохранили в файл в предыдущем разделе с помощью команды iptables-save , то для их восстановления достаточно ввести команду iptables-restore и указать пусть к этому файлу с сохраненными настройками:

Как удалить правило в iptables

Чтобы удалить одно конкретное правило из iptables, для начала нужно выяснить его номер и цепочку. Для этого нужно получить список всех правил с опцией —line-numbers :

Если вы вводили команды из прошлых разделов, то у вас должен быть примерно такой вывод:

Debian 9: вывод всех правил с их уникальными номерами

Debian 9: вывод всех правил с их уникальными номерами

В данном примере мы будем удалять правило под номером 1, который запрещает все входящие соединения с IP адреса 192.168.122.122 :

Читайте так же:
Как отключить уведомления в ВКонтакте

Уникальный номер правила мы знаем, теперь смотрим название его цепочки:

Наша «жертва» находится в цепи INPUT (Chain INPUT). Теперь у нас есть все переменные, для того, чтобы ввести команду удаления правила и можно уже вводить ее с опцией -D :

Теперь выведем весь список и проверим удалилось ли правило:

Debian 9: проверка удалилось ли правило под номером 1

Debian 9: проверка удалилось ли правило под номером 1

Как мы видим, правило успешно удалилось.

Как сбросить все правила iptables

Если необходимо сбросить все правила сразу, то нужно ввести следующие команды:

Теперь выведем список правил и проверим сбросились ли они:

Debian 9: сброс всех правил iptables

Debian 9: сброс всех правил iptables

Основные настройки iptables для веб-сервера

Для начала следует очистить правила, которые выставляет хостер по-умолчанию, потому что при определенных обстоятельствах прописанные ниже правила могут конфликтовать с теми, что уже есть.

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

Теперь разрешим внутренние соединения с 127.0.0.1 (localhost), а также установленные соединения для приложений и пинга.

Добавим несколько дополнительных фильтров:

Далее откроем порт 22, чтобы была возможность подключаться к серверу по SSH:

Открываем порты для базовых сервисов веб-сервера:

Если дополнительно планируется настраивать на сервере почту, то следует открыть порты и для этих служб:

Затем проверим все настройки командой iptables -L

Debian 9: Базовые правила iptables для веб-сервера

Debian 9: Базовые правила iptables для веб-сервера

И наконец стоит сохранить наши правила, чтобы они не испарились после перезагрузки сервера. Как это сделать, уже рассказано в разделе выше.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Базовая настройка сервера Debian после установки

man — эта команда выводит справочную информация по нужной вам команде, такую как синтаксис, ключи, описание и т.д. Синоним info.
sudo — переход в режим суперпользователя (после первой команды sudo необходимо ввести пароль пользователя).
Для запуска в терминале команды с правами администратора просто наберите перед ней sudo. Пример: sudo reboot

reboot — перезагрузка системы
poweroff — выключение компьютера
reset — очищает окно терминала, работает даже если вы потеряли курсор
passwd — позволяет пользователю поменять свой пароль, а суперпользователю — поменять пароль любого зарегистрированного в
системе пользователя
free — получить информацию об оперативной памяти (всего, занято, свободно, в swap).

Команды для работы с файлами

pwd – показать текущий каталог
cd — переход в заданную папку
ls — показывает список файлов текущей папки, с ключом -l показывает дополнительные сведения о файлах
cp — копирование файлов/папок
mv — перемещение файлов/папок
rm — удаление файлов/папок, с ключем -R удаляет и все вложенные папки
mkdir — создать папку
rmdir — удаление пустой папки
chmod — изменить права доступа к файлу.

Команды для работы с пакетами

Это одна команда (утилита) с разными ключами.
apt-get update — обновление информации о пакетах из репозиториев
apt-get upgrade — обновление всех пакетов
apt-get clean — очищает локальный репозиторий, т.е. удаляет всё, что вы ранее скачивали. Очень полезно иногда прогонять для очистки диска.
apt-get autoremove — удаление ранее скачаных, но более ненужных пакетов
apt-get remove — удаление пакета из системы, с сохранением его конфигурационных файлов
apt-get purge — удаление пакета со всеми зависимостями
apt-get install — установка пакета.

Управление процессами

ps — показывает текущие активные процессы
kill — команда отправляет сигнал прекращения работы тому или иному процессу, используется для прекращения работы зависшего приложения
killall — прекращение работы всех процессов, соответствующих заданным параметрам
top — интерактивный список текущих процессов, отсортированных по % использования центрального процессора.

Читайте так же:
Программы для восстановления СД-карт

Сетевые команды

ifconfig — выводит информацию о сетевых интерфейсах (в windows используется ipconfig)
pppoeconf — комманда настройки подключения к интернет
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для domain
route host —
показать путь прохождения пакетов, от вас к host
wget file – скачать file
ssh user@host – подключится к host как user
ufw enable — включить фаервол
ufw disable
— выключить фаервол.

Настройка сети в Debian

Система под Debian может иметь несколько сетевых интерфейсов с различными АйПи адресами. Интерфейсы могут быть нескольких различных типов, включая следующие:

Существует широкий диапазон прочих сетевых устройств, таких как SLIP, PLIP (последовательные и параллельные линии IP), шейперы (shaper) для контроля трафика на определенных интерфейсах, frame relay, AX.25, X.25, ARCnet, и LocalTalk.

Каждый сетевой интерфейс подсоединенный к интернету (или к любой сети основанной на АйПи) имеет уникальный 32-х битный АйПи адрес. АйПи адрес может быть поделен на часть, которая идентифицирует сеть и часть, определяющую адрес хоста. Если вы берете АйПи адрес и устанавливаете биты отвечающие за адрес сети равными 1, а биты, адресующие хост, равными 0, то вы получите так называемую маску (netmask) сети.

Традиционно АйПи сети сгруппированы в классы по размеру части адреса, отвечающей за сеть. Они могут быть 8, 16, или 24 бита. Эта система не гибкая и тратит много айпи адресов в пустую, поэтому современные IPv4 сети используют части адреса, отвечающие за сеть, переменной длины.

АйПи адреса не входящие в эти диапазоны используются для специальных нужд.

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

Первый адрес в АйПи сети это собственно адрес самой сети. Последний адрес — это широковещательный (broadcast) адреc для сети. Все другие адреса могут быть выданы хостам в сети. Поэтому первый или последний адрес обычно выдается интернет-шлюзу данной сети.

Таблица маршрутизации (routing table) содержит информацию ядра о том, как отправлять АйПи пакеты к их пунктам назначения. Ниже представлена простая таблица маршрутизации для хоста под Дебиан в локальной сети с адресом 192.168.50.x/24. Хост 192.168.50.1 (также в локальной сети) это маршрутизатор для корпоративной сети 172.20.x.x/16 и хост 192.168.50.254 (тоже в локальной сети) является маршрутизатором всей сети для доступа в интернет.

Kernel IP routing table

DestinationGatewayGenmaskFlagsMetricRefUseIface
127.0.0.0*255.0.0.0U2lo
192.168.50.0*255.255.255.0U137eth0
172.20.0.0192.168.50.1255.255.0.0UG17eth0
default192.168.50.2540.0.0.0UG136eth0

Первая строка после заголовка говорит, что трафик предназначенный для сети 127.x.x.x будет перенаправлен через lo на адрес обратной связи (loopback). Вторая строка говорит, что трафик для хостов в локальной сети будет перенаправлен через интерфейс eth0. Третья строка сообщает, что трафик предназначенный для корпоративной сети будет направлен на шлюз 192.168.50.1 также через eth0. Четвертая строка сообщает, что трафик направленный в интернет будет направлен на шлюз 192.168.50.254 также через eth0.

Читайте так же:
4 способа поиска данных в таблице Excel

АйПи адреса в таблице могут также появиться как имена, которые получены просмотром адресов в /etc/networks или с использованием резолвера из библиотеки языка C.

В дополнение к маршрутизации, ядро может производить трансляцию сетевых адресов, резать трафик и фильтровать его.

Эти статьи могут быть найдены здесь.

Установка имени хоста.

Задание имени хоста во время установки Дебиан может оказаться преждевременным. Вы можете узнать или установить имя хоста с помощью команды hostname.

Вы можете увидеть ваше текущее имя хоста с помощью:

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

Когда ваша система загружается имя хоста будет автоматически прочитано из файла /etc/hostname. Поэтому, если вы хотите установить имя хоста на постоянку, то измените этот файл.

Установка DNS.

Когда дело доходит до установки DNS, Дебиант ничем не отличается от других дистрибутивов. Вы можете добавить имя хоста и его АйПи адрес в файл /etc/hosts для статических запросов.

Чтобы заставить вашу машину отправлять запросы соответствующему серверу, вы просто должны добавить их адреса в файл /etc/resolv.conf.

Например, машина с адресом 192.168.1.1, которая должна отправлять запросы к DNS серверу, должна иметь файл resolv.conf следующего вида:

Установка АйПи адреса

АйПи адреса связанные с любыми сетевыми картами можно прочесть в файле /etc/network/interfaces

Простое содержимое файла для машины со статическим адресом будет выглядеть примерно так:

Здесь мы устанавливаем АйПи адрес (192.168.3.90), шлюз по умолчанию (192.168.3.1) и сетевую маску.

Для машины использующей DHCP настройка сети в Debian выглядит намного проще:

Если вы используете настройку сети с помощью DHCP, то у вас должен быть установлен DHCP клиент, обычно это pump, dhcpcd или dhcp3-client. Если вы делаете изменения в этом файле и хотите чтобы эти изменения вступили в силу, выполните команду:

Установка второго АйПи адреса или виртуальный АйПи адрес в Debian

Если вы администратор серверной системы или обычный пользователь, вам иногда необходимо установить второй АйПи адрес на вашей системе под Дебиан. Для этого вам необходимо исправить файл /etc/network/interfaces добавив строки следующего вида. Ниже приведен пример в котором вам необходимо изменить адреса на ваши собственные:

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

учтите, что запускаются только интерфейсы описание которых начинается с auto.

Если вы хотите проверить установились ли новые айпи адреса, выполните следующую команду:

Установка шлюза по умолчанию.

Если вы прочитали предыдущую часть, то вы видели что шлюз по умолчанию для хоста со статическим адресом может быть установлен в файле /etc/network/interfaces. Если вы хотите просмотреть ваш текущий шлюз, то выполните:

Kernel IP routing table

DestinationGatewayGenmaskFlagsMSSWindowirttIface
192.168.3.00.0.0.0255.255.255.0Ueth0
0.0.0.0192.168.3.10.0.0.0UGeth0

Также вы можете использовать команду:

Kernel IP routing table

DestinationGatewayGenmaskFlagsMetricRefUseIface
192.168.3.0*255.255.255.0Ueth0
defaultrouter0.0.0.0UGeth0

(Здесь вы видите имя хоста router вместо айпи адреса 192.168.3.1 — чтобы предотвратить это, используйте «route -n»)

Чтобы изменить ваш шлюз по умолчанию, вы должны для начала удалить существующий:

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector