есть в офисе шлюз в интернет на FreeBSD,и на нем где то стоит запрет пользователям локалки забирать почту с внешних почтовых адресов со 110 порта, но нужно это убрать нашел скрипт ipfw, который делает правила файрвола, но там ничего такого не вижу вот он:
kldload ipfw
echo y | ipfw flush
sysctl net.inet.ip.forwarding=1
killall -KILL natd
natd -n extranet
INT_IF=«intranet»
EXT_IF=«extranet»
ipfw add 10 allow ip from any to any via vpn
ipfw add 99 allow tcp from any to any 22 in
ipfw add 98 allow tcp from me 22 to any out
ipfw add 100 deny ip from any to 192.168.0.0/16 in via $EXT_IF
ipfw add 2000 allow ip from me to any in
ipfw add 2001 allow ip from me to any out
ipfw add 1008 allow ip from me to 192.168.0.0/24 in via intranet
ipfw add 1009 allow ip from me to 192.168.0.0/24 out via intranet
ipfw add 10000 allow ip from any to any
где еще можно посмотреть?
с компов лок.сети даже нет возможности пинговать внешние сервера
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Ну, для начала убедиться в том, что их у тебя режет ipfw.
Как убедиться? Просто:
/var/log/security — там пусто, после попытке юзером получить почту
Совсем пусто?
Версия Фри (судя по правилам, похоже на что-то из серии 4.Х)?
Для четвёрки — не уверен относительно адресации вопроса:
ipfw вообще логи пишет? И что делает в скрипте '[natd’?
Пинги — протокол 'icmp’.
Причина — в ДНК, а точнее — в общей идеологии правил.
В таком формате правил логи писаться и не должны, что не есть правильно.
Растекаться мыслью по пространству здесь избыточно — для начала рекомендую ознакомиться с одной из достаточных идеологий построения пакетного фильтра FreeBSD.
ЗЫ: Какой-то я здесь слишком вежливый… Ну да ничего, завтра наверстаю :)))
а не может как то мешать запущенный почтовый сервер на этом шлюзе и pop3d
А при чём здесь они, если ты подключаешься к совершенно другому адресу?
Иди изучать принципы настройки пакетного фильтра FreeBSD!
Пришел изучат, первым же делом смотрю:
В /etc/rc.conf добавляется следующий блок:
…
firewall_enable=«YES»
…..
смотрю свой rc.conf — нет там такого параметра
Дык там речь идёт о 6.Х.
А ты так и не сказал, какая версия стоит у тебя.
фри у меня 5,4
Пятую версию не трогал, но 4.Х видел.
Итого: что у тебя в реале — понятия не имею.
В статье описан один из правильных вариантов.
Блок в /etc/rc.conf добавлять нужно. Формат — смотри в /etc/defaults/rc.conf.
У тебя он реально может быть прописан в /etc/rc.conf.local или /usr/local/etc/rc.conf.
Запуск файрволла применительно к пятёрке — не подскажу.
Но сначала разбирайся с правилами.
пересобрал ядро, чтобы работал divert, но всё равно нет доступа из локалки до внешних серверов на 110 порт. сейчас правила выглядят так:
gw# ipfw list
00010 allow ip from any to any via vpn
00015 allow icmp from any to any icmptypes 0,8,11
00020 allow udp from any 53 to any via extranet
00030 allow udp from any to any dst-port 53 via extranet
00040 allow tcp from any to any via intranet
00050 allow udp from any to any via intranet
00060 divert 8668 ip from 192.168.1.0/24 to any out via extranet
00070 divert 8668 ip from any to 195.195.195.195 in via extranet
00098 allow tcp from me 22 to any out
00099 allow tcp from any to dst-port 22 in
00100 deny ip from any to 192.168.0.0/16 in via extranet
02000 allow ip from me to any in
02001 allow ip from me to any out
65535 deny ip from any to any
extranet — это внешняя сет.карта
intranet — это вн. сет карта
Ты почто не разрешил передачу данных через loopback?
В данном формате (идеологии написания правил) in/out большого смысла не имеют (если имет вообще какой-нибудь смысл).
Не вижу желания элементарно проверить работу правил (’log’).
Не вижу правил, разрешающих прохождение пакетов в обратном направлении.
ЗЫ: Скоро начну разговаривать на русском производственном.
ладно, постараюсь не нарываться на русский производственный… но не могу понять что хотел сказать товарищ который изначально писал эти правила этим:
killall -KILL natd
natd -n extranet
еще просьба приведите пример этому
«Не вижу правил, разрешающих прохождение пакетов в обратном направлении.»
Пытаться найти логику в записях человека неопределённой (и это — в лучшем случае) степени компетентности — один из наиболее эффективных способов впустую убить время.
Именно поэтому цензура в том смысле, который на неё возлагался в середине XIX века («цензор» == «научный руководитель») является если не необходимой, то как минимум полезной вещью.
Значит так: ты ещё раз внимательно перечитай статью. Особое внимание обращая на строки с указанием параметра 'LOG’.
Твоих задач я не знаю (кстати, сколько сетевых интерфейсов поднято на сервере?), но я бы рещал задачу следующим образом:
1. В /etc/rc.conf добавить:
2. Правила примерно следующего вида (использую альтернативную описанной в статье идеологию):
Хотя пускать все пинги я бы поостерёгся.
Вместо divert может иметь смысл использовать squid.
И не зажимай номера!!!
на сервере стоят 2 сетевухи, наружу и внутрь, пользователи замечательно получают интернет через сквид, крутился еще почтовый сервер, но замучил спам… и я решил зарубить этот почтовый сервер, а все ящики перенести на хостинг туда где наш сайт, соответственно у пользователей в почтовых клиентах нужно прописать pop.peterhost.ru (хостинг) порт 110 вот и получилась проблема, что почтовый клиент не может соединиться с сервером. Думал что дело в ДНС, но вместо pop.peterhos.ru писал ип адрес — та же песня
Практически та же задача, которую я сейчас прорабатываю.
Закончу — предполагаю оформить в виде статьи.
А вот решение с перекладыванием всех проблем на чужого дядю я считаю неправильным.
Для начала разберись с удалённым доступом туда с своей рабочей станции.
Защита передаваемой информации предусматривается?
Пинги этого хоста с твоей рабочей станции проходят?
Теперь понятнее. Поставь правила 800 и 810 из моего примера и приведи правило с номером 1000 к следующему виду:
так и не получается ничего… правила сделал такие:
add 100 allow all from any to any via lo0
add 200 allow ip from any to any via vpn
add 300 allow icmp from any to any icmptypes 0,8,11
add 400 allow udp from $MY_PRIVAT_NET to $MY_DNS_SERVER 53
add 450 allow tcp from $MY_PRIVAT_NET to $MY_DNS_SERVER 53
add 800 allow tcp from $MY_PRIVAT_NET to any established
add 810 allow tcp from any to $MY_PRIVAT_NET established
add 1000 allow tcp from $MY_PRIVAT_NET to any setup
add 2000 allow tcp from $MY_PRIVAT_NET 22 to any setup
add 8000 deny log tcp from any to $MY_PRIVAT_NET 20,21,22,23,53,80,110,137,138,139,443,563,8080,8888
65535 deny ip from any to any
но пока кроме log т.к. в ядре не поддерживается, нужно пересобирать ядро…
вообще такое ощущение что рабочие станции вообще не видят шлюз, видят только сквид, пинг с рабочих станций на внешние хосты не проходит… еще было подозрение, что IPFW вообще не работает, но когда убираю
allow ip from any to any
то интернет вообще пропадает и через squid…
поддержку log конечно включу в ядре, но думаю, что там бы ничего не появилось, т.к. (см.выше) явно рабочие станции не видят шлюз (хотя он указан у них в настройках tcp/ip)..
Есть подозрение на ДНС — на раб.станциях в настройках указан ип адрес контролера домена лок.сети W2K3 на котором поднят ДНС, может он нифига не работает…
и в $MY_DNS_SERVER указывать 192.168.1.2 — это комп. в локалке с поднятым днс или указывать днс сервер провайдера?
Это тот DNS, который прописан на рабочих станциях.
Что говорит?
Ядро настолько не GENERIC?!?
Кстати, а через сквид по 110 порту их пускать низзя?
Строка про «gateway» в /etc/rc.conf присутствует?
Смотри вывод ipfw show, читай статью и думай.
Дык в рабочие правила эту опцию добавлять должно только на эатпе отладки нерабочих правил.
Есть мнение, что DNS здесь определяющей роли не играет.