The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"ipfw для тупого программиста"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 09-Фев-04, 10:32  (MSK)
Добрый день всем!
Программист волею судеб заставлен администрировать небольшую сеть фирмы.
Хотя слово администрировать мало видимо подходит к той элементарной видимо задаче которую я пытаюсь решить. Не дайте загнуться, поможите :)
Вобщем есть машина с двумя картами xl0(смотрит в инет) и xl1(смотрит в локалку). На машине нет ни web-сервера, ни proxy-сервера, ни почты, ни dns-сервера, вообщем ничего нет :) Только firewall(ipfw) и natd. В локальной сети порядка 30 машин которым надо ходить в инет. Вроде перечитав кучу инфы кое-как настроил что мог, но вот с правилами ipfw потерялся совсем.
#!/bin/sh
ipfw='/sbin/ipfw -q'
ournet='192.168.10.1/24'
uprefix='192.168.10'
ifout='xl1'
ifuser='xl0'
${ipfw} flush
${ipfw} add 100 check-state
${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
${ipfw} add 300 allow ip from any to any via lo
${ipfw} add 310 allow tcp from me to any keep-state via ${ifout}
${ipfw} add 320 allow icmp from any to any
${ipfw} add 330 allow ip from me to any
${ipfw} add 400 allow tcp from any to me ssh
#${ipfw} add 510 divert natd ip from ${ournet} to any out via ${ifout}
${ipfw} add 520 divert natd ip from any to any via xl1
${ipfw} add 1000 allow tcp from ${ournet} to any via ${ifuser}
${ipfw} add 1000 allow tcp from any to ${ournet} via ${ifuser}

Вопрос1. Правило 510 закоментировано поттому как пропадает доступ к инету из локалки. А 520 работает но стоит добавить out - не работаетю Вобщем как надо?
Вопрос2. Как ограничить правильно пропускную способность? Куда добавить правила, если они кночно правильно написаны?
  /sbin/ipfw pipe 1 config bw 1000Kbit/s
  /sbin/ipfw queue 1 config pipe 1 weight 50 mask dst-ip 0xFFFFFFFF
  /sbin/ipfw queue 2 config pipe 2 weight 75 mask dst-ip 0xFFFFFFFF
  /sbin/ipfw add queue 1 ip from any to 192.168.10.1/24
  /sbin/ipfw add queue 2 ip from any to 192.168.10.10
Вопрос3. Как подсчитать трафик по каждой машине, но трафик нужен только по интернет соединениям?

ЗЫ. FreeBSD 4.7 и спасибо Всем

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "ipfw для тупого программиста"
Сообщение от Крис emailИскать по авторуВ закладки on 09-Фев-04, 10:34  (MSK)
${ipfw} add 510 divert natd ip from ${ournet} to any out via ${ifout}
${ipfw} add 520 divert natd ip from any to any via ${ifout}

и вроде усё :-) чтобы твоя сеть ходила... или что надо?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 09-Фев-04, 10:39  (MSK)
я 510 потому и закоментировал что не работало, а вместо него написал 520 которое any to any но это вроде как то не очень правильно, или я ошибаюсь?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "ipfw для тупого программиста"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 09-Фев-04, 11:51  (MSK)
520 нормальное правило он включает два правила и туда и обратно, а 510 это только правило из внутренней сети, к нему нужно еще обратное правило
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 09-Фев-04, 12:10  (MSK)
Еще вопросик если можно:
Почему перестает все работать если я добавляю правило:
ipfw add 65534 deny all from any to any
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 09-Фев-04, 12:48  (MSK)
>Еще вопросик если можно:
>Почему перестает все работать если я добавляю правило:
> ipfw add 65534 deny all from any to any
Я думаю, из-за этого:
${ipfw} add 1000 allow tcp from ${ournet} to any via ${ifuser}
${ipfw} add 1000 allow tcp from any to ${ournet} via ${ifuser}

Эти правила действуют только в одну сторону.

Попробуй что-то вроде такого:
${ipfw} add 1000 allow tcp from ${ournet} to any 80, 21, 25, 53 keep-state
${ipfw} add 1001 deny ip from any to any

Или вообще разреши весь обмен через локальный интерфейс:
${ipfw} add 1000 allow ip from any to any


А для подсчета траффика по пользователям пропиши правила:
${ipfw} add count from 192.168.10.10 to any 80,21
И т.д. для каждого пользователя.

Пробуй! Если не получится - пиши, попробуем разобраться

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 10-Фев-04, 10:09  (MSK)
>${ipfw} add 1000 allow tcp from ${ournet} to any via ${ifuser}
>${ipfw} add 1000 allow tcp from any to ${ournet} via ${ifuser}
>
>Эти правила действуют только в одну сторону.

А в другую так?
${ipfw} add 1000 allow tcp from ${ournet} to any via ${ifuser}
${ipfw} add 1000 allow tcp from any to ${ournet} via ${ifout}

>Или вообще разреши весь обмен через локальный интерфейс:
>${ipfw} add 1000 allow ip from any to any

А это не страшно с точки зрения безопасности?:)

>А для подсчета траффика по пользователям пропиши правила:
>${ipfw} add count from 192.168.10.10 to any 80,21
>И т.д. для каждого пользователя.

count должен быть перед правилами по каждому пользователю, так правильно?
${ipfw} add count from 192.168.10.10 to any out via {$ifout}
${ipfw} add allow from 192.168.10.10 to any

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 10-Фев-04, 11:01  (MSK)
>А в другую так?
>${ipfw} add 1000 allow tcp from ${ournet} to any via ${ifuser}
>${ipfw} add 1000 allow tcp from any to ${ournet} via ${ifout}
                                                        ^^^^^
Это ж внешний интерфейс. А ${ournet} - внутренняя сеть. Так не надо делать.

>>Или вообще разреши весь обмен через локальный интерфейс:
>>${ipfw} add 1000 allow ip from any to any
>А это не страшно с точки зрения безопасности?:)

Забыл добавить: via ${ifuser}.
Таким образом ты разрешаешь свободный обмен с локальной сетью через внутренний интерфейс. А от проникновений снаружи у тебя правила раньше были написаны.

Пойми принцип маскарадинга: у тебя ведь пакет из внутренней сети наружу не транзитом проходит, а преобразовывается на сервере. Т.е. наружу идет пакет с реальным ip, а не с внутренним. Поэтому тебе нужно разрешить свободный обмен через внутренний интерфейс, а через внешний - только то, что можно.

>count должен быть перед правилами по каждому пользователю, так правильно?
Достаточно только этого
>${ipfw} add count from 192.168.10.10 to any out via {$ifout}
А потом просто разрешаешь доступ для всей сети.
>${ipfw} add allow from 192.168.10.10 to any


  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 10-Фев-04, 15:13  (MSK)
>Достаточно только этого
>>${ipfw} add count from 192.168.10.10 to any out via {$ifout}
>А потом просто разрешаешь доступ для всей сети.
>>${ipfw} add allow from 192.168.10.10 to any

Мне бы доступ только нескольким компам разрешить а остальной сети запретить. И к MAC-адресам как привязать IP?
Спасибо за ответы :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 10-Фев-04, 15:32  (MSK)
>
>Мне бы доступ только нескольким компам разрешить а остальной сети запретить. И
Тогда просто:
${ipfw} add allow tcp from 192.168.10.10 to any  via {$ifout}
Счетчики автоматически создаются для каждого правила.

>к MAC-адресам как привязать IP?
В основном это делается на свичах. Но можешь посмотреть в сторону arplookup. Этот демон тебе скажет, если вдруг кто-то сменил МАС-адрес. Другого варианта к сожалению, не знаю


  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 10-Фев-04, 15:41  (MSK)
>${ipfw} add allow tcp from 192.168.10.10 to any  via {$ifout}
А form any to 192.168.10.10 не надо?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 10-Фев-04, 15:52  (MSK)
всё, труба, савсем запутался :)
Уважаемый Дмитрий, если тебе не очень сложно, не мог бы ты потратить 5 минут и привести окончательный итог, всмысле полным текстом?:) А то меня видимо скоро начнут бить ногами с моими экспериментами - связь переодически теряется после моих упражнений :)
Спсибо еще раз:)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 10:08  (MSK)
>Попробуй что-то вроде такого:
>${ipfw} add 1000 allow tcp from ${ournet} to any 80, 21, 25,
>53 keep-state
>${ipfw} add 1001 deny ip from any to any

Не работает

>Или вообще разреши весь обмен через локальный интерфейс:
>${ipfw} add 1000 allow ip from any to any

Не работает

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "ipfw для тупого программиста"
Сообщение от ovax Искать по авторуВ закладки on 10-Фев-04, 02:33  (MSK)
>ournet='192.168.10.1/24'

это бред :)


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "ipfw для тупого программиста"
Сообщение от SergeyKa emailИскать по авторуВ закладки on 10-Фев-04, 12:25  (MSK)
Правила взял из статьи Кузмича? :)
У него для теории хорошо расписано, но использовать как рабочий вариант бессмысленно. Тем более, что динамические правила при размере сети в 30 компов никакой пользы не принесут.

Стучи в аську 837068 или пиши mailksa@mail.ru

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 10-Фев-04, 15:15  (MSK)
>Правила взял из статьи Кузмича? :)

Не знаю :) Правила остались от человека пытающегося админить это хозяйство.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

23. "ipfw для тупого программиста"
Сообщение от SergeyKa emailИскать по авторуВ закладки on 11-Фев-04, 12:13  (MSK)
>>Правила взял из статьи Кузмича? :)
>
>Не знаю :) Правила остались от человека пытающегося админить это хозяйство.

А что мешает переписать по новой?
Хочешь готовое решение?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 10:23  (MSK)
Вопщем сейчас правила имеют следующий вид:

${ipfw} add 100 check-state
${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17

${ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}

${ipfw} add 300 allow ip from any to any via lo
${ipfw} add 310 allow tcp from me to any keep-state via ${ifout}
${ipfw} add 320 allow icmp from any to any
${ipfw} add 330 allow ip from me to any

${ipfw} add 400 allow tcp from any to me ssh

${ipfw} add 520 divert natd ip from any to any via xl1

${ipfw} add 65535 allow ip from any to any

Если перед последним правилом я ставлю:
  ${ipfw} add 65534 deny ip from any to any
то то какое бы правило я не написал по отдельно взятому компу или по подсети с номером например 1000, ни одно из них не работает! Может это из-за динамических правил?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "ipfw для тупого программиста"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 11-Фев-04, 10:53  (MSK)
И не будет работать. Никогда не дойдет
  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 11:11  (MSK)
>И не будет работать. Никогда не дойдет
А как надо написать что б дошло?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 11-Фев-04, 11:10  (MSK)
У меня кусок, отвечающий за маскарадинг выглядит так:

oif="em1"  - Внешний интерфейс
onet="0.0.0.0"
omask="0.0.0.0"
oip="193.193.193.193"

# set these to your inside interface network and netmask and ip
iif="em0"           - внутренний интерфейс
inet="10.150.0.0"
imask="255.255.0.0"
iip="10.150.10.1"

${fwcmd} add 100 pass all from any to any via lo0
${fwcmd} add 200 deny all from any to 127.0.0.0/8
${fwcmd} add 300 deny ip from 127.0.0.0/8 to any

${fwcmd} add check-state

${fwcmd} add divert natd all from any to any via ${oif}

# Разрешаю прямой выход только с определенных адресов
        ${fwcmd} add permit tcp from 10.150.10.37 to any via ${iif}

${fwcmd} add deny log tcp from any to any via ${iif}
        
# Stop spoofing
${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}

# Stop RFC1918 nets on the outside interface
${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif}
${fwcmd} add deny all from 172.16.0.0/12 to any via ${oif}
${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 11:40  (MSK)
Сделал так:

${ipfw} add 100 pass all from any to any via lo0
${ipfw} add 200 deny all from any to 127.0.0.0/8
${ipfw} add 300 deny ip from 127.0.0.0/8 to any
${ipfw} add check-state

${ipfw} add devert natd all from any to any via ${ifout}  

${ipfw} add permit tcp from ${uprefix}.55 to any via ${ifuser}
${ipfw} add permit tcp from ${uprefix}.131 to any via ${ifuser}

${ipfw} add deny log tcp from any to any via ${ifuser}

${ipfw} add deny all from ${ournet} to any in via ${ifout}

${ipfw} add deny all from 192.168.0.0/16 to any via ${ifout}
${ipfw} add deny all from 10.0.0.0/8 to any via ${ifout}
${ipfw} add deny all from 172.16.0.0/12 to any via ${ifout}

пришлось бежать на другой этаж, не смог удаленно подключиться после перезагрузки :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 11-Фев-04, 11:57  (MSK)
>Сделал так:

А свою машину в этот список включил? Если нет - то ты к серверу не достучишься.
>${ipfw} add permit tcp from ${uprefix}.55 to any via ${ifuser}
>${ipfw} add permit tcp from ${uprefix}.131 to any via ${ifuser}
>${ipfw} add deny log tcp from any to any via ${ifuser}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 12:04  (MSK)
>А свою машину в этот список включил? Если нет - то ты
она первая в списке, 55
  Рекомендовать в FAQ | Cообщить модератору | Наверх

24. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 11-Фев-04, 12:37  (MSK)
>>А свою машину в этот список включил? Если нет - то ты
> она первая в списке, 55
Так...
Я там правила менял чтобы тебе подошли. Видно, где-то ошибся.. Давай втупую подставим мои правила.
    #Rejecting direct access to internet for local users
    ${fwcmd} add permit tcp from 10.150.10.37 to any 80 via ${iif}
    ${fwcmd} add permit tcp from 10.150.10.37 to any 21 via ${iif}

    ${fwcmd} add deny tcp from 10.150.0.0/16 to any 80 via ${iif}
    ${fwcmd} add deny tcp from 10.150.0.0/16 to any 21 via ${iif}

    ${fwcmd} add permit all from any to any via ${iif}
В итоге ты должен выходить на веб и фтп наружу. И все, а по локальному интерфейсу все будет бегать без ограничений.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

25. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 12:58  (MSK)
>Я там правила менял чтобы тебе подошли. Видно, где-то ошибся.. Давай втупую
>подставим мои правила.

Извиняюсь за свою тупость, но все вместе выглядеть должно так?:

${ipfw} add 100 pass all from any to any via lo0
${ipfw} add 200 deny all from any to 127.0.0.0/8
${ipfw} add 300 deny ip from 127.0.0.0/8 to any
${ipfw} add check-state

${ipfw} add devert natd all from any to any via ${ifout}  

${fwcmd} add permit tcp from 192.168.10.55 to any 80 via ${ifout}
${fwcmd} add permit tcp from 192.168.10.55 to any 21 via ${ifout}

${fwcmd} add deny tcp from 192.168.10.0/16 to any 80 via ${ifout}
${fwcmd} add deny tcp from 192.168.10.0/16 to any 21 via ${ifout}

${fwcmd} add permit all from any to any via ${iif}


#${ipfw} add permit tcp from ${uprefix}.55 to any via ${ifuser}
#${ipfw} add permit tcp from ${uprefix}.131 to any via ${ifuser}

#${ipfw} add deny log tcp from any to any via ${ifuser}

#${ipfw} add deny all from ${ournet} to any in via ${ifout}

#${ipfw} add deny all from 192.168.0.0/16 to any via ${ifout}
#${ipfw} add deny all from 10.0.0.0/8 to any via ${ifout}
#${ipfw} add deny all from 172.16.0.0/12 to any via ${ifout}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

26. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 13:02  (MSK)
${fwcmd} add permit tcp from 192.168.10.55 to any 80 via ${ifout}<-ifuser
${fwcmd} add permit tcp from 192.168.10.55 to any 21 via ${ifout}<-ifuser

${fwcmd} add deny tcp from 192.168.10.0/16 to any 80 via ${ifout}<-ifuser
${fwcmd} add deny tcp from 192.168.10.0/16 to any 21 via ${ifout}<-ifuser

  Дико извиняюсь :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

27. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 11-Фев-04, 13:24  (MSK)
(1)
>${fwcmd} add permit tcp from 192.168.10.55 to any 80 via ${ifuser}
>${fwcmd} add permit tcp from 192.168.10.55 to any 21 via ${ifuser}
>${fwcmd} add deny tcp from 192.168.10.0/16 to any 80 via ${ifuser}
>${fwcmd} add deny tcp from 192.168.10.0/16 to any 21 via ${ifuser}

>${fwcmd} add permit all from any to any via ${iif}
                                               ^^^^^ {ifuser}
(2)
>#${ipfw} add permit tcp from ${uprefix}.55 to any via ${ifuser}
>#${ipfw} add permit tcp from ${uprefix}.131 to any via ${ifuser}
У тебя (1) разрешило выход наружу только на веб и фтп, а (2) - на все.  

Если тебе нужно разрешить все не разбираясь (типа аськи и т.п.), то можно сделать так:

${ipfw} add permit tcp from ${uprefix}.55 to any via ${ifuser}
${ipfw} add permit tcp from ${внутренний IP-адрес сервера} to any via ${ifuser}
${ipfw} add deny tcp from any to any via ${ifuser}


>#${ipfw} add deny log tcp from any to any via ${ifuser}

Вторым этапом нужно разрешить обмен через внешний интерфейс. Поставь
${fwcmd} add permit all from any to any via ${ifout}

Если все заработает, потом закроешь    ненужные порты. Или попробуй такое правило:
${fwcmd} add permit all from any to any out via ${ifout} keep-state


  Рекомендовать в FAQ | Cообщить модератору | Наверх

28. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 15:20  (MSK)
Получилось так:
${ipfw} -f flush
${ipfw} add 100 pass all from any to any via lo0
${ipfw} add 200 deny all from any to 127.0.0.0/8
${ipfw} add 300 deny ip from 127.0.0.0/8 to any
${ipfw} add 400 check-state
${ipfw} add 500 devert natd all from any to any via ${ifout}
${ipfw} add 600 permit tcp from ${ournet} to any via ${ifuser}
${ipfw} add 700 permit tcp from 192.168.10.1 to any via ${ifuser}
${ipfw} add 800 deny tcp from any to any via ${ifuser}
${ipfw} add 900 permit all from any to any via ${ifout}
как это ни грустно, не работает :(
  Рекомендовать в FAQ | Cообщить модератору | Наверх

29. "ipfw для тупого программиста"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 11-Фев-04, 15:49  (MSK)
А с чего бы это работало?
${ipfw} add 500 devert natd all from any to any via ${ifout}
                ~~~~~~
${ipfw} add 600 permit tcp from ${ournet} to any via ${ifuser}
${ipfw} add 700 permit tcp from 192.168.10.1 to any via ${ifuser}

Допустим все делается только для одного хоста 192.168.10.1
и что вы хотите увидеть.

Нет не одного правила разрешающего для внешнего интерфейса кроме нат.
При прхождении через внешний интерфейс пакет не попадет не под одно правило а значит поподет под последние запретить все и всем.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

30. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 11-Фев-04, 16:05  (MSK)
Добрый человек :) дык как же эти мои правида корректно написать то? 3 день маюсь уже
  Рекомендовать в FAQ | Cообщить модератору | Наверх

32. "ipfw для тупого программиста"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 11-Фев-04, 16:22  (MSK)
#!/bin/sh
ipfw='/sbin/ipfw -q'

ournet=192.168.10.0/24

#uprefix='192.168.10'
ifout='xl1'
ifuser='xl0'

${ipfw} flush
${ipfw} add pass all from any to any via lo0
${ipfw} add deny all from any to 127.0.0.0/8
${ipfw} add deny ip from 127.0.0.0/8 to any
${ipfw} add allow all from any to any via xl0
${ipfw} add divert natd ip from any to any via xl1
${ipfw} add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add allow icmp from any to any
${ipfw} add allow tcp from any to any out via xl1 setup
${ipfw} add allow tcp from any to ${ipout} established
${ipfw} add allow tcp from any to ${ipout} 22  setup
${ipfw} add check-state
${ipfw} add allow udp from any to any 53 keep-state
можно еще что нибудь по udp по вкусу
${ipfw} add 65000 deny all from any to any

Поробуй это, если заработает можешь добавить еще что-нубудь

  Рекомендовать в FAQ | Cообщить модератору | Наверх

33. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 12-Фев-04, 10:38  (MSK)
Не работает :(
  Рекомендовать в FAQ | Cообщить модератору | Наверх

34. "ipfw для тупого программиста"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 12-Фев-04, 10:45  (MSK)
70180607

покажи ipfw show
ты определили переменную ipout ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

35. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 12-Фев-04, 11:35  (MSK)
>покажи ipfw show
>ты определили переменную ipout ?

#!/bin/sh

ipfw='/sbin/ipfw -q'
ournet='192.168.10.0/24'
uprefix='192.168.10'
ifout='xl1'
ifuser='xl0'

${ipfw} -f flush
${ipfw} add pass all from any to any via lo0
${ipfw} add deny all from any to 127.0.0.0/8
${ipfw} add deny ip from 127.0.0.0/8 to any
${ipfw} add allow all from any to any via xl0
${ipfw} add divert natd ip from any to any via xl1
${ipfw} add deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add allow icmp from any to any
${ipfw} add allow tcp from any to any out via xl1 setup
${ipfw} add allow tcp from any to ${ifout} established
${ipfw} add allow tcp from any to ${ifout} 22  setup
${ipfw} add check-state
${ipfw} add allow udp from any to any 53 keep-state
${ipfw} add 65000 deny all from any to any

  Рекомендовать в FAQ | Cообщить модератору | Наверх

36. "ipfw для тупого программиста"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 12-Фев-04, 11:36  (MSK)
Что ты мне показываешь
Я просил ipfw show
  Рекомендовать в FAQ | Cообщить модератору | Наверх

37. "ipfw для тупого программиста"
Сообщение от Алексей Искать по авторуВ закладки on 12-Фев-04, 11:40  (MSK)
>Что ты мне показываешь
>Я просил ipfw show

Сори :)
Но я сейчас сижу под другими, работающими правилами, и если я сейчас перегружусь, то меня видимо убьют :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

31. "ipfw для тупого программиста"
Сообщение от Dmitry emailИскать по авторуВ закладки on 11-Фев-04, 16:17  (MSK)
Попытка номер два:

${fwcmd} add divert natd all from any to any via ${ifout}
${fwcmd} add allow all from 192.168.10.1 to any
${fwcmd} add allow all from any to 192.168.10.1
${fwcmd} add deny all from ${ournet} to any
${fwcmd} add allow tcp from any to any


  Рекомендовать в FAQ | Cообщить модератору | Наверх

38. "че-то я не понял... или я еще тупее... :)"
Сообщение от Папычreg Искать по авторуВ закладки on 16-Фев-04, 16:24  (MSK)
>Вобщем есть машина с двумя картами xl0(смотрит в инет) и xl1(смотрит в
>локалку). На машине нет ни web-сервера, ни proxy-сервера, ни почты, ни
>dns-сервера, вообщем ничего нет :) Только firewall(ipfw) и natd. В локальной
>сети порядка 30 машин которым надо ходить в инет. Вроде перечитав
>кучу инфы кое-как настроил что мог, но вот с правилами ipfw
>потерялся совсем.
>#!/bin/sh
>ipfw='/sbin/ipfw -q'
>ournet='192.168.10.1/24'
>uprefix='192.168.10'
>ifout='xl1'
>ifuser='xl0'

вы, господа, определитесь какие интерфейсы куда смотрят...
а то реально, похоже, одно, а в правилах - другое...

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру