Проверка и оптимизация правил межсетевого экрана IPTable и squid - PullRequest
0 голосов
/ 19 мая 2018

Мое требование:

Мне нужно запустить точку доступа Wi-Fi с компьютера.Люди, подключающиеся к точке доступа, должны иметь доступ к локальному веб-серверу, работающему на компьютере, на полной скорости и на ограниченных скоростях при доступе в Интернет.Я попытался настроить систему с помощью программных средств, перечисленных ниже.Я использую это на маломощных ПК.Поэтому я хочу, чтобы это было максимально оптимизировано.Мне нужно, чтобы вы проверили и сделали ли я все это правильно.

  • люди, подключенные к wlan0, должны получить доступ к 127.0.0.1:80 на полной скорости.
  • люди, подключенные к wlan0, должныдоступ к Интернету через eth0 со скоростью 50 Кбит / с.

Настройка интерфейса и ПК:

  • eth0 - проводное подключение к Интернету
  • wlan0 - действует как точка доступа - использует hostapd
  • dnsmasq для dhcp и dns для горячей точки
  • локальный веб-сервер работает на 127.0.0.1:80
  • squid для регулирования скорости передачи по сети

Файл конфигурации dnsmasq: (для диапазона IP-адресов и настройки DNS)

interface=wlan0      # Use interface wlan0
except-interface=lo
listen-address=172.24.1.1 # Explicitly specify the address to listen on
bind-interfaces      # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8       # Forward DNS requests to Google DNS
domain-needed        # Don't forward short names
bogus-priv           # Never forward addresses in the non-routed address spaces.
dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time

Для маршрутизации трафика

Записи таблицы IP

Правило1

Сервер Squid (регулирование скорости сети) работает в порту 3128. Поэтому перенаправьте порт 80 и 443 eth0 (имя, предоставляющее интернет-интерфейс) на сервер Squid для регулирования скорости сети.Так что squid работает как прокси-сервер.

 sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 172.24.1.1:3128
 sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 172.24.1.1:3128

 

Rule2

Здесь перенаправьте запрос wlan0 (клиента) на прокси-сервер squid, работающий в порту 3128

sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 3128
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j REDIRECT --to-port 3128

 

Rule3

Помогает дать ответ клиенту, который подключается с wlan0

sudo iptables --t nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE

 

Rule4

Направление конкретного ip-запроса на lo (локальный сервер работает в 127.0.0.1:80)

iptables -t nat -A PREROUTING -i wlan0 -p tcp -d 172.24.1.1 -j DNAT --to-destination 127.0.0.1:80

Конфигурация Squid

acl test src 172.24.1.2/24

delay_pools 1

delay_class 1 1

delay_parameters 1 100000/100000 #100kilobyte per second

delay_access 1 allow test

Все это выглядит так, как будто оно работаетно компьютер и сеть иногда работают медленно и определенно медленно, когда многие люди получают доступ к горячей точке.

Кроме того, как мне выполнить анализ производительности этой системы брандмауэра?

1 Ответ

0 голосов
/ 08 июня 2018

Вы убедились, что клиентские запросы не просто превышают максимальную пропускную способность сетевых интерфейсов?Таким образом вызывает аппаратное узкое место?

...