рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
NAT (рдЕрдВрдЧреНрд░реЗрдЬреА рд╕реЗред рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреНрд░реЗрд╕ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди - "рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреНрд░реЗрд╕ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди") рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдХ рддрдВрддреНрд░ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЯреНрд░рд╛рдВрдЬрд┐рдЯ рдкреИрдХреЗрдЯ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрд┐рд╕рдХрд╛ рдирд╛рдо IP Masquerading, Network Masquerading рдФрд░ Native Address Translation рд╣реИред
рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдк:
- рджрд╛рдирд╡ рдирд╛рде
- IPFilter (ipnat)
- рдкреАрдПрдл рдирдЯ
- ng_nat
- ipfw рдиреЗрдЯ (рдХрд░реНрдиреЗрд▓ рдиреЗрдЯ)
рдиреИрдЯ рдХреЗ рд╕рд╛рде рдиреЗрдЯ
рд╣реИрдВрдбрдмреБрдХ рд╕реЗ:
FreeBSD рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреНрд░реЗрд╕ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рдбреЗрдореЙрди, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдиреИрдЯрдб (8) рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдбреЗрдорди рд╣реИ рдЬреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЖрдИрдкреА рдкреИрдХреЗрдЯреНрд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░реЗрд╖рдХ рдкрддреЗ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрддреЗ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЙрди рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрдХреЗрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдПрдирдПрдЯреАрдбреА рдкреНрд░реЗрд╖рдХ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдФрд░ рдкреЛрд░реНрдЯ рдХреЛ рдмрджрд▓рдХрд░ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЬрдм рдбреЗрдЯрд╛ рд╡рд╛рдкрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рдЬрд╛рдП, рддреЛ рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕реНрд░реЛрдд рдХрд╛ рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЙрд╕ рдорд╢реАрди рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╢реБрд░реВ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рдерд╛ред
рдиреИрдЯ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ipfw рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред
рдХреЛрд░ рдореЗрдВ:
# Ipfw рд╕рдорд░реНрдерди
рд╡рд┐рдХрд▓реНрдк IPFIREWALL
рд╡рд┐рдХрд▓реНрдк IPFIREWALL_VERBOSE
рд╡рд┐рдХрд▓реНрдк "IPFIREWALL_VERBOSE_LIMIT = 100"
# рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯ
рд╡рд┐рдХрд▓реНрдк IPDIVERT
/Etc/rc.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
Gateway_enable = "рд╣рд╛рдБ"
рдпрд╛ /etc/sysctl.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
net.inet.ip.forwarding = 1ред
em0 - рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕
192.168.0.0/24 - рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ
200.200.200.200 - рдмрд╛рд╣рд░реА рдкрддрд╛
/Etc/rc.conf рдореЗрдВ рднреА рдЬреЛрдбрд╝реЗрдВ:
natd_enable = "YES"
natd_interface = "em0"
natd_flags = ""
рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рд▓рд┐рдП рдбрд╛рдпрд╡рд░реНрдЯ рдХреЗ рдирд┐рдпрдо рдЬреЛрдбрд╝реЗрдВ:
/ sbin / ipfw 192.168.0.0/24 рд╕реЗ рдбрд╛рдпрд╡рд░реНрдЯ рдиреИрдЯрдб рдЖрдИрдкреА рдХреЛ em0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░ рдЬреЛрдбрд╝реЗрдВ
/ sbin / ipfw рдХрд┐рд╕реА рднреА 200 рд╕реЗ 200.200.200.200 рдореЗрдВ em0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдпрд╡рд░реНрдЯ natd ip рдЬреЛрдбрд╝реЗрдВ
рдпрд╣ рд╣реИрдВрдбрдмреБрдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╣реИред
IPFilter (ipnat) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ NAT
рдХреЛрд░ рдореЗрдВ:
рд╡рд┐рдХрд▓реНрдк IPFILTER
рд╡рд┐рдХрд▓реНрдк IPFILTER_LOG
рдпрд╛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕реНрдкрд░реНрд╢ рди рдХрд░реЗрдВред
/Etc/rc.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
Gateway_enable = "рд╣рд╛рдБ"
рдпрд╛ /etc/sysctl.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
net.inet.ip.forwarding = 1ред
/Etc/rc.conf рдореЗрдВ рднреА рдЬреЛрдбрд╝реЗрдВ:
ipnat_enable = "YES" # ipnat рдЪрд╛рд▓реВ рдХрд░реЗрдВ
ipnat_program = "/ sbin / ipnat" # ipnat рдкрде
ipnat_rules = "/ etc / ipnat.rules" # рдирд┐рдпрдо
ipnat_flags = "" # рдХрд┐рд╕ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ
Syslog.conf рдРрдб рдореЗрдВ рд▓реЙрдЧ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП:
рд╕реНрдерд╛рдиреАрдп режред * / рд╕рд╡рд░реНрдг / рд╡рд┐рдкреНрд▓рд╡ / рд╡рд┐рдкреНрд▓рд╡
рдФрд░ IPFilter рдЪрд▓рд╛рдПрдВ - IP рдХреА рдирд┐рдЧрд░рд╛рдиреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рд╛рде -рд╡реНрдпрд╛рд╕ рдХреБрдВрдЬреА
-D - a daemon рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдирд╛
-рд╡ - рдбреНрд░рд┐рд▓ рдбрд╛рдЙрди
-a - рд╕рднреА IPFilter рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВ
-s - syslog рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рдЙрджрд╛рд╣рд░рдг:
рд╣реИрдВ:
em0 - рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕
192.168.0.0/24 - рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ
200.200.200.200 - рдмрд╛рд╣рд░реА рдкрддрд╛
рдлрд┐рд░ рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
рдирдХреНрд╢рд╛ em0 192.168.0.0/24 рд╕реЗ рдХрд┐рд╕реА рднреА -> 200.200.200.200/32
рдпрд╛ рдЧрдВрддрд╡реНрдп рдкрддреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛:
рдорд╛рдирдЪрд┐рддреНрд░ em0 192.168.0.0/24 -> 200.200.200.200/32
рдпрджрд┐ рдкрддрд╛ рдЧрддрд┐рд╢реАрд▓ рд╣реИ, рддреЛ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдорд╛рдирдЪрд┐рддреНрд░ em0 192.168.0.0/24 -> 0.0.0.0/32
Ipnat рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдХрдорд╛рдВрдб:
рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
/etc/rc.d/ipnat рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ
рдиреЗрдЯ рд░реЛрдмреЛрдЯ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрдБрдХрдбрд╝реЗ:
ipnat тАУs
рд╕рдХреНрд░рд┐рдп рдирд┐рдпрдореЛрдВ рдХреА рд╕реВрдЪреА рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рд╕рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА:
ipnat -l
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБ:
ipnat -CF -f /etc/ipnat.rules
-рд╕реА - рдирд┐рдпрдо рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИред
-F - рдЕрдиреБрд╡рд╛рдж рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ ipnat рдФрд░ IPFilter рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ:
ipnat (1), ipnat (5), ipnat (8), ipf (5), ipf (8), ipfstat (8), ipftest (1), ipmon (8)
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ ред
рдкреАрдПрдлрд╝ рдХреЗ рд╕рд╛рде рдиреЗрдЯ
рдХреЛрд░ рдореЗрдВ:
рдбрд┐рд╡рд╛рдЗрд╕ pf # PF OpenBSD рдкреИрдХреЗрдЯ-рдлрд╝рд┐рд▓реНрдЯрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рдбрд┐рд╡рд╛рдЗрд╕ pflog # Pf рд▓реЙрдЧ рд╕рдкреЛрд░реНрдЯ
/Etc/rc.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
Gateway_enable = "рд╣рд╛рдБ"
рдпрд╛ /etc/sysctl.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
net.inet.ip.forwarding = 1ред
/Etc/rc.conf рдореЗрдВ рднреА рдЬреЛрдбрд╝реЗрдВ:
pf_enable = "YES"
pf_rules = "/ etc / pf.conf"
pf_program = "/ sbin / pfctl"
pf_flags = ""
pflog_enable = "YES"
pflog_logfile = "/ var / log / pf.log"
pflog_program = "/ sbin / pflogd"
pflog_flags = ""
рд╕реНрд╡рдпрдВ рдирд┐рдпрдо рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
em0 - рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕
192.168.0.0/24 - рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ
200.200.200.200 - рдмрд╛рд╣рд░реА рдкрддрд╛
/Etc/pf.conf рдореЗрдВ:
192.168.0.0/24 рд╕реЗ em0 рдкрд░ nat рдХрд┐рд╕реА рднреА -> (em0)
NAT_nat рдХреЗ рд╕рд╛рде NAT
рдХреЛрд░ рдореЗрдВ:
рд╡рд┐рдХрд▓реНрдк NETGRAPH
рд╡рд┐рдХрд▓реНрдк NETGRAPH_IPFW
рд╡рд┐рдХрд▓реНрдк LIBALIAS
рд╡рд┐рдХрд▓реНрдк NETGRAPH_NAT
... рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЕрдиреНрдп рдиреЗрдЯрдЧреНрд░рд╛рдл рд╡рд┐рдХрд▓реНрдк
рдпрд╛ рдмрд╕ рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░реЗрдВ:
/ sbin / kldload /boot/kernel/ng_ipfw.ko
/ sbin / kldload /boot/kernel/ng_nat.ko
em0 - рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕
192.168.0.0/24 - рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ
200.200.200.200 - рдмрд╛рд╣рд░реА рдкрддрд╛
NAT рдиреЛрдб рдмрдирд╛рдирд╛:
ngctl mkpeer ipfw: nat 60 out
ngctl рдирд╛рдо ipfw: 60 рдиреЗрдЯ
ngctl рдХрдиреЗрдХреНрдЯ ipfw: nat: 61 рдЗрди
ngctl msg nat: setaliasaddr 200.200.200.200
Ipfw рдореЗрдВ, рдмрдирд╛рдП рдЧрдП рдиреЛрдб рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реЗрдВ:
/ sbin / ipfw рдХрд┐рд╕реА рднреА ремрез рд╕реЗ реирежреж.реирежреж.реирежреж.реирежреж рддрдХ рд╕рднреА рдиреЗрдЯрдЧреНрд░рд╛рдл рдХреЛ em0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ
/ sbin / ipfw рд╕рднреА рдиреЗрдЯрдЧреНрд░рд╛рдл 60 рдХреЛ 192.168.0.0/24 рд╕реЗ em0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА рдмрд╛рд╣рд░ рдЬреЛрдбрд╝реЗрдВ
рдЖрдЧреЗ
sysctl net.inet.ip.fw.one_pass = 0
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЗрд╕реЗ рдСрдЯреЛрд▓рдб рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде /usr/local/etc/rc.d рдореЗрдВ рдбрд╛рд▓реЗрдВред
рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ ред
NAT ipfw рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ
FreeBSD рд╕рдВрд╕реНрдХрд░рдг 7.0 рдХреЗ рдмрд╛рдж рд╕реЗ ipfw nat рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ
рдХреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
рд╡рд┐рдХрд▓реНрдк IPFIREWALL
рд╡рд┐рдХрд▓реНрдк IPFIREWALL_DEFAULT_TO_ACCEPT
рд╡рд┐рдХрд▓реНрдк IPFIREWALL_FORWARD
рд╡рд┐рдХрд▓реНрдк IPFIREWALL_VERBOSE
рд╡рд┐рдХрд▓реНрдк IPFIREWALL_VERBOSE_LIMIT = 50
рд╡рд┐рдХрд▓реНрдк IPFIREWALL_NAT
рд╡рд┐рдХрд▓реНрдк LIBALIAS
/Etc/rc.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
firewall_enable = "YES"
firewall_nat_enable = "YES"
firewall_type = "/ etc / рдлрд╝рд╛рдпрд░рд╡реЙрд▓"
Gateway_enable = "YES"
/Etc/sysctl.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
net.inet.ip.fw.one_pass = 1
em0 - рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕
192.168.0.0/24 - рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ
200.200.200.200 - рдмрд╛рд╣рд░реА рдкрддрд╛
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
/ sbin / ipfw nat 1 config рд▓реЙрдЧ рдЬреЛрдбрд╝реЗрдВ рдЕрдЧрд░ em0 рдлрд┐рд░ рд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ
/ sbin / ipfw nat 1 ip рдХреЛ 192.168.0.0/24 рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ 0 рдореЗрдВ рдирд╣реАрдВ (10 \) рдЬреЛрдбрд╝ рджреЗрдВ
/ sbin / ipfw em0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА 200.200.200.200 рд╕реЗ nat 1 ip рдЬреЛрдбрд╝реЗрдВ
рдЬрд╣рд╛рдВ рддрд╛рд▓рд┐рдХрд╛ 10 - рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддреА рд╣реИ
рдХреБрдЫ рдЖрдБрдХрдбрд╝реЗ рдЗрд╕ рддрд░рд╣ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
ipfw nat 1 рд╢реЛ
рдереЛрдбрд╝реА рддреБрд▓рдирд╛
рдпрд╣ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ ipfw, natd, ipf, ipnat рд╕рд╛рде рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдЖрдкрдХреЛ рдлрд┐рд▓реНрдЯрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдкрд╣рд▓реЗ рдореИрдЪ рд╕реЗ рдЖрдИрдкреАрдПрдлрдбрдмреНрд▓реНрдпреВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдИрдкреАрдПрдл (рдирд┐рдпрдо рдореЗрдВ рддреНрд╡рд░рд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛) - рдЕрдВрддрд┐рдо рджреНрд╡рд╛рд░рд╛ред рдареАрдХ рд╣реИ, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдЙрд╕ рдХреНрд░рдо рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдкреИрдХреЗрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдХрд░реНрдиреЗрд▓ рдореЗрдВ ipf рд╕рдкреЛрд░реНрдЯ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ ipfw рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдкреИрдХреЗрдЯ ipf рдирд┐рдпрдореЛрдВ рд╕реЗ рдЧреБрдЬрд░реЗрдЧрд╛, рдФрд░ ipfw рдХреЛ рдХреЗрд╡рд▓ рд╡рд╣реА рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд╣ рдЗрдирдкреБрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ ipfw рдХреЛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ ipf рдХреЛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ ipfw рдкреНрд░рдзрд╛рдирддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рд╣рдо рдЕрдВрддрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
natd:
- рдЬрдм рдЯреНрд░реИрдлрд┐рдХ 40-50 рдореЗрдЧрд╛рдмрд┐рдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ
- рдПрдХ рджрд╛рдирд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдПрд╣рд╕рд╛рд╕
- рдХрдИ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХрдард┐рдирд╛рдЗрдпрд╛рдБ
+ рдЖрд╕рд╛рди рд╕реЗрдЯрдЕрдк
+ рдХрд╛рд░реНрдпрд╢реАрд▓рддрд╛, рд▓рдЪреАрд▓рд╛рдкрди
iPnat:
+ рдЖрд╕рд╛рди рд╕реЗрдЯрдЕрдк
+ "рдирд┐рдХрдЯрддрд╛" рдХреЛрд░ рдХреЗ рд▓рд┐рдП
- рдмрд╣реБрдд рднрд╛рд░реА рднрд╛рд░ рдХреЗ рд▓рд┐рдП, рдЯреНрдпреВрдирд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
ng_nat:
- рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрдЯрд┐рд▓ рд╕реЗрдЯрдЕрдк
- рдкрддрд╛ рдирд╣реАрдВ рдХреИрд╕реЗ redirect_port
+ рдХрд░реНрдиреЗрд▓ рдореЗрдВ libalias рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛
+ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХреБрдЫ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдЗрдкрдлрд╡ рдирдЯ:
+ рдЧрддрд┐
+ рд▓рдЪреАрд▓рд╛рдкрди
+ рдХрд░реНрдиреЗрд▓ рдореЗрдВ libalias рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдирд╛рдЗрдЯрдлрд╝реНрд▓ рдпреВрдкреАрдбреА :
- рдЖрдо рддреМрд░ рдкрд░ рдкреВрд▓ рдХреЗ рдиреАрдЪреЗ рд╕реЗ рдПрдХ рдЯрди рдЙрдкрдирд╛рдо рдХреЗ рдмрд┐рдирд╛ рдЦреАрдВрдЪрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛
- рд╕реНрд▓рд╛рдЗрди рдЖрдБрдХрдбрд╝реЗ
+ рдЖрдЦрд┐рд░рдХрд╛рд░ рдмрд╣рдирд╛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛
+ рджреВрд╕рд░реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдмреЙрдХреНрд╕ рдХреЗ рд╕рдХреНрд░рд┐рдп рдПрдлрд╝рдЯреАрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдПрдлрд╝рдЯреАрдкреА рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдкрд╛рд╕ рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдиреЗ рджреЗрддрд╛ рд╣реИ
+ рдмрдЪрдкрди рдХреА рдмреАрдорд╛рд░рд┐рдпреЛрдВ рд╕реЗ рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕рд╛рде рдкреАрдкреАрдЯреА рдХреЗ рд╕рд╛рде рдЪреБрдЯрдХреБрд▓реЗ
Pf рдирдЯ:
+ рдЧрддрд┐
+ рдирд┐рдпрдореЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- smp рдХреА рд╕рдорд╕реНрдпрд╛
рдирд┐рд╖реНрдХрд░реНрд╖
рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд┐рд╖рдп рдереЛрдбрд╝рд╛ рдкрд╡рд┐рддреНрд░ рд╣реИ, рдФрд░ рдкрд╛рдардХреЛрдВ рдХреА рд░рд╛рдп рдореЗрд░реЗ рд╕рд╛рде рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ рдмрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкрд░ рдПрдирдПрдЯреА рд╕рдВрдЧрдарди рдХреЗ рдХрдИ рддрд░реАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ NAT рднрд╛рдЧ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдпрд╣рд╛рдБ рд╣реИ ред