PF + alt (еще раз)

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
toxot
рядовой
Сообщения: 25
Зарегистрирован: 2009-07-17 23:04:02

PF + alt (еще раз)

Непрочитанное сообщение toxot » 2010-04-08 17:46:09

К сожалению не смог найти похоже темы.
Вот написал конфиг для PF

Код: Выделить всё

ext_if="rl0"
int_if="re0"

set skip on lo

scrub in

altq on $ext_if cbq bandwidth 8Mb queue { std } #cut the outbound chanel
altq on $int_if cbq bandwidth 8Mb queue { std } #cut the inbonund chanel

queue std bandwidth 100% cbq(default) #define queue name and bandwidth


nat-anchor "ftp-proxy/*"
nat on $ext_if from !($ext_if) -> ($ext_if:0)
rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021


anchor "ftp-proxy/*"
block in queue std
pass out queue std

pass quick on $int_if no state
antispoof quick for { lo $int_if }

pass in on $ext_if proto icmp to ($ext_if)
pass in on $ext_if proto tcp to ($ext_if) port ssh
Цель и собственно идея. Ограничить как входящий так и исходящий канал до 8 мб.
т.к эта сеть будет публичной.

Все работает в тестовом режиме нормально тоесть и загрузка и выгрузка происходит на скорости около 8мб, но это в тестовом варианте. Если на эту сеть подсядет человек 500 то будет ли оно работать. Вообщем хочется критики и советов как это лучше реализовать.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
toxot
рядовой
Сообщения: 25
Зарегистрирован: 2009-07-17 23:04:02

Re: PF + alt (еще раз)

Непрочитанное сообщение toxot » 2010-04-21 19:16:28

Тема ап.

Другой вариант конфига. Подскажите пожалуйста, почему в очереди http_in mail_in ssh_in не попадают пакеты?

Код: Выделить всё

ext_if="rl0"
int_if="re0"
local_net = "172.16.0.0/16"
ssh_ports = "{ 22 2022 }"
vpn_ports = "{ 1194 5000 1723 }"
mail_ports  = "{ 25 110 143 943 }"
http_ports  = "{ 80 443 8080 }"
torrents = "{ 195.82.146.114 195.82.146.116 }"
set loginterface rl0
set skip on lo

scrub in

altq on $ext_if cbq bandwidth 8Mb queue { std_out, mail_out, udp_out, http_out, ssh_out, icmp_out } #shape outgoing
altq on $int_if cbq bandwidth 16Mb queue { std_in, mail_in, udp_in, http_in, ssh_in, icmp_in }  #shape incomming

##for ext_if
queue std_out bandwidth 18% priority 2 cbq(default borrow red)
queue mail_out bandwidth 15% priority 5 cbq(borrow red)
queue udp_out bandwidth 10% priority 7 cbq(borrow red)
queue http_out bandwidth 45% priority 7 cbq(borrow red)
queue ssh_out bandwidth 10% priority 6 cbq(borrow red)
queue icmp_out bandwidth 2% priority 6 cbq(borrow red)

##for int_if
queue std_in bandwidth 18% priority 2 cbq(default borrow red)
queue mail_in bandwidth 15% priority 5 cbq(borrow red)
queue udp_in bandwidth 10% priority 7 cbq(borrow red)
queue http_in bandwidth 45% priority 7 cbq(borrow red)
queue ssh_in bandwidth 10% priority 6 cbq(borrow red)
queue icmp_in bandwidth 2% priority 6 cbq(borrow red)

nat on $ext_if from !($ext_if) -> ($ext_if:0) # NAT to wifi network
rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021 
rdr pass on $ext_if proto tcp from any to $ext_if port 81 -> 172.16.0.2 port 80  #AP-2
rdr pass on $ext_if proto tcp from any to $ext_if port 82 -> 172.16.0.3 port 80  #AP-3
rdr pass on $ext_if proto tcp from any to $ext_if port 83 -> 172.16.0.5 port 80  #AP-5
rdr pass on $ext_if proto tcp from any to $ext_if port 84 -> 172.16.0.6 port 80  #AP-6

pass all

block in quick on $int_if from $local_net to $torrents       # Block torrents (Rutracker, etc) servers.

pass in on $ext_if proto icmp to ($ext_if) queue icmp_out    # enable ping from INTERNET
pass in on $ext_if proto tcp to ($ext_if) port www           # web stat interface
pass in on $ext_if proto tcp to ($ext_if) port {81,82,83,84} # pass to management
pass in on $ext_if proto tcp to ($ext_if) port ssh           # management interface

pass in quick on $int_if from $local_net to $int_if
pass out on $int_if proto tcp from !$local_net port $http_ports to $local_net flags S/SA keep state queue http_in
pass out on $int_if proto tcp from !$local_net port $mail_ports to $local_net flags S/SA keep state queue mail_in
pass out on $int_if proto tcp from !$local_net port $ssh_ports to $local_net flags S/SA keep state queue ssh_in
pass out on $int_if proto {tcp udp} from !$local_net port $vpn_ports to $local_net flags S/SA keep state queue ssh_in
pass out on $int_if proto udp all keep state queue udp_in
pass out on $int_if proto icmp all keep state queue icmp_in

pass out on $ext_if proto tcp from $local_net to !$local_net port $http_ports flags S/SA keep state queue http_out
pass out on $ext_if proto tcp from $local_net to !$local_net port $mail_ports flags S/SA keep state queue mail_out
pass out on $ext_if proto tcp from $local_net to !$local_net port $ssh_ports flags S/SA keep state queue ssh_out
pass out on $ext_if proto { tcp udp } from $local_net to !$local_net port $vpn_ports flags S/SA keep state queue ssh_out
pass out on $ext_if proto udp all keep state queue udp_out
pass out on $ext_if proto icmp all keep state queue icmp_out

pass proto gre from any to any no state 

Burner
лейтенант
Сообщения: 693
Зарегистрирован: 2009-06-14 7:02:26

Re: PF + alt (еще раз)

Непрочитанное сообщение Burner » 2010-04-21 23:47:26

toxot писал(а):Тема ап.

Другой вариант конфига. Подскажите пожалуйста, почему в очереди http_in mail_in ssh_in не попадают пакеты?
зачем вы вообще это шейпите?

Аватара пользователя
toxot
рядовой
Сообщения: 25
Зарегистрирован: 2009-07-17 23:04:02

Re: PF + alt (еще раз)

Непрочитанное сообщение toxot » 2010-04-22 1:23:30

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

local_net = "172.16.0.0/16" вместо.
table <local_net> persist { 172.16.0.0/16 }

видимо по другому пф не понимает... сегодня днем потестим. :smile: