Проблемы установки, настройки и работы Правильной Операционной Системы
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
openx
- рядовой
- Сообщения: 17
- Зарегистрирован: 2007-07-18 14:59:21
Непрочитанное сообщение
openx » 2007-08-10 9:00:35
Прикрутил IP FW. При настройке использовал статью
http://www.lissyara.su/?id=1127 по второму варианту.
Так вот вопрос , если использовать последнюю строку - ${FwCMD} add deny ip from any to any
то IE, icq и т.д. Начинают работать только при явном указании прокси - ххх.ххх.ххх.ххх:3128. А хотелось бы чтобы работало все без явного указания и только то что разрешено в файере.
И еще вопрос если я убираю ${FwCMD} add deny ip from any to any - то все что я прописываю в rc.firewall не действует?
Ядро собрано с опциями
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=5
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT
openx
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex Keda
- стреляли...
- Сообщения: 35487
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-08-10 9:38:10
это проблема не файровлла - у тя прокси непрозрачный.
оба файрволла заточены под прозрачный.
Убей их всех! Бог потом рассортирует...
Alex Keda
-
openx
- рядовой
- Сообщения: 17
- Зарегистрирован: 2007-07-18 14:59:21
Непрочитанное сообщение
openx » 2007-08-10 9:48:34
из squid.conf
http_port 3128 transparent
Вроде бы здесь устанавливается прозрачность, или я что-то упустил?

openx
-
Alex Keda
- стреляли...
- Сообщения: 35487
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-08-10 9:59:02
openx писал(а): Начинают работать только при явном указании прокси - ххх.ххх.ххх.ххх:3128.
это - однозначно непрозрачный.
а синтаксис конфига зависит от версии
Убей их всех! Бог потом рассортирует...
Alex Keda
-
openx
- рядовой
- Сообщения: 17
- Зарегистрирован: 2007-07-18 14:59:21
Непрочитанное сообщение
openx » 2007-08-10 10:03:30
Пересобрал ядро с options IPFIREWALL_DEFAULT_TO_ACCEPT
Работает как и раньше без явного указания. Только если добавить как и писал ${FwCMD} add deny ip from any to any - то только с явным указанием.
6.0 - так что http_port 3128 transparent....
В чем еще может быть загвоздка?
openx
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2007-08-10 10:07:20
если с IPFIREWALL_DEFAULT_TO_ACCEPT и без ${FwCMD} add deny ip from any to any работает значить скорее всего у тя траф идет не через сквид
ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid
-
openx
- рядовой
- Сообщения: 17
- Зарегистрирован: 2007-07-18 14:59:21
Непрочитанное сообщение
openx » 2007-08-10 10:18:41
http точно через сквид, т.к. логи присутствует и по статистике видно....
т.е. ты хочешь сказать что не работает ? ${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut}
openx
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2007-08-10 10:26:02
а хз, ты ж фаервол не показал

ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid
-
Alex Keda
- стреляли...
- Сообщения: 35487
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2007-08-10 10:29:12
он вообще ничё не показал

==========
зависит от весии свкида, а не ОС
Убей их всех! Бог потом рассортирует...
Alex Keda
-
openx
- рядовой
- Сообщения: 17
- Зарегистрирован: 2007-07-18 14:59:21
Непрочитанное сообщение
openx » 2007-08-10 10:29:39
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw - q " # Бинарник IpFw; -q - подавляем вывод команд в консоль
LanOut="bge0" # Внешняя сетевуха
NetOut="xxx" # Внешняя сеть
IpOut="xxx" # Внешний IP
LanIn="bge1" # Внутренняя сетевуха
NetIn="xxx" # Внутренняя сеть
ip_lan="xxx" # Шаблон внутреннегго интерфейса, нужен для разрешений на инет
IpIn="xxx" # Внутренний IP сервака
# сбрасываем все правила
${FwCMD} -f flush
# сбрасываем все pipe
${FwCMD} -f pipe flush
# сбрасываем очереди
${FwCMD} -f queue flush
####### DUMMYNET - Ограничиваем пропускную способность сети
${FwCMD} add pipe 1 ip from ${IpOut} to ${NetIn}
${FwCMD} pipe 1 config bw 100Mbit/s
${FwCMD} add pipe 2 ip from ${IpIn} to ${NetIn}
${FwCMD} pipe 2 config bw 100Mbit/s
# Спецтруба для мелких пакетов типа ack, если они теряются то повторные пакеты будут большего размера
${FwCMD} add pipe 3 ip from any to any tcpflags ack iplen 0-128
${FwCMD} pipe 3 config bw 100Mbit/s
# Пропускаем следующие трубы - чтобы мелкие пакеты не лимитировались
${FwCMD} add skipto 39999 ip from any to any tcpflags ack iplen 0-128
# Запускаем счетчик
i=1
while [ $i = 252 ]
do
# Добавляем трубу для IP адреса
${FwCMD} add pipe $i ip from not ${NetIn} to 192.168.0.${i}
if [ $i -eq 110 -o $i -eq 106 ]
then
${FwCMD} pipe $i config bw 100 Mbit/s
# Тут позволяем кому-то до 256 Kb/s
elif [ $i -eq 18 -o $i -eq 38 ]
then
# ${FwCMD} pipe $i config bw 256 Kbit/s
# Тут позволяем кому-то до 128 Kb/s
elif [ $i -eq 18 -o $i -eq 38 ]
then
${FwCMD} pipe $i config bw 128 Kbit/s
# А тут скорость всем остальным :)
else
${FwCMD} pipe $i config bw 128 Kbit/s
fi
#Увеличиваем i на единичку
i=i+1
done
# Проверяем временные правила (перед этим правилом возвращаются мелкие пакеты в файерволл) :
${FwCMD} add 40000 check-state
################ ENF OF DUMMYNET
# Ночью трафик ограничивем (скорость) причем жестоко режем :)
# для этого в конфиге ядра должна быть строка options DUMMYNET
# соответственно в crontab надо добавить запись типы sh /etc/rcfirewall
# с запуском вв 22.01 и в 8.01.
# Также не забыть поставить в sysctl переменную net.inet.ip.fw.one_pass в 0,
# иначе все пакеты будут выпадать из файервола после трубы а это КОСЯК !
#chour=`date '+%H'`
#
#if [ ${chour} -lt 8 ]
#then
# ${FwCMD} add pipe 1 ip from not ${NetIn} to ${NetIn}
# ${FwCMD} pipe 1 config bw 33600 bit/s
#fi
#if [ ${chour} -ge 22 ]
#then
# ${FwCMD} add pipe 1 ip from not ${NetIn} to ${NetIn}
# ${FwCMD} pipe 1 config bw 33600 bit/s
#fi
# Разрешаем весь трафик по внутреннему интерфейсу (петля)
${FwCMD} add allow ip from any to any via lo0
# Вводим запреты:
# рубим попытки lo0 лезть куда-то и откуда-то на lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
# рубим пакеты типа от внутренней сети, но на внешнем интерфейсе
${FwCMD} add deny ip from ${NetIn} to any in via ${LanOut}
# рубим пакеты типа от внешней сети, но на внутреннем интерфейсе
${FwCMD} add deny ip from ${NetOut} to any in via ${LanIn}
# режем частные сети на внешнем интерфейсе. Раз он у нас смотрит в инет,
# то им там взяться неоткуда.
# рубим частные сети
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуренную частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубим мультикастовые рассылки
${FwCMD} add deny ip from any to 224.0.0.0/4 in via ${LanOut}
# рубим фрагментированные ICMP
${FwCMD} add deny icmp from any to any frag
# рубим широковещательные ICMP на внешнем интерфейсе
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}
# Отправляем всех на squid
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut}
#${FwCMD} add fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80 via ${LanOut}
# Делаем NAT (трансляцию сетевых адресов) всему, что не ушло на squid
${FwCMD} add divert natd ip from ${NetIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
# рубим трафик к частным сетям через внешний интерфейс
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
# рубим автоконфигуренную частную сеть
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
# рубим мультикастовые рассылки
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
# Разрешаем некоторые типы ICMP трафика эхо-запрос,
# эхо ответ и время жизни истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
# Разрешаем трафик на внутреннем интерфейсе (входящий)
${FwCMD} add allow ip from any to ${NetIn} in via ${LanIn}
# Разрешаем трафик на внутреннем интерфейсе (исходящий)
${FwCMD} add allow ip from ${NetIn} to any out via ${LanIn}
# Разрешаем tcp-пакеты по уже установленым соединениям
${FwCMD} add allow tcp from any to any established
# DNS - 4 правила. (если на машине есть DNS сервер - иначе надо 2)
${FwCMD} add allow udp from any to ${IpOut} 53 in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} 53 to any out via ${LanOut}
${FwCMD} add allow udp from any 53 to ${IpOut} in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} to any 53 out via ${LanOut}
# Разрешем UDP (для синхронизации времени - 123 порт)
${FwCMD} add allow udp from any to any 123 via ${LanOut}
# Разрешаем снаружи соединяться с 53 портом (TCP DNS)
${FwCMD} add allow tcp from any to ${IpOut} 53 in via ${LanOut} setup
# Открываем снаружи 80 порт - если у нас есть WWW сервер на машине
${FwCMD} add allow tcp from any to ${IpOut} 80 in via ${LanOut} setup
# Открываем снаружи 20,21 порты - для активного FTP
${FwCMD} add allow tcp from any to ${IpOut} 20,21 in via ${LanOut} setup
# Разрешаем входящую почту
${FwCMD} add allow tcp from any to ${IpOut} 25 in via ${LanOut} setup
# Разрешаем SSH
${FwCMD} add allow tcp from any to ${IpOut} 22 in via ${LanOut} setup
# Пассивный FTP
# Для определения портранджа по которому будет работать, лезем в
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.first
# net.inet.ip.portrange.first: 49152
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.last
# net.inet.ip.portrange.last: 65535
# Можно поизгаляться примерно так,если есть желание, но мы ручками :)
#${FwCMD} add allow tcp from any to ${IpOut} \
#`sysctl net.inet.ip.portrange.first | awk '{print $2}'`-\
#`sysctl net.inet.ip.portrange.last | awk '{print $2}'` via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
# COUNTER-STRIKE (БЕЗ КОМЕНТАРИЕВ :))))
${FwCMD} add allow udp from any 27015-27025 to ${NetIn} in via ${LanOut}
${FwCMD} add allow udp from any 27015-27025 to ${NetIn} out via ${LanIn}
${FwCMD} add allow udp from ${NetIn} to any 27015-27025 in via ${LanIn}
${FwCMD} add allow udp from ${IpOut} to any 27015-27025 out via ${LanOut}
# Блокируем все остальные соединения с занесением в логи
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} setup
${FwCMD} add allow tcp from ${IpOut} to any out via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} in via ${LanIn} setup
######################## BEGIN USERS ###############################
# Разрешаем всем (ICQ)
${FwCMD} add allow tcp from ${NetIn} to any 5190 in via ${LanIn} setup
# Пользователи которым разрешен интернет
${FwCMD} add allow tcp from any to not ${NetIn} in via ${LanIn} setup
#${FwCMD} add allow tcp from ${ip_lan}.153 to not ${NetIn} in via ${LanIn} setup
#${FwCMD} add allow tcp from ${ip_lan}.154 to not ${NetIn} in via ${LanIn} setup
############# END USERS #################################
# Запрещаем все и всем. Если тип файерволла не open то это правило добавится
# автоматически, но все таки. Лучше прописать. Надежнее!
#${FwCMD} add deny ip from any to any
############## Баним подозрительных
${FwCMD} add deny ip from 220.178.4.124 to any
${FwCMD} add deny ip from 203.223.152.214 to any
openx
-
openx
- рядовой
- Сообщения: 17
- Зарегистрирован: 2007-07-18 14:59:21
Непрочитанное сообщение
openx » 2007-08-10 12:13:22
Заработало изменением правила
Код: Выделить всё
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut} на ${FwCMD} add fwd ${IpIn},3128 tcp from ${NetIn} to any 80 via ${LanIn}
Только вопрос, при ipfw show последние две строчки
Код: Выделить всё
deny ip from any to any
allow ip from any to any
т.е. первая строчка пропускается.... так?

openx
-
schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
-
Контактная информация:
Непрочитанное сообщение
schizoid » 2007-08-10 12:31:16
а ты счетчик посмотри и станет ясно
ядерный взрыв...смертельно красиво...жаль, что не вечно...
schizoid