Народ, спасите. Блин мой конфиг не даёт зверям выход в нет, поделитесь
как наризаете и боретесь с флудом. В частности ipfw и ipf. А ?!
Совсем уже затуркался с этим ... неработает мой и всё ! У кого-то
работает у кого-то нет, могет natd непрально настроил, могет всё
непрально. fxp0 - inet, xl0 - local Ща примеры скину:natd:
natd -f /etc/natd.conf -n fxp0natd.conf:
same_ports yes
use_sockets yes
unregistered_only yes
dynamic yes
interface fxp0далее ipfw в rc.conf
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="open"
firewall_quiet="NO"
firewall_logging="NO"
firewall_flags=""ipfw.conf:
#!/bin/shipfw='/sbin/ipfw -q'
ournet='10.0.0.1/20'
inet='80.235.127.82'ifout='fxp0'
ifuser='xl0'#${ipfw} flush
${ipfw} add 100 check-state
${ipfw} add pass tcp from any to any established${ipfw} add allow icmp from any to any out via ${ifout} keep-state
#${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17${ipfw} add divert natd all from any to any via ${ifout}
${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 any to me http,https,ssh
#${ipfw} add 400 allow tcp from any to me 4000
#${ipfw} add 410 allow tcp from not ${ournet} to me smtp
${ipfw} add 500 fwd 10.0.0.1,3128 tcp from any to any http out via ${ifuser}#${ipfw} add 510 skipto 65500 tcp from any to any http
#${ipfw} add divert natd all from any to any via ${ifout}${ipfw} pipe 1 config bw 384Kbit/s queue 3Kbytes
${ipfw} pipe 2 config bw 384Kbit/s queue 3Kbytes
${ipfw} add 510 pipe 1 ip from 10.0.5.11 to any via ${ifout} out
${ipfw} add 511 pipe 2 ip from any to 10.0.5.11 via ${ifout} in
${ipfw} add 512 divert natd ip from 10.0.5.11 to any out xmit ${ifout}${ipfw} add 513 deny ip from 10.0.5.12 to any
${ipfw} add 514 deny ip from 10.0.5.13 to any
${ipfw} pipe 3 config bw 5120Kbit/s queue 3Kbytes
${ipfw} pipe 4 config bw 5120Kbit/s queue 3Kbytes
${ipfw} add 515 pipe 3 ip from 80.235.127.195 to any via ${ifout} out
${ipfw} add 516 pipe 4 ip from any to 80.235.127.195 via ${ifout} in
${ipfw} add 517 divert natd ip from 80.235.127.195 to any out xmit ${ifout}${ipfw} pipe 5 config bw 384Kbit/s queue 3Kbytes
${ipfw} pipe 6 config bw 384Kbit/s queue 3Kbytes
${ipfw} add 518 pipe 5 ip from 10.0.5.15 to any via ${ifout} out
${ipfw} add 519 pipe 6 ip from any to 10.0.5.15 via ${ifout} in
${ipfw} add 520 divert natd ip from 10.0.5.15 to any out xmit ${ifout}
это только небольшой отрывок, файло большой там.далее ipf в rc.conf
ipfilter_enable="YES"
ipfilter_program="/sbin/ipf"
ipfilter_rules="/etc/ipf.conf"
ipfilter_flags=""
ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.conf"
ipnat_flags=""
ipmon_enable="NO"
ipmon_program="/sbin/ipmon"
ipmon_flags="-Dvn /var/log/firewall.log"ipf.conf:
#block in quick on xl0 proto tcp from any to any port = 10024 keep state
#block in quick on xl0 proto icmp from any to any keep state
#block in quick on xl0 proto igmp allblock in quick on xl0 all with ipopts
block in quick on xl0 all with frag
block in quick on xl0 all with shortblock return-rst in quick on xl0 proto tcp all flags FUP
block in log proto icmp all icmp-type 8
block in log proto icmp all icmp-type 13
block in log proto icmp all icmp-type 15
block in log proto icmp all icmp-type 17
ipnat.conf
rdr xl0 10.0.0.1/20 port 80 -> 10.0.0.1 port 3128map fxp0 0.0.0.0/20 -> 0.0.0.0/32
Может кто видит явные ошибки, тыкните носом. Блин, работает но
нестабильно, а уже всё что можн переделал, ещё эти выделенные IP
мешаются.
>Народ, спасите. Блин мой конфиг не даёт зверям выход в нет, поделитесь
>
>как наризаете и боретесь с флудом. В частности ipfw и ipf. А
>?!
>Совсем уже затуркался с этим ... неработает мой и всё ! У
>кого-то
>работает у кого-то нет, могет natd непрально настроил, могет всё
>непрально. fxp0 - inet, xl0 - local Ща примеры скину:
>
>natd:
> natd -f /etc/natd.conf -n fxp0
>
>natd.conf:
> same_ports yes
>
> use_sockets yes
>
> unregistered_only yes
>
> dynamic yes
>
> interface fxp0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ лишне, интерфейс указан при запуске natd>
>далее ipfw в rc.conf
> firewall_enable="YES"
> firewall_script="/etc/rc.firewall"
> firewall_type="open"
> firewall_quiet="NO"
_________________________________
> firewall_logging="NO" # может не стоят эти два правила
> firewall_flags="" # все же лучше что бы лог велся и если
# флаги в конф файле зачем о них тут
# писать
_________________________________
твой скрипт не работает так как в rc.conf указан системный.Два фаервола на одной машине, может это и круто, но лучше с одним попозиться и настроить.
>ipfw.conf:
> #!/bin/sh
>
> ipfw='/sbin/ipfw -q'
>
> ournet='10.0.0.1/20'
> inet='80.235.127.82'
>
> ifout='fxp0'
> ifuser='xl0'
>
> #${ipfw} flush
>
> ${ipfw} add
>100 check-state
> ${ipfw} add
>pass tcp from any to any established
>
> ${ipfw} add
>allow icmp from any to any out via ${ifout} keep-state
>
>
> #${ipfw} add
>200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
>
> ${ipfw} add
>divert natd all from any to any via ${ifout}
>
> ${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 any to me http,https,ssh
> #${ipfw} add
>400 allow tcp from any to me 4000
> #${ipfw} add
>410 allow tcp from not ${ournet} to me smtp
> ${ipfw} add
>500 fwd 10.0.0.1,3128 tcp from any to any http out via
>${ifuser}
>
> #${ipfw} add
>510 skipto 65500 tcp from any to any http
> #${ipfw} add
>divert natd all from any to any via ${ifout}
>
> ${ipfw} pipe
>1 config bw 384Kbit/s queue 3Kbytes
> ${ipfw} pipe
>2 config bw 384Kbit/s queue 3Kbytes
> ${ipfw} add
>510 pipe 1 ip from 10.0.5.11 to any via ${ifout} out
>
> ${ipfw} add
>511 pipe 2 ip from any to 10.0.5.11 via ${ifout} in
>
> ${ipfw} add
>512 divert natd ip from 10.0.5.11 to any out xmit ${ifout}
>
>
> ${ipfw} add
>513 deny ip from 10.0.5.12 to any
>
> ${ipfw} add
>514 deny ip from 10.0.5.13 to any
>
> ${ipfw} pipe
>3 config bw 5120Kbit/s queue 3Kbytes
> ${ipfw} pipe
>4 config bw 5120Kbit/s queue 3Kbytes
> ${ipfw} add
>515 pipe 3 ip from 80.235.127.195 to any via ${ifout} out
>
> ${ipfw} add
>516 pipe 4 ip from any to 80.235.127.195 via ${ifout} in
>
> ${ipfw} add
>517 divert natd ip from 80.235.127.195 to any out xmit ${ifout}
>
>
> ${ipfw} pipe
>5 config bw 384Kbit/s queue 3Kbytes
> ${ipfw} pipe
>6 config bw 384Kbit/s queue 3Kbytes
> ${ipfw} add
>518 pipe 5 ip from 10.0.5.15 to any via ${ifout} out
>
> ${ipfw} add
>519 pipe 6 ip from any to 10.0.5.15 via ${ifout} in
>
> ${ipfw} add
>520 divert natd ip from 10.0.5.15 to any out xmit ${ifout}
>
> это только
>небольшой отрывок, файло большой там.
>
>далее ipf в rc.conf
> ipfilter_enable="YES"
> ipfilter_program="/sbin/ipf"
> ipfilter_rules="/etc/ipf.conf"
> ipfilter_flags=""
> ipnat_enable="YES"
> ipnat_program="/sbin/ipnat"
> ipnat_rules="/etc/ipnat.conf"
> ipnat_flags=""
> ipmon_enable="NO"
> ipmon_program="/sbin/ipmon"
> ipmon_flags="-Dvn /var/log/firewall.log"
>
>ipf.conf:
> #block in quick
>on xl0 proto tcp from any to any port = 10024
>keep state
> #block in quick
>on xl0 proto icmp from any to any keep state
> #block in quick
>on xl0 proto igmp all
>
> block in quick
>on xl0 all with ipopts
> block in quick
>on xl0 all with frag
> block in quick
>on xl0 all with short
>
> block return-rst in
>quick on xl0 proto tcp all flags FUP
>
> block in log
>proto icmp all icmp-type 8
> block in log
>proto icmp all icmp-type 13
> block in log
>proto icmp all icmp-type 15
> block in log
>proto icmp all icmp-type 17
>
>
>ipnat.conf
> rdr xl0 10.0.0.1/20 port 80 -> 10.0.0.1 port 3128
>
> map fxp0 0.0.0.0/20 -> 0.0.0.0/32
>
>Может кто видит явные ошибки, тыкните носом. Блин, работает но
>нестабильно, а уже всё что можн переделал, ещё эти выделенные IP
>мешаются.
>твой скрипт не работает так как в rc.conf указан системный.
>
>Два фаервола на одной машине, может это и круто, но лучше с
>одним попозиться и настроить.
По задумке, один должен трафик резать, а другой всё остальное, но блин они как-то криво работают. У клиентов инет щас есть, но вот флуд идёт и дальше.
>>Народ, спасите. Блин мой конфиг не даёт зверям выход в нет, поделитесь
>>
>>как наризаете и боретесь с флудом.
От флюда борюсь так
sysctl.confnet.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0>>
>>далее ipfw в rc.conf
>> firewall_enable="YES"
>> firewall_script="/etc/rc.firewall"
>> firewall_type="open"
>> firewall_quiet="NO"
>_________________________________
>> firewall_logging="NO" # может не стоят эти два правила
>> firewall_flags="" # все же лучше что бы лог велся и еслиЛучше так напиши в rc.conf
firewall_enable="YES"
firewall_type="open"
firewall_logging="YES"И фаерволл пиши в rc.conf
>net.inet.icmp.drop_redirect=1
>net.inet.icmp.log_redirect=1
>net.inet.ip.redirect=0
>net.inet.ip.sourceroute=0
>net.inet.ip.accept_sourceroute=0
>net.inet.icmp.bmcastecho=0
>net.inet.icmp.maskrepl=0
а у меня вот так написано:
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.ip.fw.verbose=1
net.inet.ip.forwarding=1
net.inet.icmp.maskrepl=0
net.inet.icmp.bmcastecho=0
kern.ps_showallprocs=0
kern.ipc.max_datelen=512
kern.ipc.maxsockbuf=2097152
kern.ipc.somaconn=8192
kern.maxfiles=65536net.inet.icmp.drop_redirect=1
net.inet.icmp.icmplim=500
net.inet.icmp.log_redirect=1net.inet.ip.ttl=128
net.inet.raw.maxdgram=52344
net.inet.raw.recvspace=65536net.inet.tcp.log_in_vain=1
net.inet.tcp.sendspace=65536
net.inet.udp.log_in_vain=1
net.inet.upd.maxdgram=57344
net.inet.udp.recvspace=65536net.local.dgram.maxdgram=57344
net.local.dgram.recvspace=65536net.local.stream.recvspace=65536
net.local.stream.sendspace=65536net.inet.ip.forwarding=1
>Лучше так напиши в rc.conf
>firewall_enable="YES"
>firewall_type="open"
>firewall_logging="YES"
Ща сделаем.
>net.inet.tcp.blackhole=2
>net.inet.udp.blackhole=1
>net.inet.ip.fw.verbose=1
>net.inet.ip.forwarding=1
>net.inet.icmp.maskrepl=0
>net.inet.icmp.bmcastecho=0
>kern.ps_showallprocs=0
>kern.ipc.max_datelen=512
>kern.ipc.maxsockbuf=2097152
>kern.ipc.somaconn=8192
>kern.maxfiles=65536
>
>net.inet.icmp.drop_redirect=1
>net.inet.icmp.icmplim=500
>net.inet.icmp.log_redirect=1
>
>net.inet.ip.ttl=128
>
>net.inet.raw.maxdgram=52344
>net.inet.raw.recvspace=65536
>
>net.inet.tcp.log_in_vain=1
>
>net.inet.tcp.sendspace=65536
>
>net.inet.udp.log_in_vain=1
>net.inet.upd.maxdgram=57344
>net.inet.udp.recvspace=65536
>
>net.local.dgram.maxdgram=57344
>net.local.dgram.recvspace=65536
>
>net.local.stream.recvspace=65536
>net.local.stream.sendspace=65536
>
>net.inet.ip.forwarding=1
Часть переменных надо в конфиг ядра записать, когда генеришь.
Например это
net.inet.ip.fw.verbose=1
Часть нафиг совсем не надо
net.inet.ip.ttl=128
А треть можно совсем выбросить, ничего на тачке не изменится.
А еще совет
Если что то меняешь в настройках, надо понимать что меняешь и зачем.
А не менять 30 параметров, сразу.