Мне нужна помощь в настройке следующего сценария: просмотр веб-страниц небольшой институциональной сети осуществляется через прокси-сервер с аутентификацией, настроенной в Debian как прокси/брандмауэр (с использованием правил iptables) и подключенной к родительскому прокси. Клиенты локальной сети не делают никаких DNS-запросов наружу, потому что весь просмотр веб-страниц осуществляется через прокси-сервер, и какой-либо другой тип доступа к внешней службе не требуется. Теперь: мы должны получить доступ к серверу jitsi по определенному IP-адресу xxx.xxx.xxx.xxx.Веб-доступ к этому серверу jitsi в порядке в том смысле, что прокси-сервер позаботится об этом, но пакеты на порты UDP 10000 и TCP 4443 соответственно мне не удалось обработать в правилах iptables.
Схема сети следующая:
LAN на eth0 (192.168.0.0/24) ---- (192.168.0.1 ens18) прокси/брандмауэр Debian (192.168.1.2 ens19) -- (192.168.1.1) МАРШРУТИЗАТОР МОДЕМ---->ISP
Правила iptables следующие:
*фильтр
:ВПЕРЕД КАПИТЬ [0:0]
:ВХОД ПАДЕНИЕ [0:0]
:ПАДЕНИЕ НА ВЫХОДЕ [0:0]
# ##### Цепочка INPUT ###### Принимать связанные или установленные соединения
-A INPUT -m conntrack ! -i lo --ctstate СВЯЗАННО,УСТАНОВЛЕНО -j ПРИНЯТЬ
-A ВВОД -p icmp -m icmp --icmp-тип эхо-запрос -j ПРИНЯТЬ
-A INPUT -p udp -m udp -m conntrack --dport 33434:33534 --ctstate NEW -j REJECT
# Правило защиты от спуфинга
-ВВОД! -s 192.168.0.0/24 -i ens18 -j LOG --log-prefix "ПОДДЕЛАННЫЙ PKT"
-ВВОД! -s 192.168.0.0/24 -i ens18 -j УДАЛИТЬ
# LAN НА ПРОКСИ ЛОКАЛЬНЫЙ
-A INPUT -p TCP -m состояние -s 192.168.0.0/24 -i ens18 --dport 8080 --state NEW -j ПРИНЯТЬ
# ДОСТУП К ВЕБ-ОТЧЕТАМ
-A INPUT -p TCP -m состояние -s 192.168.0.2/24 -i ens18 --dport 80 --state NEW -j ПРИНЯТЬ
#ДОСТУП К SSH
-A INPUT -p tcp -m состояние -s 192.168.0.2/24 -i ens18 --dport 22 --state NEW -j ПРИНЯТЬ
# СИНХРОНИЗАЦИЯ ВРЕМЕНИ ДЛЯ LAN
-A INPUT -p udp -i ens18 -m state --sport 123 --state NEW -j ПРИНЯТЬ
# ВЕБ-МИН ДОСТУП
-A INPUT -p TCP -m состояние -s 192.168.0.2/24 -i ens18 --dport 10000 --state NEW -j ПРИНЯТЬ
# ПРОГНОЗируем остальное и опускаем цепочку ввода по умолчанию
-ВВОД! -i lo -j LOG --log-prefix "DROP INPUT" --log-ip-options --log-tcp-options
-A ВЫВОД -m состояние --state INVALID -j LOG --log-prefix "DROP INVALID" --log-ip-options --log-tcp-options
-A ВЫВОД -m состояние --state INVALID -j DROP
-A ВЫВОД -m состояние --state УСТАНОВЛЕНО,СВЯЗАННО -j ПРИНЯТЬ
# ##### Цепочка OUTPUT ###### ## Правила ACCEPT для разрешения исходящих соединений
-A ВЫВОД -p tcp -m состояние --dport 21 --state NEW -j ПРИНЯТЬ
-A ВЫВОД -p tcp -m состояние --dport 80 --state NEW -j ПРИНЯТЬ
-A ВЫВОД -p tcp -m состояние --dport 443 --state NEW -j ПРИНЯТЬ
-A ВЫВОД -p udp -m состояние --dport 123 --state NEW -j ПРИНЯТЬ
# внешние DNS-серверы (только доступные, рекурсия не включена)
-A ВЫВОД -p udp -m состояние -d XXX.XXX.XXY.131 --dport 53 --state NEW -j ПРИНЯТЬ
-A ВЫВОД -p tcp -m состояние -d XXX.XXX.XXX.132 --dport 53 --state NEW -j ПРИНЯТЬ
-A ВЫВОД -m состояние -d XXX.XXX.XXX.68 --state NEW -j ПРИНЯТЬ
**# ПЫТАЕТСЯ ДОСТУПИТЬ К СЕРВЕРУ JITSI
-A ВЫВОД -m состояние -d XXX.XXX.ZXX.XXX --state NEW -j ПРИНЯТЬ**
-A ВЫВОД -p icmp --icmp-тип эхо-запрос -j ПРИНЯТЬ
# ##### Цепочка FORWARD ###### Принимать связанные или установленные соединения
-A FORWARD -m состояние --state INVALID -j LOG --log-prefix "DROP INVALID" --log-ip-options --log-tcp-options
-A FORWARD -m состояние --state INVALID -j DROP
-A ВПЕРЕД -m состояние --state УСТАНОВЛЕНО, СВЯЗАННО -j ПРИНЯТЬ
-ВПЕРЕД! -s 192.168.0.0/24 -i ens18 -j LOG --log-prefix "ПОДДЕЛАННЫЙ PKT"
-ВПЕРЕД! -s 192.168.0.0/24 -i ens18 -j УДАЛИТЬ
# предотвратить пересылку пакетов для соединений, инициированных извне (спуфинг)
-A FORWARD -m состояние -i ens19 --state NEW -j DROP
# ## правило журнала по умолчанию
-ВПЕРЕД! -i lo -j LOG --log-prefix "DROP FORWARD" --log-ip-options --log-tcp-options
СОВЕРШИТЬ
# Завершенный
# Сгенерировано вебмином
* калечить
: ВЫВОД ПРИНЯТЬ [0:0]
:ВВОД ПРИНЯТЬ [0:0]
:ВПЕРЕД ПРИНЯТЬ [0:0]
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [0:0]
:ОТПРАВКА ПРИНЯТИЯ [0:0]
СОВЕРШИТЬ
# Завершенный
# Сгенерировано вебмином
*натуральный
: ВЫВОД ПРИНЯТЬ [0:0]
:ВВОД ПРИНЯТЬ [0:0]
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [0:0]
:ОТПРАВКА ПРИНЯТИЯ [0:0]
# ИСТОЧНИК NAT ДЛЯ LAN NETWORK ON
-A POSTROUTING -o ens19 -j SNAT --to-source 192.168.1.2
# МАСКАРАД (ДЛЯ ДИНАМИЧЕСКОГО IP-АДРЕСА В СЛУЧАЕ DHCP-МОДЕМА)
-A POSTOUTING -s 192.168.0.0/24 -o ens19 -j MASQUERADE
СОВЕРШИТЬ
# Завершенный
**** кое-что интересное с этими самыми правилами брандмауэра: мы можем получить доступ к видеоконференциям на сервере https://meet.jit.si без проблем.
Администратор сервера jitsi на xxx.xxx.xxx.xxx утверждает, что ему нужен доступ только к портам UDP 10000 и TCP 4443, как я объяснил, и, конечно же, к 443 (который обрабатывается сетевым прокси)