Skip to main content

Установка и настройка прокси сервера SQUID и DHCP сервера

Установка производится на виртуальный сервер на WmWare (172.16.107.39 ; login:root ; pass:tjDmz900). Ипользуется два интерфейса - один получает интернет (сеть 172.16.121.0/24 ; порт Fa44 - Access VLAN 221), через другой происходит обращение к самому прокси (сеть 172.16.116.0/24; порт Fa43 - Trunk). Установка самой операционки производится с параметрами по-умолчанию (минимальная установка сервера без установки всего стороннего ПО). Управление происходит через 172.16.110.33(login: us ; pass: kSiva007). После установки обновляем систему 

sudo dnf update & sudo dnf upgrade


Настройки виртуальной машины 

https://wiki.rich650.ru/uploads/images/gallery/2024-11/Crzizobrazenie.png

изображение.png

Настройка сетевых интерфейсов в RedOS

nmtui

https://wiki.rich650.ru/uploads/images/gallery/2024-11/RMUizobrazenie.png

изображение.png

изображение.png

изображение.png

изображение.png

изображение.png

Проверяем настройки 

ip a

Вывод

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defaul                                      t qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP gro                                      up default qlen 1000
    link/ether 00:0c:29:9b:c7:7c brd ff:ff:ff:ff:ff:ff
    altname enp2s0
3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP gro                                      up default qlen 1000
    link/ether 00:0c:29:9b:c7:86 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 172.16.121.17/24 brd 172.16.121.255 scope global dynamic noprefixroute                                       ens33
       valid_lft 34772sec preferred_lft 34772sec
4: ens32.206@ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue sta                                      te UP group default qlen 1000
    link/ether 00:0c:29:9b:c7:7c brd ff:ff:ff:ff:ff:ff
    inet 172.16.110.33/24 brd 172.16.110.255 scope global noprefixroute ens32.20                                      6
       valid_lft forever preferred_lft forever
6: ens32.200@ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue sta                                      te UP group default qlen 1000
    link/ether 00:0c:29:9b:c7:7c brd ff:ff:ff:ff:ff:ff
    inet 172.16.116.8/24 brd 172.16.116.255 scope global noprefixroute ens32.200
       valid_lft forever preferred_lft forever

Обновляем систему 

sudo dnf update & sudo dnf upgrade

Настройка DHCP

Устанавливаем DHCP:

dnf install dhcp-server

Теперь откроем на редактирование конфигурационный файл:

nano /etc/dhcp/dhcpd.conf

Вставляем настройки 



#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
subnet 172.16.116.0 netmask 255.255.255.0 {
#   range 172.16.116.240 172.16.116.253;
#   option domain-name-servers 77.88.8.88,8.8.8.8,8.8.4.4;
#   option domain-name "gts.ru";
    option routers 172.16.116.4;
#   option broadcast-address 172.16.116.255;
   default-lease-time 600;
   max-lease-time 7200;
 }



#Nastraivaem log
log-facility local6;

#Nastraivaem lease
host PerelyginMV_Proxy { hardware ethernet 4c:ed:fb:69:b3:86; fixed-address 172.16.116.186;
}

host AgafonovIS_Proxy { hardware ethernet 90:e6:ba:0b:3c:ad; fixed-address 172.16.116.187;
}

host Avtograf_Proxy { hardware ethernet 00:17:42:67:4b:41; fixed-address 172.16.116.102;
}

host Krasiuk_Proxy { hardware ethernet 64:31:50:06:2a:e9; fixed-address 172.16.116.105;
}

host Kozlov_Proxy { hardware ethernet 00:25:b3:5b:c7:1d; fixed-address 172.16.116.106;
}

host Lohmacheva_Proxy { hardware ethernet 00:25:b3:5e:a4:bd; fixed-address 172.16.116.107;
}

host Dispetchers_Proxy { hardware ethernet 6c:62:6d:5f:fb:e6; fixed-address 172.16.116.108;
}

host Ershov_Proxy { hardware ethernet 60:eb:69:db:b7:56; fixed-address 172.16.116.109;
}

host Malugina_Proxy { hardware ethernet 00:1d:92:00:ae:32; fixed-address 172.16.116.110;
}

host SafarovaLV_Proxy { hardware ethernet d8:d3:85:0e:fb:77; fixed-address 172.16.116.111;
}

host SokolovaES_Proxy { hardware ethernet 2c:4d:54:9b:d1:2c; fixed-address 172.16.116.112;
}

host Luchinin_Proxy { hardware ethernet 54:a0:50:b7:c2:8b; fixed-address 172.16.116.113;
}

host Beloglazova_Proxy { hardware ethernet 00:1a:92:92:79:6f; fixed-address 172.16.116.114;
}

host Soloveva_Proxy { hardware ethernet 00:0f:EA:4C:85:BD; fixed-address 172.16.116.115;
}

host Satkanov_Proxy { hardware ethernet e4:11:5b:fe:b1:70; fixed-address 172.16.116.118;
}

host Kutyakov_Proxy { hardware ethernet 00:1e:ec:c2:15:d6; fixed-address 172.16.116.119;
}

host Chernopazov_V_Proxy { hardware ethernet 54:a0:50:6b:a3:fe; fixed-address 172.16.116.122;
}

host Soboleva_Proxy { hardware ethernet 00:23:5a:cf:e6:42; fixed-address 172.16.116.124;
}

host Ovchinnikov_Proxy { hardware ethernet 78:2b:cb:cf:69:18; fixed-address 172.16.116.125;
}

host Tairov_Proxy { hardware ethernet 2c:44:fd:68:b6:c6; fixed-address 172.16.116.127;
}

host Milutin_Proxy { hardware ethernet 64:31:50:06:2b:12; fixed-address 172.16.116.128;
}

host Kislov_Proxy { hardware ethernet 64:31:50:06:2b:23; fixed-address 172.16.116.129;
}

host Zaharkin_Proxy { hardware ethernet 00:16:ec:5c:ab:d7; fixed-address 172.16.116.132;
}

host Idunov_Proxy { hardware ethernet 6c:4b:90:7a:fd:a5; fixed-address 172.16.116.134;
}

host Reshuhin_Proxy { hardware ethernet 24:b6:fd:3e:7c:1d; fixed-address 172.16.116.135;
}

host Petrov_Proxy { hardware ethernet 64:31:50:06:2b:3d; fixed-address 172.16.116.136;
}

host Slepchenko_Proxy { hardware ethernet 00:11:95:c0:a6:dc; fixed-address 172.16.116.139;
}

host Chubarov_Proxy { hardware ethernet 00:25:b3:5a:74:2c; fixed-address 172.16.116.140;
}

host Esipov_Proxy { hardware ethernet 18:a9:05:f7:5a:53; fixed-address 172.16.116.143;
}

host Trushkin_Proxy { hardware ethernet 00:25:b3:5b:b6:b3; fixed-address 172.16.116.144;
}

host Aleksandrova_Proxy { hardware ethernet 00:24:54:01:c5:65; fixed-address 172.16.116.145;
}

host Zvereva_Proxy { hardware ethernet 54:a0:50:b7:c0:40; fixed-address 172.16.116.91;
}

host Savin_Proxy { hardware ethernet 6c:62:6d:5f:fa:e9; fixed-address 172.16.116.147;
}

host Kremena_Proxy { hardware ethernet 00:17:f2:0d:57:1a; fixed-address 172.16.116.148;
}

host Nefedova_Proxy { hardware ethernet 6c:62:6d:5f:fb:18; fixed-address 172.16.116.149;
}

host Shambarova_Proxy { hardware ethernet f4:4d:30:11:80:2d; fixed-address 172.16.116.150;
}

host Shevchenko_Proxy { hardware ethernet 2c:44:fd:67:e5:7c; fixed-address 172.16.116.151;
}

host Zhiltsov_Proxy { hardware ethernet 2c:76:8a:d7:a1:56; fixed-address 172.16.116.152;
}

host Meldianov_Proxy { hardware ethernet 00:17:a4:e1:73:e2; fixed-address 172.16.116.153;
}

host Moskvin_Proxy { hardware ethernet 6c:62:6d:5f:fa:f7; fixed-address 172.16.116.154;
}

host Zotov_Proxy { hardware ethernet 78:24:af:b1:1e:ed; fixed-address 172.16.116.155;
}

host Mixeeva_Proxy { hardware ethernet 00:26:6c:5d:b3:8b; fixed-address 172.16.116.156;
}

host Skirda_Proxy { hardware ethernet 68:b5:99:eb:44:20; fixed-address 172.16.116.157;
}

host Neverova_Proxy { hardware ethernet 2c:56:dc:37:56:26; fixed-address 172.16.116.93;
}

host Goncharova_Proxy { hardware ethernet 54:a0:50:b5:c2:44; fixed-address 172.16.116.95;
}

host Radevich_Proxy { hardware ethernet A4:5D:36:59:98:B2; fixed-address 172.16.116.96;
}

host ProfSouyz_Proxy { hardware ethernet 2c:56:dc:37:56:1e; fixed-address 172.16.116.160;
}

host Golov_Proxy { hardware ethernet 00:22:15:60:D2:48; fixed-address 172.16.116.161;
}

host Gubanov_Proxy { hardware ethernet 1c:c1:de:fd:64:9a; fixed-address 172.16.116.162;
}
                                                                                                                                                  
host Cacti_Proxy { hardware ethernet 00:0c:29:ef:75:da; fixed-address 172.16.107.30;
}

host Gavrilova_Proxy { hardware ethernet 1c:c1:de:fb:bb:c5; fixed-address 172.16.116.166;
}

host Chechneva_Proxy { hardware ethernet 00:25:b3:5b:36:a4; fixed-address 172.16.116.167;
}

host Dragun_Proxy { hardware ethernet 30:65:ec:4a:ef:28; fixed-address 172.16.116.168;
}

host Minina_Proxy { hardware ethernet 00:17:42:74:71:52; fixed-address 172.16.116.169;
}

host Solovieva_Proxy { hardware ethernet 74:46:a0:be:e8:fe; fixed-address 172.16.116.170;
}

host Pytilin_Proxy { hardware ethernet b0:99:28:c8:86:37; fixed-address 172.16.116.171;
}

host Kypriev_Proxy { hardware ethernet 00:25:b3:5b:f5:61; fixed-address 172.16.116.172;
}

host Zverev_Proxy { hardware ethernet 00:1b:38:43:97:49; fixed-address 172.16.116.173;
}

host Utkova_Proxy { hardware ethernet 00:24:21:b0:52:c4; fixed-address 172.16.116.174;
}

host Konovalov_Proxy { hardware ethernet 6c:62:6D:5F:fa:CC; fixed-address 172.16.116.248;
}

host Konovalov2_Proxy { hardware ethernet 78:2b:cb:cf:6a:46; fixed-address 172.16.116.175;
}

host Sergeev_Proxy { hardware ethernet 2c:44:fd:68:b5:b5; fixed-address 172.16.116.176;
}

host Lazareva_Proxy { hardware ethernet 88:d7:f6:79:b3:88; fixed-address 172.16.116.177;
}

host Mamaeva_Proxy { hardware ethernet 6c:62:6d:5f:fa:f3; fixed-address 172.16.116.178;
}

host Kren_Proxy { hardware ethernet 6c:62:6d:5f:fb:62; fixed-address 172.16.116.179;
}

host arm_inet_umt1403_Proxy { hardware ethernet 88:d7:f6:79:bd:66; fixed-address 172.16.116.181;
}

host Auditor_Proxy { hardware ethernet 54:A0:50:B7:B9:17; fixed-address 172.16.116.180;
}

host Derkach_Proxy { hardware ethernet 48:5b:39:ef:75:76; fixed-address 172.16.116.225;
}

host Studia_MTR_Proxy { hardware ethernet a4:5d:36:59:94:bc; fixed-address 172.16.116.215;
}

host Krasnoshekov_Proxy { hardware ethernet 2c:4d:54:9b:d2:7e; fixed-address 172.16.116.216;
}

host Stepanenko_Proxy { hardware ethernet 88:d7:f6:79:a3:69; fixed-address 172.16.116.201;
}

host Rybakov_Proxy { hardware ethernet 78:2B:CB:CF:69:C0; fixed-address 172.16.116.182;
}

host Shakurova_Proxy { hardware ethernet a4:5d:36:58:c5:16; fixed-address 172.16.116.226;
}

host Fin_otdel_Proxy { hardware ethernet 6C:62:6D:5F:FA:CC; fixed-address 172.16.116.248;
}

host reshuhin_Proxy { hardware ethernet f8:0d:ac:23:55:21; fixed-address 172.16.116.208;
}

host Pavlov_Proxy { hardware ethernet 54:A0:50:6B:A3:F1; fixed-address 172.16.116.199;
}

host GP_Museum_Proxy { hardware ethernet 54:bf:64:03:b0:c1; fixed-address 172.16.116.183;
}

host Lisicina_Proxy { hardware ethernet 08:97:98:85:f1:3c; fixed-address 172.16.116.184;
}

host Kab_307_Proxy { hardware ethernet 00:24:21:b0:52:7d; fixed-address 172.16.116.244;
}

host Kab_201_Proxy { hardware ethernet 00:24:21:b0:52:6a; fixed-address 172.16.116.243;
}

host Kab_206_Proxy { hardware ethernet 00:24:21:b0:52:3c; fixed-address 172.16.116.245;
}

host KolibasovAV_Proxy { hardware ethernet 6c:62:6d:5f:fa:ef; fixed-address 172.16.116.126;
}

host KiriakovA_Proxy { hardware ethernet 54:a0:50:b5:c2:57; fixed-address 172.16.116.185;
}

Далее, указываем конкретный интерфейс, через который нужно раздавать DHCP  (можно посмотреть через 

ip a

)

nano /etc/sysconfig/dhcpd

Указываем

DHCPDARGS=ens32.200

Разрешаем автозапуск сервиса:

systemctl enable dhcpd

и запускаем его:

systemctl start dhcpd

Для того чтобы сервер сохранял записи в отдельный файл, открываем на редактирование rsyslog.conf:

nano /etc/rsyslog.conf

И добавляем следующее:

local6.*       /var/log/dhcp.log

Далее открываем конфигурационный файл dhcp:

nano /etc/dhcp/dhcpd.conf

И добавляем:

log-facility local6;

Перезапускаем сервисы:

systemctl restart dhcpd
systemctl restart rsyslog

Итак, мы добавили управляющий VLAN 206, так же добавили Пользовательский VLAN 200. Назначили этим интерфейсам IP адреса. Так же подняли DHCP сервер с ручным резервированием пользователей по MAC адресам, при этом DHCP не раздает ни шлюз, ни DNS сервера, а только IP адреса и маску.

Настройка SQUID

Установите прокси-сервер следующей командой:

# sudo dnf install squid

Открываем файл настроек:

# sudo nano /etc/squid/squid.conf

Вставляем 

Здесь добавили три наших сети с которых будет доступ к прокси серверу 

acl localnet src 172.16.121.0/24                # RFC 1918 local private network (LAN)
acl localnet src 172.16.116.0/24
acl localnet src 172.16.113.0/24

Добавляем фильтр-правило на доступ из всех объявленных сетей

http_access allow all

Оставляем порт доступа по-умолчанию

http_port 3128

Отключаем кеширование файлов закомментировав все остальное

Отключаем Selinux (Переводим в режим только журналирования)

Для перевода SELinux в режим уведомлений в файле /etc/selinux/config замените строку SELINUX=enforcing на SELINUX=permissive. SELinux при этом перейдет в режим уведомлений. Откройте файл конфигурации в редакторе nano от пользователя root или от пользователя с правами администратора.

sudo nano /etc/selinux/config

В файле замените текст SELINUX=enforcing на SELINUX=permissive

Перезагружаем систему и запускаем squid:

# sudo systemctl start squid

Проверяем работоспособность squid:

# sudo systemctl status squid

Squid должен быть активен.

Добавляем squid в автозагрузку:

# sudo systemctl enable squid

Установка Cockpit 

dnf install cockpit
systemctl enable cockpit.socket
systemctl start cockpit.socket

Заходим на https://172.16.110.33:9090/

Настройка FirewallD

Заходим в Cockpit - Сеть - Активировать межсетевой экран или через терминал

sudo dnf install firewalld

После инсталляции активируйте сервис firewalld.service:

sudo systemctl start firewalld.service

Убедитесь, что сервис запущен:

firewall-cmd --state
running

Создаем новые зоны и перезапускаем Firewall

sudo firewall-cmd --permanent --new-zone=ProxyManager
sudo firewall-cmd --permanent --new-zone=ProxyUser
sudo firewall-cmd --reload

Далее настраиваем Зоны в соответствии со скриншотами

изображение.png

изображение.png

https://wiki.rich650.ru/uploads/images/gallery/2024-11/SMXizobrazenie.png

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

nano /etc/NetworkManager/system-connections/ens33.nmconnection

Приводим к следующему виду

[connection]
id=ens33
uuid=81f46b96-32cc-31f9-926b-719c21ff0ff5
type=ethernet
autoconnect-priority=-999
interface-name=ens33
timestamp=1731995031
zone=public
[ethernet]

[ipv4]
dns=8.8.8.8;8.8.4.4;
method=auto

[ipv6]
addr-gen-mode=eui64
method=disabled

[proxy]

Так же с другими интерфейсами

nano /etc/NetworkManager/system-connections/ens32.206.nmconnection
[connection]
id=Manager
uuid=39bf558b-f922-43ad-9405-5b6bcc068375
type=vlan
interface-name=ens32.206
timestamp=1731999811
zone=ProxyManager
[ethernet]

[vlan]
flags=1
id=206
parent=ens32

[ipv4]
address1=172.16.110.33/24,172.16.110.4
method=manual

[ipv6]
addr-gen-mode=default
method=disabled

[proxy]

Для первого созданного интерфейса VLAN почему то не применятся изменение интерфейса к файлу, поэтому меняем настройки в первоначальном названии файла

nano /etc/NetworkManager/system-connections/VLAN\ connection\ 1.nmconnection
[connection]
id=LAN
uuid=cda7388a-2f07-4595-9991-a4cc3f716d4f
type=vlan
interface-name=ens32.200
timestamp=1732006739
zone=ProxyUser

[ethernet]

[vlan]
flags=1
id=200
parent=ens32

[ipv4]
address1=172.16.116.8/24
method=manual

[ipv6]
addr-gen-mode=default
method=disabled

[proxy]

Перезапускаем сетевые интерфейсы командой

systemctl restart NetworkManager

Перезагружаем сервер

reboot

Настройка браузера

изображение.png

изображение.png

И ОБЯЗАТЕЛЬНО перезагружаем браузер.

Итоги

Теперь в VLAN200 должна раздаваться сеть 172.16.116.0/24, но только тем устройствам, которые прописаны в настройках DHCP сервера. При этом не должен раздаваться ни шлюз, ни DNS сервера. В этой же сети должна работать прокся. Из этой сети не должно быть доступа в самой проксе для конфигурирования по SSH. 

Из под сети 172.16.121.0/24 и 172.16.113.0/24 должна работать и прокся и доступ для ее конфигурирования через SSH.