Страница 1 из 2
IPFW - помогите разобраться
Добавлено: 2009-07-26 23:27:44
risk94
Есть шлюз, есть сервак в локалке ну и сама локалка.
Стоит следующая задача:
Необходимо пробросить с внешнего интерфейса порты ( http, ftp) на сервак в локалке, и также раздавать пользователям локалки интернет по впн.
Что зделано:
ВПН собран, вроде как функционирует, дает апишники и прочия, но не пускает в инет. На серваке в локалке работает http и ftp
Я думаю что у меня затыка с фаерволом, не осилю я его все никак..
Помогите разобраться. Каких данных не хватает - буду выкладывать. спасибо
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 0:44:28
paradox
опишии последовательность действий которую ты сделал что бы понять в чем проблема
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 9:12:25
risk94
колупаюсь уж недели две.
и tcpdumpом смотрел, и переделывал фаер, и конфиги мучал, да кучу всего пробовал. в логах ниче аномального не нашел.
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 9:31:17
paradox
pass all from any to any
divert natd all from any to any via сдесь имя интерфейса который идет через инет
natd незабудь настроить
и гетефей енабле поставь
усе
инет для юзерей с локалки будет
сделаей прийдешь отчитаешь
потом дальше будем смотреть
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 9:41:59
risk94
такое у меня уже есть. даже чуток побольше. вот мой фаер (ток не ржите-с)
Код: Выделить всё
oif="nve0"
onet="190.*.*.252"
omask="255.255.255.252"
oip="190.*.*.254"
iif="ste0"
inet="172.16.0.0"
imask="255.255.0.0"
iip="172.16.100.100"
${fwcmd} add check_state
${fwcmd} add pipe 1 tcp from ${oip} to any via ${oif}
${fwcmd} add pipe 1 udp from ${oip} to any via ${oif}
${fwcmd} add pipe 1 ip from ${oip} to any via ${oif}
${fwcmd} pipe 1 config bw 100Mbit/s
# VPN PPTP
${fwcmd} add allow tcp from ${iip} 1723 to any keep-state
${fwcmd} add allow tcp from any to ${iip} 1723
${fwcmd} add allow gre from any to any
${fwcmd} add pipe 3040 all from not ${inet}:${imask} to 192.168.14.2
${fwcmd} add pipe 3041 all from 192.168.14.2 to not ${inet}:${imask}
${fwcmd} pipe 3040 config bw 250KBit/s
${fwcmd} pipe 3041 config bw 150KBit/s
# SSH
${fwcmd} add allow tcp from any to me 22
${fwcmd} add allow tcp from me 22 to any established
# DNS
${fwcmd} add allow udp from any to any domain
${fwcmd} add allow udp from any domain to any
# HTTP
${fwcmd} add allow tcp from any to 172.16.0.221 80 in via ${oif} setup
# NATD Rules
setup_loopback
#${fwcmd} add deny tcp from ${inet}:${imask} to any http,https via ${oif}
${fwcmd} add deny tcp from any to any 135,136,137,138,139 via ${oif}
${fwcmd} add divert natd all from any to ${oip} via ${oif}
case ${natd_enable} in
[Yy][Ee][Ss])
if [ -n "${natd_interface}" ]; then
${fwcmd} add divert natd all from ${inet}:${imask} to any via ${natd_interface}
fi
;;
esac
# FTP
${fwcmd} add allow all from any to 172.16.0.221 50000-50100 in via ${oif} setup
${fwcmd} add allow tcp from any to me 20,21
${fwcmd} add allow tcp from me 20,21 to any established
${fwcmd} add pass ICMP from any to any # Razreshit ping
${fwcmd} add deny icmp from any to any frag # Zapretit fragmentirovanie paketi
${fwcmd} add deny tcp from any to me 135,136,137,138,139 via ${oif}
${fwcmd} add pass tcp from any to any setup
${fwcmd} add pass tcp from any to any established
${fwcmd} add deny all from any to me
${fwcmd} add deny all from any to any
;;
вот с этим вот у меня выполняется проброс на сервак в локалку,сайты выглядывают наружу, и с ними фтп. НО, фаер мне кажеться очень открытым (если не сказать больше) и не пашет впн. С таким фаером инет есть у вссех даже без коннекта к впн, что не есть хорошо.
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 9:48:46
paradox
убейте весь фаер
и оставте те два правила что я сказал
вам хватит
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 9:49:58
paradox
и поделитесь секретом
где вы вычитали или откуда взяли что фаер обязательно должен содержать как можно больше правил?
скажите пожалуста
я пойду прибью ту контору(или форум) где это советуют
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 9:56:13
risk94
те правила которые Вы мне советуете - они же просто откроют фаервол, так? Но ведь мне же нужно чтобы доступ к инету люди получали авторизировавшись у впн сервака. Или я чето опять недопонимаю? а пробросы портов на внутреннюю машинку??
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 10:02:27
paradox
правильно
а дальше по мере вашего понимания будем усложнять фаервол
что бы после
Код: Выделить всё
pass all from any to any
divert natd all from any to any via ng0
юзеры ходили токо через MPD который висит в локальной сети
и не выходили в нет через divert
разрешаем все через тунели ng* например
и зпрещаем юзерам со своимиобычными айпи с локалки выходить в нет
мочим их айпи на инетовском интерфейсе
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 10:14:47
risk94
Ок.
Вот текущие правила:
Код: Выделить всё
# ipfw show
00100 0 0 pipe 1 tcp from 190.*.*.254 to any via nve0
00100 0 0 allow ip from any to any via lo0
00200 0 0 pipe 1 udp from 190.*.*.254 to any via nve0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 pipe 1 ip from 190.*.*.254 to any via nve0
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 74 4808 allow tcp from any to me dst-port 22
00500 56 23648 allow tcp from me 22 to any established
00600 0 0 allow tcp from any to any
00700 0 0 divert 8668 ip from any to 190.*.*.254 via nve0
00800 0 0 divert 8668 ip from 172.16.0.0/16 to any via nve0
00900 48 4075 deny ip from any to any
65535 794151 77571663 deny ip from any to any
так?
Теперь вводим подсеть для тунелей?
Код: Выделить всё
VPN_net="192.168.14.0"
VPN_mask="255.255.255.0"
и добовляем правило после диверта
Код: Выделить всё
${fwcmd} add allow tcp from ${VPN_net}:${VPN_mask} to any
правильно?
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 10:27:01
paradox
рисуй схему
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 10:28:11
risk94
paradox писал(а):рисуй схему
не понял
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 10:37:01
hizel
после divert-ов allow надо давать, divert только преобразует адреса, но не пускает
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 10:43:23
risk94
походу я ваш язык не понимаю ((
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 10:45:20
risk94
у когонить есть фаер для примера? чтоб я смог почитать его?
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 11:19:08
paradox
hizel писал(а):после divert-ов allow надо давать, divert только преобразует адреса, но не пускает
тьфу сначла divert потом аллов
>risk94
зачем тебе чужие дебри
напиши свой
в чем затруднение?
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 11:23:56
risk94
да во всем. чето я теперь совсем запутался. Когда правила нужно ставить до диверта, а когда после??
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 11:32:25
paradox
divert
сюда вставляешь всяко разно
pass all
deny all
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 12:37:01
risk94
работает только с теми правилами что я писал. блин где я туплю??
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 13:08:32
paradox
ты просто не хочешь понять и разорбаться как работает фаер
есть еще такая опция log она логирует каждый пакет который проходит по такому log правилу
добавь его и изучай
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 13:49:45
risk94
ок, попробую.
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 14:03:14
risk94
Еще вопрос. Почему когда я указываю вот такие правила (Правила стоят после диверта):
Код: Выделить всё
00800 allow log logamount 100 tcp from any to any dst-port 80
00900 allow log logamount 100 tcp from any 80 to any established
то проброс происходит. А если
Код: Выделить всё
00800 allow log logamount 100 tcp from any to ${srvip} dst-port 80
00900 allow log logamount 100 tcp from ${srvip} 80 to any established
то проброса не происходит ??
В логах пишет accept
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 14:15:18
paradox
потому что нужно понимать что такое via
и где нужно перехвачивать пакет(на каком интерфейсе)
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 14:24:09
risk94
ага. курю дальше.
Re: IPFW - помогите разобраться
Добавлено: 2009-07-27 14:55:39
risk94
хм. перепробовал походу все варианты с via не просветлело ...