IPFW и правила дла внешней сетевеой

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
m4rkell
мл. сержант
Сообщения: 136
Зарегистрирован: 2008-09-19 7:50:05
Откуда: Москва
Контактная информация:

IPFW и правила дла внешней сетевеой

Непрочитанное сообщение m4rkell » 2008-12-12 8:44:39

Такой вопрос, у меня модем на нем внешний ip, подключен он к сетевой, айпишники 192.168.200.1 это модем, все конекты натяться модемом на 192.168.200.2 это сетевуха на файрволе.

Такой вопос вообщем, будет у меня 192.168.200.2 перебрасывать всякие порты с помощью rinetd, сетевуха внутри сети локальной 10.43.68.66 идет она через маршрутизатор, а сетка внутри 10.43.83.0/24

Вот какой файвол получился...гляньте вооруженным взглядом плиз, что не так?

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

#!/bin/sh

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

FwCMD="/sbin/ipfw"            # бинарник IPFW

LanOut="xl0"                  # Внешняя сетевуха
NetOut="192.168.200.0/24"   # внешняя сеть
IpOut="192.168.200.2"       # Внешний IP

LanIn="rl0"                   # внутренняя сетевуха
NetIn="10.43.83.0/24"        # Внутренняя сеть
ip_lan="10.43.83"            # Шаблон внутреннего адреса 
                              # нужен для ввода разрешений на инет

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


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

# рубим пакеты `типа от внутренней сети, но на внешнем интерфейсе`
${FwCMD} add deny ip from ${NetIn} to any in via ${LanOut}
# рубим пакеты `типа от внешней сети, но на внутреннем интерфейсе`
${FwCMD} add deny ip from ${NetOut} to any in via ${LanIn}

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


# рубим траффик к частным сетям через внешний интерфейс
# заметтьте - эти правила отличаются от тех что были выше!
${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}

# разрешаем некоторые типы 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 сервер - иначе надо всего два)
${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
# открываем снаружи 21 порт
${FwCMD} add allow tcp from any to ${IpOut} 21 in via ${LanOut} setup
# открываем снаружи 3389
${FwCMD} add allow tcp from any to ${IpOut} 3389 in via ${LanOut} setup
# разрешаем 5222
${FwCMD} add allow tcp from any to ${IpOut} 5222 in via ${LanOut} setup
# разрешаем SSH
${FwCMD} add allow tcp from any to ${IpOut} 123 in via ${LanOut} setup
# открываем снаружи 7777 порт 
${FwCMD} add allow tcp from any to ${IpOut} 7777 in via ${LanOut} setup

# Блокируем все остальные попытки соединения с занесением в логи
${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

# запрещаем всё и всем. Если тип файрволла не open то это правило добавится
# автоматически, но всё-же ну его. Лучше сам. Надёжней.
${FwCMD} add deny ip from any to any
Software is like a sex - its better when its free

Хостинговая компания 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/

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: IPFW и правила дла внешней сетевеой

Непрочитанное сообщение zingel » 2008-12-12 14:54:57

нарисуй топологию сначала, а то я вот не понял, что ты хотел сказать вот тут:
Такой вопос вообщем, будет у меня 192.168.200.2 перебрасывать всякие порты с помощью rinetd, сетевуха внутри сети локальной 10.43.68.66 идет она через маршрутизатор, а сетка внутри 10.43.83.0/24
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
m4rkell
мл. сержант
Сообщения: 136
Зарегистрирован: 2008-09-19 7:50:05
Откуда: Москва
Контактная информация:

Re: IPFW и правила дла внешней сетевеой

Непрочитанное сообщение m4rkell » 2008-12-12 15:09:48

Модем с реальным IP>все входящие конекты натяться им на>192.168.200.2

Сам сервак с двумя сетевыми картами: 192.168.200.2 xl0 это внешка
И внутренньяя 10.43.68.66 rl0

Внутренняя сеть 10.43.83.0/24 в которой и находяться все компы, к сетевой файвола внутренний 10.43.68.66 rl0 конектится через маршрутизатор 10.43.68.65 он прописан статическим маршрутом в rc.conf.

так более понятно?

Вот тема моя прошу туда все:

http://forum.lissyara.su/viewtopic.php?f=4&t=13323
Software is like a sex - its better when its free

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: IPFW и правила дла внешней сетевеой

Непрочитанное сообщение zingel » 2008-12-12 15:24:04

ну тогда с этой что делать будем?
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
m4rkell
мл. сержант
Сообщения: 136
Зарегистрирован: 2008-09-19 7:50:05
Откуда: Москва
Контактная информация:

Re: IPFW и правила дла внешней сетевеой

Непрочитанное сообщение m4rkell » 2008-12-12 15:44:11

Закрываем.
Software is like a sex - its better when its free