Найти в Дзене
Евгений Дергунов

Настройка «черных» и «белых» списков доступа в Интернет в Ubuntu Server 20.4

Настройка «черных» и «белых» списков позволяет организовать доступ к интернет-сайтам компьютерам, находящимся в локальной сети. «Черные» списки разрешают доступ ко всем сайтам, кроме тех, что указаны в списке. «Белые» списки наоборот разрешают доступ только к указанным сайтам, остальные сайты блокируются. В связи с используемой схемой (Рисунок 1), настройку необходимо производить на обоих серверах.

Рисунок 1
Рисунок 1

Начало истории

Предварительно на рассматриваемой сети была настроена IP-адресация

а также поднят DHCP-сервер для получения IP-адресов рабочими станциями (без этого не получится организовать работу сети)

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

1) Определить МАС-адреса устройств, к которым будут применены списки доступа.

В операционной системе Windows для этой цели в командной строке можно ввести команду

ipconfig /all

в операционной системе на Linux в терминале

ifconfig

или

ip address

МАС-адрес имеет размер 6 Байт и записывается в шестнадцатеричной системе счисления (рис. 2).

Рисунок 2
Рисунок 2

2) На втором сервере открыть конфигурационный файл dhcpd.conf

sudo nano /etc/dhcp/dhcpd.conf

и дописать в конце файла необходимую конфигурацию. В приведенном примере постоянные адреса выдаются двум рабочим станциям (рис. 3)

Рисунок 3
Рисунок 3

Содержимое конфигурации расшифровывается следующим образом:

host – служит для указания имени рабочей станции. В данном случае имя Windows22, но можно использовать другое, не обязательно связанное с именем рабочей станции;

hardware ethernet – МАС-адрес рабочей станции (взят из рисунка 2);

fixed-address – IP-адрес, который всегда будет присваивается указанному сетевому адаптеру (в примере 192.168.0.111).

Для каждого адаптера используются фигурные скобки (на открытие и закрытие).

3) Аналогичным образом указываются и другие МАС-адреса и IP-адреса компьютеров, к которым будут применены списки доступа.

4) Сохранить файл и перезапустить сервис командой:

sudo systemctl restart isc-dhcp-server

проверить статус сервиса:

sudo systemctl status isc-dhcp-server

служба должна стать активной.

5) Включить (перезагрузить) рабочие станции и убедиться, что они получили IP-адреса, которые за ними были закреплены.

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

sudo touch /etc/squid/urllist

Открыть файл для редактирования

sudo nano /etc/squid/urllist

и записать выбранные сайты, например (рис. 4):

youtube\.com
ok\.ru

Рисунок 4
Рисунок 4

Сохранить и закрыть файл.

7) Открыть файл конфигурации Squid

sudo nano /etc/squid/squid.conf

7.1) Перед строкой acl localnet src 192.168.0.0/24 добавить строки с новыми статическими IP-адресами в формате (рисунок 5):

acl blackip src 192.168.0.110

acl whiteip src 192.168.0.111

7.2) Далее добавить файл с URL сайтов:

acl url_filtred url_regex -i "/etc/squid/urllist"

7.3) Перед строкой http_access allow localnet указать доступ и запрет к сайтам:

http_access deny blackip url_filtred

http_access deny whiteip !url_filtred

Рисунок 5
Рисунок 5

7.4) Сохранить и закрыть файл.

7.5) Перезапустить сервис

sudo systemctl restart squid

проверить статус сервиса

sudo systemctl status squid

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

8) Для проверки включить поочередно рабочие станции, указанные в списке, проверить ее IP-адрес, включить браузер и проверить доступ (или запрет к доступу) к указанным в пункте 6 сайтам. В примере запрет доступа к сайту youtube.com (рис. 6)

Рисунок 6
Рисунок 6

9) Для выключения «черных» списков можно закомментировать их параметры в конфигурационном файле (Рисунок 7).

Рисунок 7
Рисунок 7

Если нужно отключить работу "белого" списка, то можно выключить только его параметры в конфигурационном файле (рис. 8)

Рисунок 8
Рисунок 8

Можно создавать отдельные файлы с указанием сайтов для "черных" и "белых" списков, включать эти списки для диапазона адресов, а также составлять для отдельных компьютеров свои списки. Объем экспериментов ограничивается только фантазией администратора сервера. Главное не сломать конфигурационный файл, иначе все компьютеры сети останутся без доступа к сети Интернет.