IPFW - помогите разобраться

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-26 23:27:44

Есть шлюз, есть сервак в локалке ну и сама локалка.
Стоит следующая задача:

Необходимо пробросить с внешнего интерфейса порты ( http, ftp) на сервак в локалке, и также раздавать пользователям локалки интернет по впн.

Что зделано:
ВПН собран, вроде как функционирует, дает апишники и прочия, но не пускает в инет. На серваке в локалке работает http и ftp

Я думаю что у меня затыка с фаерволом, не осилю я его все никак.. :oops: :sorry:

Помогите разобраться. Каких данных не хватает - буду выкладывать. спасибо

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

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 0:44:28

опишии последовательность действий которую ты сделал что бы понять в чем проблема

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 9:12:25

колупаюсь уж недели две.
и tcpdumpом смотрел, и переделывал фаер, и конфиги мучал, да кучу всего пробовал. в логах ниче аномального не нашел.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 9:31:17

pass all from any to any
divert natd all from any to any via сдесь имя интерфейса который идет через инет

natd незабудь настроить
и гетефей енабле поставь
усе
инет для юзерей с локалки будет

сделаей прийдешь отчитаешь
потом дальше будем смотреть

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 9:41:59

такое у меня уже есть. даже чуток побольше. вот мой фаер (ток не ржите-с)

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

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
        ;;
вот с этим вот у меня выполняется проброс на сервак в локалку,сайты выглядывают наружу, и с ними фтп. НО, фаер мне кажеться очень открытым (если не сказать больше) и не пашет впн. С таким фаером инет есть у вссех даже без коннекта к впн, что не есть хорошо.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 9:48:46

убейте весь фаер
и оставте те два правила что я сказал
вам хватит

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 9:49:58

и поделитесь секретом
где вы вычитали или откуда взяли что фаер обязательно должен содержать как можно больше правил?
скажите пожалуста
я пойду прибью ту контору(или форум) где это советуют

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 9:56:13

те правила которые Вы мне советуете - они же просто откроют фаервол, так? Но ведь мне же нужно чтобы доступ к инету люди получали авторизировавшись у впн сервака. Или я чето опять недопонимаю? а пробросы портов на внутреннюю машинку??

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 10:02:27

правильно

а дальше по мере вашего понимания будем усложнять фаервол

что бы после

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

pass all from any to any
divert natd all from any to any via ng0
юзеры ходили токо через MPD который висит в локальной сети
и не выходили в нет через divert

разрешаем все через тунели ng* например

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

pass all from сетьтунеелей to сеть тунелей
и зпрещаем юзерам со своимиобычными айпи с локалки выходить в нет
мочим их айпи на инетовском интерфейсе

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

deny all from локалкасеть to any via ng0

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 10:14:47

Ок.
Вот текущие правила:

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

# 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
правильно?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 10:27:01

рисуй схему

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 10:28:11

paradox писал(а):рисуй схему
не понял

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW - помогите разобраться

Непрочитанное сообщение hizel » 2009-07-27 10:37:01

после divert-ов allow надо давать, divert только преобразует адреса, но не пускает
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 10:43:23

походу я ваш язык не понимаю ((

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 10:45:20

у когонить есть фаер для примера? чтоб я смог почитать его?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 11:19:08

hizel писал(а):после divert-ов allow надо давать, divert только преобразует адреса, но не пускает
тьфу сначла divert потом аллов


>risk94
зачем тебе чужие дебри
напиши свой
в чем затруднение?

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 11:23:56

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

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 11:32:25

divert
сюда вставляешь всяко разно
pass all
deny all

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 12:37:01

работает только с теми правилами что я писал. блин где я туплю??

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 13:08:32

ты просто не хочешь понять и разорбаться как работает фаер

есть еще такая опция log она логирует каждый пакет который проходит по такому log правилу
добавь его и изучай

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 13:49:45

ок, попробую.

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 14:03:14

Еще вопрос. Почему когда я указываю вот такие правила (Правила стоят после диверта):

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

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

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: IPFW - помогите разобраться

Непрочитанное сообщение paradox » 2009-07-27 14:15:18

потому что нужно понимать что такое via
и где нужно перехвачивать пакет(на каком интерфейсе)

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 14:24:09

ага. курю дальше.

risk94
лейтенант
Сообщения: 831
Зарегистрирован: 2007-06-01 19:27:51

Re: IPFW - помогите разобраться

Непрочитанное сообщение risk94 » 2009-07-27 14:55:39

хм. перепробовал походу все варианты с via не просветлело ...