The OpenNET Project / Index page

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

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

"Помогите ipfw или NAT" 
Сообщение от MoRo emailИскать по авторуВ закладки(ok) on 20-Дек-05, 22:16  (MSK)
Ситуация такая: стоит сервер на FreeBSD 5.21.
На нйм стоит: Squid, SquidGuard, Sendmail, NAT включен через rc.conf .
Так вот нельзя получить почту с внешних серваков, пингануть, ICQ и тд.
Получается так, можно ходить по страницам если прописан прокси у клиенте.
ФТП и аську ходит тоже через прокси.
Так вот вопрос - "Как можно сделать чтобы можно было ходить и через прокси и без него?".
Ядро перекомпилировал, опции по ipfw добавил все. Ну там диверт, вербоз и тд. Прилагаю файл rc.conf и правила rc.firewall.

gateway_enable="YES"
defaultrouter="195.184.221.101"
hostname="mail.mareks.com.ua"
ifconfig_ed0="inet 192.168.0.200  netmask 255.255.255.0"
ifconfig_ed1="inet 195.184.221.102  netmask 255.255.255.252"
tcp_extensions="NO"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
inetd_enable="YES"
linux_enable="YES"
sshd_enable="YES"
network_interfaces="auto"
syslogd_enable="YES"
firewall_enable="YES"
firewall_script="/usr/local/billing/rc.firewall"
firewall_quiet="YES"
natd_enable="YES"
natd_intrefase="ed1"
natd_flags="-m"
sendmail_enable="YES"
sendmail_flags="-bd -q30m"

rc.firewall
#!/bin/sh
ipfw='/sbin/ipfw -q'
ournet='192.168.0.1/24'
uprefix='192.168.0'
ifout='ed1'
ifuser='ed0'
${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 udp from me to any domain keep-state
${ipfw} add 340 allow udp from any to me domain
${ipfw} add 350 allow ip from me to any
${ipfw} add 400 allow tcp from 192.168.0.0/24 to me http,https,ssh,pop3
${ipfw} add 410 allow tcp from not ${ournet} to me smtp
${ipfw} add 500 fwd 127.0.0.1,3128 tcp from ${ournet} to any http out via ${ifout}
${ipfw} add 510 divert natd all from any to any via ed1
${ipfw} add 600 pass tcp from any to any pop3, aol
${ipfw} add 610 pass tcp from any pop3, aol to any
${ipfw} add 650 pass tcp from any 21 to any
${ipfw} add 651 pass tcp from any to any 21
${ipfw} add 652 pass tcp from any 20 to any
${ipfw} add 653 pass tcp from any to any 20
${ipfw} add 1002 allow ip from ${uprefix}.100 to any
${ipfw} add 1002 allow ip from any to ${uprefix}.100
${ipfw} add 65535 deny ip from any to any

Заранее всем спасибо!

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "Помогите ipfw или NAT" 
Сообщение от Garet Искать по авторуВ закладки(ok) on 21-Дек-05, 02:15  (MSK)
>natd_enable="YES"
>natd_intrefase="ed1"
>natd_flags="-m"
Хочу сказать что в рс.конф ну жно только включить саму потдержку нат еще желательно проверить включенна ли потдержка нат в самом ядре
>rc.firewall
>#!/bin/sh
>ipfw='/sbin/ipfw -q'
>ournet='192.168.0.1/24'
>uprefix='192.168.0'
>ifout='ed1'
>ifuser='ed0'
>${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 udp from me to any domain keep-state
>${ipfw} add 340 allow udp from any to me domain
>${ipfw} add 350 allow ip from me to any
>${ipfw} add 400 allow tcp from 192.168.0.0/24 to me http,https,ssh,pop3
>${ipfw} add 410 allow tcp from not ${ournet} to me smtp
>${ipfw} add 500 fwd 127.0.0.1,3128 tcp from ${ournet} to any http out
>via ${ifout}
>${ipfw} add 510 divert natd all from any to any via ed1
>
>${ipfw} add 600 pass tcp from any to any pop3, aol
>${ipfw} add 610 pass tcp from any pop3, aol to any
>${ipfw} add 650 pass tcp from any 21 to any
>${ipfw} add 651 pass tcp from any to any 21
>${ipfw} add 652 pass tcp from any 20 to any
>${ipfw} add 653 pass tcp from any to any 20
>${ipfw} add 1002 allow ip from ${uprefix}.100 to any
>${ipfw} add 1002 allow ip from any to ${uprefix}.100
>${ipfw} add 65535 deny ip from any to any
Вся проблемма что надо вписывать правила в фаервол. строка 510 у тебя обсолютно верна но тебе надо добавить еще одно правило для твоего случая.
ipfw add allow ip from any to any
видешли в чом дело если ты добавиш это правило то вся твоя защита, как ты понимаеш и сам, просто накроеться медным тазом. Поэтому советую пересмотреть и открыть не всем как у тебя указанно в строке 510 а только определенной подсети например
${ipfw} add 510 divert natd all from ${ournet} to any via ed1
ipfw add allow ip from ${ournet} to any
ipfw add allow ip from any to ${ournet}
вот это будет работать и все у тебя будет хорошо.
и еще для более грамотной экономии трафика я бы посоветовал оставить сквид в конце концов там можно и позапрещать те сайты на которые ты не хочеш что бы люди ходили. а нат оставить для приват ip адресов и конечно для себя любимого. И вместо всяких keep-state я бы просто добавил строку:
ipfw add allow tcp from any to me established
если тебе это подходит конечно.Строка должна эта стоять после ната если хочеш что бы он работал.
С наилучшеми пожеланиями
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите ipfw или NAT" 
Сообщение от antoshkin Искать по авторуВ закладки(ok) on 22-Дек-05, 01:23  (MSK)
в
>строке 510 а только определенной подсети например
>${ipfw} add 510 divert natd all from ${ournet} to any via ed1
>

С такой ботвой работать не будет.
Надо еще добавлять обратное правило:
${ipfw} add 511 divert natd all from any to ${ournet} via ed1
Ну а по-хорошему, можно еще направления указать:

${ipfw} add 510 divert natd all from ${ournet} to any xmit ed1
${ipfw} add 511 divert natd all from any to ${ournet} recv ed1

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Помогите ipfw или NAT" 
Сообщение от Garet Искать по авторуВ закладки(ok) on 22-Дек-05, 03:39  (MSK)

>>строке 510 а только определенной подсети например
>>${ipfw} add 510 divert natd all from ${ournet} to any via ed1
>>
>
>С такой ботвой работать не будет.
>Надо еще добавлять обратное правило:
>${ipfw} add 511 divert natd all from any to ${ournet} via ed1
>
>Ну а по-хорошему, можно еще направления указать:
>
>${ipfw} add 510 divert natd all from ${ournet} to any xmit ed1
>
>${ipfw} add 511 divert natd all from any to ${ournet} recv ed1
>
посмотри внимательно после стоят обратные правила, а вообще нат беспантова реализован в ipfw, в ipfilter это сделано гораздо лучше.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите ipfw или NAT" 
Сообщение от DEC Искать по авторуВ закладки(ok) on 21-Дек-05, 10:59  (MSK)
natd_intrefase="ed1"
          
думаю надо natd_interface
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Помогите ipfw или NAT" 
Сообщение от MoRo emailИскать по авторуВ закладки(ok) on 22-Дек-05, 22:07  (MSK)
Спасибо всем!
С натом разобрался.

Но теперь такая проблема что весь не локальный трафик всё равно хочет ходить только через squid.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




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

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