Страница 6 из 10

Re: IPFW and PPPoE

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

Re: IPFW

Добавлено: 2010-03-09 21:30:23
xelplogoog
в фаерволе tun0 в сквиде ниче вроде не надо

Re: IPFW

Добавлено: 2010-03-10 9:54:30
MuJLaN
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/

Re: IPFW

Добавлено: 2010-03-10 17:50:04
xelplogoog
в прафилах фаервола внешний фейс надо писать tun0 если у тя PPPoE, а не название сетевухи, которая в модем подключена
по сквиду, наверна, в другую тему
если коротко, то юзера создавать не надо. а файлы логов я вроде создавал
запускать нада /usr/local/etc/rc.d/squid start. там он и ошибку выдаст, если не захочет стартовать. по ней уже и смареть нада че не так
смареть запущен ли - /usr/local/etc/rc.d/squid status, а не ps (мне лично так сподручнее)

Re: IPFW

Добавлено: 2010-03-15 9:13:12
MuJLaN
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 .

Re: IPFW

Добавлено: 2010-03-15 11:40:12
xel
а когда сквид собирал, указал опцию ipfw ? может в этом косяк?

Re: IPFW

Добавлено: 2010-03-15 12:12:45
MuJLaN
У меня получился прозрачный прокси!
Не стал мучиться со сложными правилами фаера, как был описан в статье. В фаервол по умолчанию (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 интерфейса смотрящего во внутреннюю сеть.
Теперь буду просто постепенно добавлять разрешения и запреты. И смотреть что получиться.

Re: IPFW

Добавлено: 2010-03-17 0:30:51
Hunta
Помогите пожалуйста, не могу настроить проброс 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
Помогите пожалуйста, что делаю не так?
Заранее спасибо.

Re: IPFW

Добавлено: 2010-03-17 9:43:47
gjgjd
а отчего могут правила из фаервола пропадать время от времени? не все, тока некоторые.
ну, т.е. у меня есть набор правил, но иногда отваливается инет. смотрю в фаервол - не хватает 2-3 правил. перегружаю скрипт - все возвращается

Re: IPFW

Добавлено: 2010-03-18 23:11:36
Hunta
Людииии! Кто нибудь, натолкните....
Up :st:

Re: IPFW

Добавлено: 2010-03-19 11:58:05
gjgjd
ты уверен, что проброс порта это проблема фаервола, а не ната?

Re: IPFW

Добавлено: 2010-03-25 19:43:48
xelplogoog
помогите разобраться
у меня есть правила с keep-state и они работают (-d показывает установленные соединения)
но у меня в первом правиле add 100 check-state всегда светит 0. это так и должно быть?

Re: IPFW

Добавлено: 2010-03-25 20:11:06
dikens3
xelplogoog писал(а):помогите разобраться
у меня есть правила с keep-state и они работают (-d показывает установленные соединения)
но у меня в первом правиле add 100 check-state всегда светит 0. это так и должно быть?
Да.

Re: IPFW

Добавлено: 2010-03-27 15:37:55
xelplogoog
есть еще проблема

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

Re: IPFW

Добавлено: 2010-03-28 0:53:24
xelplogoog
и еще вопрос в догонку

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

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

Re: IPFW

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

пытаюсь понять, как он там оказался

Re: IPFW

Добавлено: 2010-04-04 0:55:12
dikens3
xelplogoog писал(а):и еще вопрос в догонку

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

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

Re: IPFW

Добавлено: 2010-04-04 10:57:16
xelplogoog
спс, но уже нашел ответ в другой теме :)

Re: IPFW

Добавлено: 2010-04-08 12:51:32
kvasik
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 в ядре?

Re: IPFW

Добавлено: 2010-04-08 12:55:51
nops
а я вот так делаю 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

Re: IPFW

Добавлено: 2010-05-15 14:05:44
Amf
Доброго времени суток.
Заранее извиняюсь, если не в ту тему пишу.
Прошу помоч разобраться с проблемой:
Есть:
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(интерфейс, смотрящий в локальную сеть)), но к сожалению ничего не получилось. Правило срабатывает, но телнетом зайти на почтарь по прежнему не получается. В вопросах почты я дилетант, так что не судите слишком строго =)
Если есть какие-нибудь мысли по этому вопросу, с готовностью выслушаю

Re: IPFW

Добавлено: 2010-05-15 18:41:37
dikens3
1. Можно на всех компах прописать в файле hosts соответствие:

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

192.168.4.2 mx.mydomain.ru
2. Поднять свой внутренний или кэширующий DNS, в котором сделать аналогично hosts для своей сети.
и т.д.

Re: IPFW

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

Re: IPFW

Добавлено: 2010-05-15 23:25:58
dikens3
Ваш DNS сервер должен отдавать вашей сети на запрос mx.mydomain.ru IP-Адрес 192.168.4.2.

Re: IPFW

Добавлено: 2010-05-16 0:26:44
Amf
Понял, спасибо за совет.
Этого я и боялся =( ДНС настривал не я, он мне в нагрузку достался, видимо пришло время разбираться и с ним.