IPFW

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
MuJLaN
рядовой
Сообщения: 13
Зарегистрирован: 2009-09-25 10:01:28

Re: IPFW and PPPoE

Непрочитанное сообщение MuJLaN » 2010-03-09 17:23:26

Проблема заключается в следующем: Настроил файрвол чтобы все запросы к интернет поступали на SQUID. Сквид настроил по типу http://www.lissyara.su/?id=1026
Только я к интернет подключаюсь через PPPoE (как мне правильно настроить файрвол - rc.conf и squid - squid.conf ? что указывать в качестве внешнего интерфейса и адреса? tun0 или реальную сетевую плату, которая условно смотрит в интернет. и ip указывать, который сам прописал, или внешний ip, который дает DHCP провайдера. ? :cz2:
У меня пока ни так ни так не получилось...
Где копать? облазил кучу форумов.

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

Аватара пользователя
xelplogoog
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-01-02 12:14:56

Re: IPFW

Непрочитанное сообщение xelplogoog » 2010-03-09 21:30:23

в фаерволе tun0 в сквиде ниче вроде не надо
/usr/ports/x11/yakuake-kde4 user

MuJLaN
рядовой
Сообщения: 13
Зарегистрирован: 2009-09-25 10:01:28

Re: IPFW

Непрочитанное сообщение MuJLaN » 2010-03-10 9:54:30

xelplogoog писал(а):в фаерволе tun0 в сквиде ниче вроде не надо
Т.е. допустим, в фаейрволе я указываю в качестве внешнего ip - ip, который я сам выбрал, а не тот по которому я виден в интернет?

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

FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="rl0"            # внешний интерфейс
LanIn="ale0"            # внутренний интерфейс
IpOut="192.168.9.96" # внешний IP адрес машины (адрес который я прописал в rc.conf, а не тот который дает мне провайдер)
IpIn="200.0.0.96"   # внутренний IP машины
NetMask="24"            # маска сети 
И еще когда у меня устанавливался SQUID была какая-то ошибка, хотя в целом вроде все установилось (к сожалению не успел скопировать ошибку). Создал все директории (файлы логов не создавал, думаю они сами должны автоматом создаваться?). Но после запуска, если делать вот такую команду, он выдает:

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

vnbserver# ps -ax | grep squid
25520  p0  D+     0:00.00 grep squid
Хотя в статье должны быть и другие процессы. Что не так? Нужно ли создавать пользователя SQUID вообще? Хотя вот такая команда выпалняется без ошибок:

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

chown -R squid:wheel /var/log/squid/

Аватара пользователя
xelplogoog
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-01-02 12:14:56

Re: IPFW

Непрочитанное сообщение xelplogoog » 2010-03-10 17:50:04

в прафилах фаервола внешний фейс надо писать tun0 если у тя PPPoE, а не название сетевухи, которая в модем подключена
по сквиду, наверна, в другую тему
если коротко, то юзера создавать не надо. а файлы логов я вроде создавал
запускать нада /usr/local/etc/rc.d/squid start. там он и ошибку выдаст, если не захочет стартовать. по ней уже и смареть нада че не так
смареть запущен ли - /usr/local/etc/rc.d/squid status, а не ps (мне лично так сподручнее)
/usr/ports/x11/yakuake-kde4 user

MuJLaN
рядовой
Сообщения: 13
Зарегистрирован: 2009-09-25 10:01:28

Re: IPFW

Непрочитанное сообщение MuJLaN » 2010-03-15 9:13:12

xelplogoog писал(а):в прафилах фаервола внешний фейс надо писать tun0 если у тя PPPoE, а не название сетевухи, которая в модем подключена
по сквиду, наверна, в другую тему
если коротко, то юзера создавать не надо. а файлы логов я вроде создавал
запускать нада /usr/local/etc/rc.d/squid start. там он и ошибку выдаст, если не захочет стартовать. по ней уже и смареть нада че не так
смареть запущен ли - /usr/local/etc/rc.d/squid status, а не ps (мне лично так сподручнее)
СПАСИБО! в фаерволом разобрался. Указал внешний фейс как tun0. Проблема теперь только в том, что прозрачный прокси не получается...
Хоть и пишу в squid.conf как полагается

# порт прозрачного прокси
http_port 3129 transparent

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

где:
LanOut="tun0" # внешний интерфейс
LanIn="ale0" # внутренний интерфейс
IpOut="192.168.9.95" # внешний IP адрес машины
IpIn="200.0.0.96" # внутренний IP машины
NetMask="24" # маска сети

Но прозрачный прокси все равно не получается.
В access.log идут сообщения типа:
1268412066.880 0 200.0.0.59 TCP_DENIED/400 1405 NONE NONE:// - NONE/- text/html
1268412066.880 0 200.0.0.59 TCP_DENIED/400 1405 NONE NONE:// - NONE/- text/html

Хотя внутренний IP 200.0.0.59 стоит в списке пользователей, у которых полный доступ к интернет. (в squid.conf)
# пользователи с полными парвами на доступ в инет
acl inet_full src "/usr/local/etc/squid/inet_full"

А если указывать в браузере адрес прокси и порт, хоть даже 3129. То все работает отлично. Трафик считается в access.log .

xel
проходил мимо

Re: IPFW

Непрочитанное сообщение xel » 2010-03-15 11:40:12

а когда сквид собирал, указал опцию ipfw ? может в этом косяк?

MuJLaN
рядовой
Сообщения: 13
Зарегистрирован: 2009-09-25 10:01:28

Re: IPFW

Непрочитанное сообщение MuJLaN » 2010-03-15 12:12:45

У меня получился прозрачный прокси!
Не стал мучиться со сложными правилами фаера, как был описан в статье. В фаервол по умолчанию (rc.firewall) просто добавил пару правил.
Вот что получилось.

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

server# ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 fwd 200.0.0.ХХ,3129 ip from any to any dst-port 80,3128,8080 recv ale0
00500 fwd 200.0.0.ХХ,3129 ip from any to any dst-port 80,3128,8080 recv tun0
65535 allow ip from any to any
где 200.0.0.ХХ - IP интерфейса смотрящего во внутреннюю сеть.
Теперь буду просто постепенно добавлять разрешения и запреты. И смотреть что получиться.
Последний раз редактировалось MuJLaN 2010-03-17 9:49:14, всего редактировалось 2 раза.

Аватара пользователя
Hunta
сержант
Сообщения: 164
Зарегистрирован: 2008-12-03 20:47:35
Откуда: Калининград
Контактная информация:

Re: IPFW

Непрочитанное сообщение Hunta » 2010-03-17 0:30:51

Помогите пожалуйста, не могу настроить проброс RDP.
Хочу сделать соединение из вне но на не стандартном порту, к примеру 3590, к машине во внутренней сети.
Т.е. чтоб из инета подключение шло по 3590, а во внутреннюю сеть уже приходило на стандартный 3389. Вроде перенаправляется с 3590 на внутренний IP 3389, а дальше тишина.... :(

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

...
${fwcmd} add divert tcp from any to any in via ${wan}
${fwcmd} add fwd 192.168.0.1,3389 tcp from any to any 3590 in via ${wan}
${fwcmd} add fwd 192.168.0.1,3389 udp from any to any 3590 in via ${wan}

${fwcmd} add allow from 192.168.0.1 to any in via ${lan}    # Это правило уже поставил от безисходности

...
${fwcmd} add divert tcp from any to any out via ${wan}
${fwcmd} add allow tcp from 192.168.0.1 to any out via ${wan}
${fwcmd} add allow udp from 192.168.0.1 to any out via ${wan}
...
В логах следующее:

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

... netserver kernel: ipfw 2000 Forward to 192.168.0.1:3389 TCP X.Y.Z.F:17478 192.168.1.2:3590 in via ed0
Помогите пожалуйста, что делаю не так?
Заранее спасибо.
Дураков нет, есть инакомыслящие...

gjgjd
проходил мимо

Re: IPFW

Непрочитанное сообщение gjgjd » 2010-03-17 9:43:47

а отчего могут правила из фаервола пропадать время от времени? не все, тока некоторые.
ну, т.е. у меня есть набор правил, но иногда отваливается инет. смотрю в фаервол - не хватает 2-3 правил. перегружаю скрипт - все возвращается

Аватара пользователя
Hunta
сержант
Сообщения: 164
Зарегистрирован: 2008-12-03 20:47:35
Откуда: Калининград
Контактная информация:

Re: IPFW

Непрочитанное сообщение Hunta » 2010-03-18 23:11:36

Людииии! Кто нибудь, натолкните....
Up :st:
Дураков нет, есть инакомыслящие...

gjgjd
проходил мимо

Re: IPFW

Непрочитанное сообщение gjgjd » 2010-03-19 11:58:05

ты уверен, что проброс порта это проблема фаервола, а не ната?

Аватара пользователя
xelplogoog
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-01-02 12:14:56

Re: IPFW

Непрочитанное сообщение xelplogoog » 2010-03-25 19:43:48

помогите разобраться
у меня есть правила с keep-state и они работают (-d показывает установленные соединения)
но у меня в первом правиле add 100 check-state всегда светит 0. это так и должно быть?
/usr/ports/x11/yakuake-kde4 user

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: IPFW

Непрочитанное сообщение dikens3 » 2010-03-25 20:11:06

xelplogoog писал(а):помогите разобраться
у меня есть правила с keep-state и они работают (-d показывает установленные соединения)
но у меня в первом правиле add 100 check-state всегда светит 0. это так и должно быть?
Да.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
xelplogoog
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-01-02 12:14:56

Re: IPFW

Непрочитанное сообщение xelplogoog » 2010-03-27 15:37:55

есть еще проблема

ночью пропадали нетокорые правила и утром не было интрнета, приходилось перегружать правила
надоело, подумал, что их криво написал, и переписал с нуля и полностью по-другому
старый файл удалил и исправил запись в rc.conf
сегодня утром проверяю - новых правил нет вообще, загружены старые, которые я удалил вместе с файлом.
откуда он их нашел и почему ночью перегружаются правила фаервола, если комп не перезагружался? куда копать?
/usr/ports/x11/yakuake-kde4 user

Аватара пользователя
xelplogoog
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-01-02 12:14:56

Re: IPFW

Непрочитанное сообщение xelplogoog » 2010-03-28 0:53:24

и еще вопрос в догонку

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

55000    5723     733912 deny log logamount 50 ip from any to any
65535    3880     514950 deny ip from any to any
почему на последнем правиле счетчик != 0 если предыдущее правило идентичное, только с логом?
/usr/ports/x11/yakuake-kde4 user

Аватара пользователя
xelplogoog
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-01-02 12:14:56

Re: IPFW

Непрочитанное сообщение xelplogoog » 2010-04-04 0:14:05

знач, старые правила появлялись каждую ночь из-за того, что копия файла с ними была найдена мной в /etc/periodic/daily

пытаюсь понять, как он там оказался
/usr/ports/x11/yakuake-kde4 user

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: IPFW

Непрочитанное сообщение dikens3 » 2010-04-04 0:55:12

xelplogoog писал(а):и еще вопрос в догонку

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

55000    5723     733912 deny log logamount 50 ip from any to any
65535    3880     514950 deny ip from any to any
почему на последнем правиле счетчик != 0 если предыдущее правило идентичное, только с логом?
Потому что в момент перезагрузки правил, остаётся только одно - 65535.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
xelplogoog
мл. сержант
Сообщения: 134
Зарегистрирован: 2010-01-02 12:14:56

Re: IPFW

Непрочитанное сообщение xelplogoog » 2010-04-04 10:57:16

спс, но уже нашел ответ в другой теме :)
/usr/ports/x11/yakuake-kde4 user

Аватара пользователя
kvasik
рядовой
Сообщения: 12
Зарегистрирован: 2010-01-27 17:56:22

Re: IPFW

Непрочитанное сообщение kvasik » 2010-04-08 12:51:32

Hunta писал(а):Помогите пожалуйста, не могу настроить проброс RDP...
Попробуй методом natd, добавляя опции в /etc/natd.conf, например:
redirect_port tcp 192.168.0.55:3389 3389
и в rc.conf добавить
natd_flags="-f /etc/natd.conf"

У меня тоже назрел вопрос. В чем принципиальное отличие форвардинга в natd и ipfw, где можно произвести те же настройки, внеся изменения в /etc/rc.firewall, например:
${ipfw} add fwd <протокол> from <откуда> to <куда> <дополнительные_условия>. Кроме того, что последний будет работать только с включенной опцией IPFIREWALL_FORWARD в ядре?

Аватара пользователя
nops
мл. сержант
Сообщения: 85
Зарегистрирован: 2010-01-30 21:58:51
Контактная информация:

Re: IPFW

Непрочитанное сообщение nops » 2010-04-08 12:55:51

а я вот так делаю ipfw+pf

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

rdr pass on re0 proto { tcp, udp } from any to 1.1.1.1 port 12345 \ -> 192.168.0.2 port 80
nat pass on re0 from 192.168.0.2 port 80 to any -> re0

Amf
проходил мимо

Re: IPFW

Непрочитанное сообщение Amf » 2010-05-15 14:05:44

Доброго времени суток.
Заранее извиняюсь, если не в ту тему пишу.
Прошу помоч разобраться с проблемой:
Есть:
2 машины с FreeBSD 8.0 RELEASE - 192.168.4.1 (роутер-router.mydomain.ru) и 192.168.4.2(DNS-сервер и почтарь-mx.mydomain.ru на базе Postfix+Dovecot)
1 внешний адрес от провайдера приходящий на роутер.
Через нат(192.168.4.1) прокинуты порты 25, 110, 143 на почтарь(192.168.4.2)
Все казалось бы настроено и вроде даже работает, но есть загвоздка. Пользователи внутри сети не могут принимать/отправлять почту со своих почтовых клиентов (The Bat), если в клиенте в качестве smtp и imap серверов указано имя хоста почтового сервера (mx.mydomain.ru), а не внутренний адрес почтаря (192.168.4.2). Если указать адрес почтаря, то все прекрасно работает, из чего я сделал вывод, что запросы блокируются файрволом при попытке из внутренней сети обратиться на внешний адрес, чтобы снова попасть во внутреннюю сеть.
Ничего умнее в голову не пришло кроме как нарулить форвард через ipfw (ipfw add 10 fwd 192.168.4.2 from 192.168.4.0/24 to mx.mydomain.ru in via nfe0(интерфейс, смотрящий в локальную сеть)), но к сожалению ничего не получилось. Правило срабатывает, но телнетом зайти на почтарь по прежнему не получается. В вопросах почты я дилетант, так что не судите слишком строго =)
Если есть какие-нибудь мысли по этому вопросу, с готовностью выслушаю

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: IPFW

Непрочитанное сообщение dikens3 » 2010-05-15 18:41:37

1. Можно на всех компах прописать в файле hosts соответствие:

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

192.168.4.2 mx.mydomain.ru
2. Поднять свой внутренний или кэширующий DNS, в котором сделать аналогично hosts для своей сети.
и т.д.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Amf
проходил мимо

Re: IPFW

Непрочитанное сообщение Amf » 2010-05-15 21:02:08

1. Можно, но это крайняя мера на мой взгляд =)
2. Я пробовал на 192.168.4.2, который является ДНС-сервером для всей подсети, указать в /etc/hosts 192.168.4.2 mx.mydomain.ru, но так тоже не заработало =(
или я неправильно понял второй вариант ?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: IPFW

Непрочитанное сообщение dikens3 » 2010-05-15 23:25:58

Ваш DNS сервер должен отдавать вашей сети на запрос mx.mydomain.ru IP-Адрес 192.168.4.2.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Amf
проходил мимо

Re: IPFW

Непрочитанное сообщение Amf » 2010-05-16 0:26:44

Понял, спасибо за совет.
Этого я и боялся =( ДНС настривал не я, он мне в нагрузку достался, видимо пришло время разбираться и с ним.