Господа мегагуру,что я с файрволом неправильно нахимичил?

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Hikari
мл. сержант
Сообщения: 84
Зарегистрирован: 2009-02-19 5:26:08
Контактная информация:

Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение Hikari » 2009-02-24 4:44:46

Есть файвола, сделана по lissyarиной методичке. Появилась необходимость приткнуть к роутеру WiFi точку доступа
На этапе фаера потерялся

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

#!/bin/sh

# для начала вводим переменные - для нашего же удобства, чтобы не 
# вводить по сотне раз одно и то же, а потом искать почему не работает,
# и в итоге выяснять, что ошибся IP адресом в одном из правил

FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="fxp0"            # внешний интерфейс
LanIn="rl2"            # внутренний интерфейс
IpOut="111.111.111.111" # внешний IP адрес машины
IpIn="192.168.4.21"   # внутренний IP машины
IpWIFI="192.168.2.21"	# вайфайная подсетка
LanWIFI="rl1"
NetWIFI="192.168.2.0"    # Вайфайная сеть
NetMask="24"            # маска сети (если она разная для внешней 
                        # и внутренней сети - придётся вводить ещё 
                        # одну переменную, но самое забавное, что 
                        # можно и забить - оставить 24 - всё будет 
                        # работать, по крайней мере я пробовал - 
                        # работаало на 4-х машинах, в разных сетях, 
                        # с разными масками - настоящими разными! но - 
                        # это неправильно.)
NetIn="192.168.4.0"    # Внутренняя сеть
IpTorr="192.168.4.31"  # IP машины с торрентом

# Сбрасываем все правила:
${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush

# Проверяем - соответствует ли пакет динамическим правилам:
${FwCMD} add check-state

# Разрешаем весь траффик по внутреннему интерфейсу (петле)
# Вообще я во многих местах читал что без него может ничё не заработать вообще
# и прочие страшилки. Работает - почта, апач, .... А вот squid - не работает :)
# так что без него и правда - никуда.
${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


# Вводим запреты:
# режем частные сети на внешнем интерфейсе - по легенде он у нас 
# смотрит в интернет, а значит пакетам этим браться неоткуда на нём.
# рубим частные сeти
${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 240.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}

# а тут собственно файрволл и начался:

# отправляем всех на frox
#${FwCMD} add fwd ${IpIn},2121 tcp from ${NetIn}/${NetMask} to any 21 via ${LanOut}
# отправляем всех на squid (в данном случае - прокси прозрачный)
#${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}


# пропускаем траффик через трансляцию сетевых адресов (NAT)
#мои эксперименты
${FwCMD} add divert natd ip from ${NetWIFI}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} 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}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}


# разрешаем все установленные соединения (если они установились - 
# значит по каким-то правилам они проходили.)
${FwCMD} add allow tcp from any to any established
# разрешаем весь исходящий траффик (серверу-то в инет можно? :))
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}

# разрешаем DNS снаружи (нам же надо узнавать IP по именам машин?)
${FwCMD} add allow udp from any 53 to any via ${LanOut}
# разрешаем DNS входящий снаружи - если на этой машине работает named
# и держит какую-то зону. В остальных случаях - не нужно
${FwCMD} add allow udp from any to any 53 via ${LanOut}
# разрешаем UDP (для синхронизации времени - 123 порт)
${FwCMD} add allow udp from any to any 123 via ${LanOut}
# разрешаем 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} 21 via ${LanOut}
#Можно изгалиться примерно так, если есть желание, но я предпочитаю руками
#${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}
# разрешаем некоторые типы ICMP траффика - эхо-запрос, 
# эхо-ответ и время жизни пакета истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
# открываем снаружи 80 порт - если у нас есть WWW сервер на машине
${FwCMD} add allow tcp from any to ${IpOut} 80 via ${LanOut}
# открываем снаружи 25 порт (SMTP) если на машине крутится почта
#${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
# открываем снаружи 22 порт - если надо будет ходить на машину по ssh
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}
# открываем снаружи 143 порт(если надо смотреть почту снаружи по IMAP)
${FwCMD} add allow tcp from any to ${IpOut} 143 via ${LanOut}
# открываем снаружи 110 порт(если надо смотреть почту снаружи по POP)
${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}

#проба врубить торрент
#${FwCMD} add allow tcp from any to ${IpOut} 17186 via ${LanOut}
#${FwCMD} add divert natd tcp from any to ${IpOut} 17186 via ${LanOut}
#${FwCMD} add divert natd ip from ${IpTorr} to any via ${LanOut}
#${FwCMD} add allow tcp from any to ${IpTorr} 17186 via any
#natd -n ${LanOut} -redirect_port tcp ${IpTorr}: 17186 17186

# по поводу следующих трёх правил, для tcp, udp и icmp - их можно
# заменить одним правилом:
#${FwCMD} add allow ip from any to any via ${LanIn}
# но для удобства наладки и контроля происходящего я предпочитаю три отдельных
# правила, хотя могут быть грабли - например протокол gre не пройдёт - 
# придётся стругать отдельное правило для него, типа 
#${FwCMD} add allow gre from any to any via ${LanIn}
# итак:
# разрешаем весь tcp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanIn}
# разрешаем весь udp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanIn}
# разрешаем весь icmp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanIn}
# запрещаем всё и всем. Если тип файрволла не open то это правило добавится
# автоматически, но всё-же ну его. Лучше сам. Надёжней.

#мои эксперименты
${FwCMD} add allow ip from any to any via ${LanWIFI}
# но для удобства наладки и контроля происходящего я предпочитаю три отдельных
# правила, хотя могут быть грабли - например протокол gre не пройдёт -
# придётся стругать отдельное правило для него, типа
${FwCMD} add allow gre from any to any via ${LanWIFI}
# итак:
# разрешаем весь tcp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanWIFI}
# разрешаем весь udp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanWIFI}
# разрешаем весь icmp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanWIFI}
#мои эксперименты

${FwCMD} add deny ip from any to any
пинги от ноута нафайрволе загибаются. :(

и еще вопросик - не подскажите ли какой-нить сервис по тестированию безопасности. типа по хттп зашел, ип задал -
а оно тебе в ответ - фарвол прекрасен, спору нет
но так много разных дыр, обнови скорее мир
Желательно с указанием на дыры :smile:
__________________________________________________________
Чем ленивее человек, тем больше его труд напоминает подвиг.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 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/

Аватара пользователя
Hikari
мл. сержант
Сообщения: 84
Зарегистрирован: 2009-02-19 5:26:08
Контактная информация:

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение Hikari » 2009-02-24 5:09:33

Допер запустится без файрвола - все равно пакет не идет :(

Потерялся совсем... Куда копать?
__________________________________________________________
Чем ленивее человек, тем больше его труд напоминает подвиг.

Аватара пользователя
Hikari
мл. сержант
Сообщения: 84
Зарегистрирован: 2009-02-19 5:26:08
Контактная информация:

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение Hikari » 2009-02-24 6:55:31

Клиника такая. Точка пингуется. Интерфейс на freeBSD роутере, в который воткнута точка- пингуется. Дальше - затык, начиная с внешнего интерфейса. Не пингуется.
При том при всем живущая в другом интерфейсе/подсети машина гуляет по инету и пишет это сообщение.
Сквидов нет. конфигурация сетки видна из конфига файрвола выше.
__________________________________________________________
Чем ленивее человек, тем больше его труд напоминает подвиг.

wel
сержант
Сообщения: 170
Зарегистрирован: 2007-02-27 11:59:41

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение wel » 2009-02-24 7:00:12

Hikari писал(а):Клиника такая. Точка пингуется. Интерфейс на freeBSD роутере, в который воткнута точка- пингуется. Дальше - затык, начиная с внешнего интерфейса. Не пингуется.
При том при всем живущая в другом интерфейсе/подсети машина гуляет по инету и пишет это сообщение.
Сквидов нет. конфигурация сетки видна из конфига файрвола выше.
Схемку + ИП , выводу netstat -rn / ifconfig

Аватара пользователя
Hikari
мл. сержант
Сообщения: 84
Зарегистрирован: 2009-02-19 5:26:08
Контактная информация:

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение Hikari » 2009-02-24 7:15:48

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

WiFi
Network   198.168.2.0          
Netmask   255.255.255.0   
IP 198.168.2.1
______________________________________________________
Роутер FreeBSD 7.1

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

rl1
198.168.2.21/            
--------------------------
fxp0 внешний мир 111.111.111.111
--------------------------
rl2
198.168.4.21
______________________________________________________
Раб. станция

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

Network   198.168.4.0          
Netmask   255.255.255.0   
198.168.4.31

Вот такой роутер. три интерфейса. Один в мир (fxp0) два - во внутренние сети - на рабочую станцию и на вайфай роутер
В настоящий момент все работает на рабочую станцию
Работает через natd
второй нат не запускается.
Вычитал, что в 7 фре с натд проблемы - собрал ядро под ipnat

Что с ним дальше делать - непонятно.
__________________________________________________________
Чем ленивее человек, тем больше его труд напоминает подвиг.

Аватара пользователя
Hikari
мл. сержант
Сообщения: 84
Зарегистрирован: 2009-02-19 5:26:08
Контактная информация:

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение Hikari » 2009-02-25 21:34:29

Что я уже делал неправильно нет смысла даже перечислять. Судя по всему, все... :st:
__________________________________________________________
Чем ленивее человек, тем больше его труд напоминает подвиг.

Аватара пользователя
Hikari
мл. сержант
Сообщения: 84
Зарегистрирован: 2009-02-19 5:26:08
Контактная информация:

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение Hikari » 2009-02-25 21:44:19

пересобрал ядро с поддержкой ipfw nat
Не выходит каменный цветок(
__________________________________________________________
Чем ленивее человек, тем больше его труд напоминает подвиг.

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение voider » 2009-02-26 0:14:21

ненавижу ipfw это файрволл для тех у кого много времени жизни в запасе :) стремитесь к простоте и будет вам ЩАСТье :)

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение hizel » 2009-02-26 0:21:49

voider иди обратно в толксы

Hikari какая текущая нерабочая конфигурация?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение paradox » 2009-02-26 0:23:52

>Hikari
какой кошмар
три сетевых интерфейса и вы не можете между ними разрулиться :cz2:

может сначала для себя нарисуйте блок схему
с айпишниками
потом роутинг нат итд что там нужно
мысленно пустите пинг пусть он пройдет по блок схеме отработает все что вы соорудили
и потом уже приступайте к практике

Аватара пользователя
Hikari
мл. сержант
Сообщения: 84
Зарегистрирован: 2009-02-19 5:26:08
Контактная информация:

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение Hikari » 2009-02-26 9:42:27

Вопрос снят - нахимичил я битую точку доступа. После замены все завел за 15 мин.
wel, hizel - спасибо
__________________________________________________________
Чем ленивее человек, тем больше его труд напоминает подвиг.

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: Господа мегагуру,что я с файрволом неправильно нахимичил?

Непрочитанное сообщение voider » 2009-02-26 13:17:26

hizel » :-D