IPfw рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рди рдХреЗ рд╕рдордп рддрдХ рдмреИрдВрдбрд╡рд┐рдбреНрде рд╕реАрдорд╛

рдпрд╣ рд▓реЗрдЦ рд╢реЗрдбреНрдпреВрд▓рд░ рдбреЗрдорди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рди рдХреЗ рд╕рдордп рддрдХ NAT рдХреЗ рддрд╣рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЧрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рддрд╛ рд╣реИред

FreeBSD 8.1 рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрддрд┐ рдмрджрд▓рдиреЗ рдХрд╛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЕрдиреНрдп рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬрд╣рд╛рдВ ipfw рдФрд░ cron рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд▓рдЧрднрдЧ рд╕рднреА рд╢рд╛рдЦрд╛рдУрдВ рдФрд░ FreeBSD рдХреА рд░рд┐рд▓реАрдЬрд╝ред

рдореИрдВ рдХрд░реНрдиреЗрд▓ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдФрд░ рдбреНрдпреВрдордиреЗрдЯ рд╢реЗрдкрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options DUMMYNET
options HZ=1000


рд╕рдордп рдХреЗ рд╕рд╛рде рдЧрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ 2 рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдореИрдВ рдЦреБрдж рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд╡реЗ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП 10-20 рд▓реЛрдЧ, рдПрдХ рд╕рдлреЗрдж рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрд┐рдирд╛ рдФрд░ 20 рдПрдордмреАрдкреАрдПрд╕ рдХреЗ рдХреБрд▓ рдЪреИрдирд▓ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░реЗрдВрдЧреЗред

рддреЛ рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рд╣реИ

рдпрд╣рд╛рдВ рдХреНрд░реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреЛ рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдордп рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП 2 рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:
firewall.conf-01-09 - рдлрд╝рд╛рдпрд░рд╡реЙрд▓ 01:00 рд╕реЗ 09:00 рддрдХ
firewall.conf-09-01 - рдлрд╝рд╛рдпрд░рд╡реЙрд▓ 09:00 рд╕реЗ 01:00 рддрдХ
01:00 рд╕реЗ 09:00 рддрдХ, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдЪреНрдЪ рдЧрддрд┐ рджреЗрдВрдЧреЗ, рдФрд░ рд╢реЗрд╖ рд╕рдордп, 09:00 рд╕реЗ 01:00 рддрдХ, рдЯреИрд░рд┐рдлрд╝ рдореЗрдВ рдШреЛрд╖рд┐рдд рдЧрддрд┐ред

рд╣рдо рдЗрди 2 рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП / рд╣реЛрдо / рдПрдбрдорд┐рди / рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬреЛ рд╕рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рдФрд░ рдмрдврд╝рд╛рдПрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ ipfw рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ / etc / netstart (рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рддреБрд░рдВрдд рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдФрд░ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВ, рдЬреИрд╕реЗ рдХреЛрдИ рдмрдлрд░ рд╕реНрдерд╛рди рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣, рдЬреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг / рдЖрджрд┐ / рдиреЗрдЯрд╕реНрдЯрд╛рд░реНрдЯ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред рдпрд╣ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

#!/bin/sh
cp /home/admin/firewall/firewall.conf-01-09 /etc/firewall.conf
sh /etc/firewall.conf

ifconfig rl0 down
ifconfig rl1 down

ifconfig rl0 up
ifconfig rl1 up
/etc/netstart


рд╣рдо рдЗрд╕ рд▓рд┐рдкрд┐ рдХреЛ firesh-01-09 рдирд╛рдо рд╕реЗ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, 09:00 рд╕реЗ 01:00 рддрдХ рджрд┐рди рдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдХреНрд░реЛрди (/ etc / crontab) рдЦреЛрд▓рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛, рдХрдм рдФрд░ рдХрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЪрд▓рд╛рдПрдБ:

SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

#minute hour mday month wday who command
# Firewalls
0 1 * * * root sh /home/admin/firewall/firesh-01-09.sh
0 9 * * * root sh /home/admin/firewall/firesh-09-01.sh


рдЕрдм 01:00 рдмрдЬреЗ рдФрд░ 09:00 рдмрдЬреЗ рдЖрдкрдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ /etc/firewall.conf рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдирдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдлрд┐рд░ рд╕реЗ рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛

рдпрд╣ рд╡рд┐рдзрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрдбрд╝ рдирд╣реАрдВ рд▓реЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рд╕рд┐рджреНрдз рдПрдХ рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╛рдЗрдк рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рдордп рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

# Day firewall, 09:00 - 01:00

# Admins
ipfw pipe 230 config bw 0Mbit/s
ipfw pipe 130 config bw 0Mbit/s

# Users
ipfw pipe 107 config bw 5Mbit/s
ipfw add pipe 1107 ip from 192.168.0.107 to any out
ipfw pipe 1107 config bw 5Mbit/s

# VPN Users
ipfw pipe 246 config bw 1Mbit/s

ipfw pipe 128 config bw 5Mbit/s
ipfw add pipe 1128 ip from 192.168.0.128 to any out
ipfw pipe 1128 config bw 5Mbit/s

ipfw pipe 102 config bw 0Mbit/s

# Test users
ipfw pipe 35 config bw 0Mbit/s
ipfw pipe 36 config bw 0Mbit/s
ipfw pipe 37 config bw 0Mbit/s
ipfw pipe 38 config bw 0Mbit/s

ifconfig rl0 down
ifconfig rl1 down

ifconfig rl0 up
ifconfig rl1 up


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрд░реЛрди рд╕реЗ рдЯрд╛рдЗрдо рдХреЙрдиреНрдлрд┐рдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд╣рд▓реЗ рддрд░реАрдХреЗ рдХреА рддрд░рд╣ рд╣реА рд░рд╣рддреА рд╣реИ, рдХреЗрд╡рд▓ / etc / netstart рдХрдорд╛рдВрдб рдХреЛ рдпрд╣рд╛рдВ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ рдлрд╝рд╛рдпрд░рд╡реЙрд▓.conf рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рд╣реИ, рдФрд░ рдЬрдм рдпрд╣ рдХрдорд╛рдВрдб рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред /etc/firewall.conf рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдиреЗ рдорд╛рдирдХ рдирд┐рдпрдореЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред

рдбрдореАрдиреЗрдЯ рдЬрд╛рдирдХрд╛рд░реА
рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓
ipfw
рд╡рд┐рд╕реНрддреГрдд рдбреНрдпреВрдордиреЗрдЯ рдореИрдиреБрдЕрд▓

Source: https://habr.com/ru/post/In129439/


All Articles