Помогите ipfw или NAT, MoRo, 20-Дек-05, 22:16 [смотреть все]Ситуация такая: стоит сервер на 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 Заранее всем спасибо! |
- Помогите ipfw или NAT, Garet, 02:15 , 21-Дек-05 (1)
>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 если тебе это подходит конечно.Строка должна эта стоять после ната если хочеш что бы он работал. С наилучшеми пожеланиями
- Помогите ipfw или NAT, antoshkin, 01:23 , 22-Дек-05 (3)
в >строке 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 или NAT, Garet, 03:39 , 22-Дек-05 (4)
>в >>строке 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 это сделано гораздо лучше.
- Помогите ipfw или NAT, DEC, 10:59 , 21-Дек-05 (2)
natd_intrefase="ed1" думаю надо natd_interface - Помогите ipfw или NAT, MoRo, 22:07 , 22-Дек-05 (5)
Спасибо всем! С натом разобрался.Но теперь такая проблема что весь не локальный трафик всё равно хочет ходить только через squid.
|