рд╣рд╛рд▓ рд╣реА рдореЗрдВ DMZ рдореЗрдВ рдХреБрдЫ рд╕реЗрд╡рд╛ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ рд╕реЗрд╡рд╛ W2K3 рдореЗрдВ рдШреВрдо рд░рд╣реА рд╣реИ, рдФрд░ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдУрдПрд╕ рдорд╢реАрди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд ("рд╡рд┐рдВрдбреЛрдЬ" рдлрд╛рдпрд░рд╡реЙрд▓ рд╕рд┐рд░реНрдл рдЬрдВрдЧрд▓ рд╕реЗ рдЧреБрдЬрд░рддреА рд╣реЛ) рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рджреЗрдЦреЗрдВред
Asus WL 520GU рдФрд░ DD-WRT рдХреЗ рд╕рд╛рде рд╕рдлрд▓ рдЕрдиреБрднрд╡ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП , рдореИрдВрдиреЗ рдкреАрдЯрд╛ рдЯреНрд░реИрдХ рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд░рд╛рдЙрдЯрд░ рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд░реВрдк рдореЗрдВ OpenWRT рдХреЛ рдЪреБрдирд╛ред
рд▓рд┐рдЧрд╛рдореЗрдВрдЯ рдСрдкрд░реЗрд╢рди рд╕реНрдХреАрдо рдХреЛ рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рддреЛ, рдЪрд▓реЛ рд╢рдмреНрджреЛрдВ рд╕реЗ рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрддрд░реЗрдВред
DMZ рд╢рдмреНрдж рдХреА рдХреБрдЫ рдЧрд▓рддрдлрд╣рдореА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдиреЛрдЯ рдХреА рдЧрдИ рдереАред
рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдПрдХ рдЙрджреНрдзрд░рдг рджреВрдВрдЧрд╛ред (рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрджреНрдзрд░рдг рдХреЗ рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд┐рд╕реНрдХреЛ рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рдкреБрд╕реНрддрдХ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ)
DMZ (demilitarized Zone, DMZ) рд╕реВрдЪрдирд╛ рдкрд░рд┐рдзрд┐ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдПрдХ рддрдХрдиреАрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрдЧрдореЗрдВрдЯ (рдЬрд┐рд╕реЗ DMZ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ (рдлрд╝рд╛рдпрд░рд╡реЙрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдПрдХреНрд╕реЗрд╕ рддрдХ рд╕реАрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВ ), рдХреНрд╖рддрд┐ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм DMZ рдореЗрдВ рд╕реНрдерд┐рдд рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рд╣реИрдХ рдХрд░рдирд╛ред
рд░рд╛рдЙрдЯрд░ рдХреЛ рдЪрдордХрд╛рдирд╛ред
рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП, рдлрд░реНрдорд╡реЗрдпрд░ рдмреИрдХрдлрд╝рд╛рдпрд░ .brcm47xx рдЖрд╡рд╢реНрдпрдХ рд╣реИ
1. рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ, рддрдерд╛рдХрдерд┐рдд 30/30/30ред
рдЬрдм рд░рд╛рдЙрдЯрд░ рдХреА рд╢рдХреНрддрд┐ рдЪрд╛рд▓реВ рд╣реЛрддреА рд╣реИ, рддреЛ рд░реАрд╕реЗрдЯ рдмрдЯрди рджрдмрд╛рдПрдВ, 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рджрдмрд╛рдП рд░рдЦреЗрдВ, рдмрдЯрди рдХреЛ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛, рдмрд┐рдЬрд▓реА рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рджреВрд╕рд░реЗ 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рджрдмрд╛рдП рд░рдЦреЗрдВ, рдмрдЯрди рдХреЛ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛, рд╢рдХреНрддрд┐ рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдФрд░ 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд░реАрд╕реЗрдЯ рдмрдЯрди рджрдмрд╛рдП рд░рдЦреЗрдВред
рд╕рдВрдХреЗрдд: рд░рд╛рдЙрдЯрд░ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЖрдИрдкреА 192.168.1.1 рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд░реАрд╕реЗрдЯ 30/30/30 рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ "рдкрд┐рдВрдЧ" рдХрд░рддреЗ рд╣реИрдВ, рддреЛ ttl 64 рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд░реАрд╕реЗрдЯ рдХреЗ рдмрд╛рдж ttl 100 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рд╛рдЙрдЯрд░ рдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рднреЗрдЬреЗрдВ
atftp --trace --option "timeout 1" --option "mode octet" --put --local-file openwrt-brcm47xx-squashfs.trx 192.168.1.1
рд╕рдВрджреЗрд╢ рдлрд╝реНрд▓рд┐рдХрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо 5 рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рд╡рд░ рд░рд╛рдЙрдЯрд░ рдХреЛ рдмрдВрдж / рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛ рдХрджрдо рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд░рд╛рдЙрдЯрд░ рдХреЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ
192.168.1.1
рдореИрдВрдиреЗ luci_dhcp_migrate рдФрд░ dnsmasq рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджрд┐рдпрд╛ (рдореЗрд░реЗ рдкрд╛рд╕ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреАрдПрдЪрд╕реАрдкреА рдФрд░ рдбреАрдПрдирдПрд╕ рд╣реИ)
рд╣рдо рдЗрд╕реЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЖрдЧреЗ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдВрд╕реЛрд▓ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдЧреАред
Asus WL 520G рдореЗрдВ 5 рдкреЛрд░реНрдЯ, рдПрдХ WAN рдкреЛрд░реНрдЯ рдФрд░ 4 LAN рдкреЛрд░реНрдЯ рд╣реИрдВред WAN рдкреНрд░рджрд╛рддрд╛, LAN1-3 рдХреЛ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рджреЗрдЦреЗрдЧрд╛, рдФрд░ рдореИрдВ LAN4 рдХреЛ рдПрдХ рдЕрд▓рдЧ VLAN рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ DMZ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реВрдВрдЧрд╛ред
рд░рд╛рдЙрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ
#ssh root@192.168.0.30
root@192.168.0.30's password:
BusyBox v1.15.3 (2010-11-12 00:01:06 PST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| WIRELESSFREEDOM
Backfire (10.03.1-rc4, r24045) --------------------
* 1/3 shot Kahlua In a shot glass, layer Kahlua
* 1/3 shot Bailey's on the bottom, then Bailey's,
* 1/3 shot Vodka then Vodka.
---------------------------------------------------
root@OpenWrt:~#
рд╣рдореЗрдВ рдХрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
1. / рдЖрджрд┐ / рд╡рд┐рдиреНрдпрд╛рд╕ / рдиреЗрдЯрд╡рд░реНрдХ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрдЯ рд╣реИрдВред
root@OpenWrt:~# cat /etc/config/network
#### VLAN configuration
config switch eth0
option enable 1
config switch_vlan eth0_0
option device "eth0"
option vlan 0
option ports "1 2 3 5*" #default vlan, LAN1-3,
# - 5*, ,
#
#http://wiki.openwrt.org/doc/uci/network/switch
config switch_vlan eth0_1
option device "eth0"
option vlan 1
option ports "0 5" # WAN
config switch_vlan eth0_2
option device "eth0"
option vlan 2
option ports "4 5" # vlan2, DMZ
#### Loopback configuration
config interface loopback
option ifname "lo"
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
#### LAN configuration
config interface lan
option type bridge
option ifname "eth0.0"
option proto static
option ipaddr 192.168.0.30
option netmask 255.255.255.0
#### DMZ configuration
config interface dmz
option ifname "eth0.2"
option proto static
option ipaddr 192.168.100.1
option netmask 255.255.255.0
#### WAN configuration
config interface wan
option ifname "eth0.1"
option proto static
option ipaddr 1.2.3.4
option netmask 255.255.255.0
option gateway 1.2.3.1
2. / etc / config / рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ
config include
option path /etc/firewall.user
3. Iptables рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдлрд╛рдЗрд▓ /etc/firewall.user рдЬреЛрдбрд╝реЗрдВрдЧреЗ
#!/bin/sh
ext_if="eth0.1"
ext_ip="1.2.3.4"
int_if="br-lan"
int_ip="192.168.0.30"
LAN="192.168.0.0/24"
dmz_if="eth0.2"
dmz_ip="192.168.100.1"
dmz_server="192.168.100.2"
lo_if="lo"
lo_ip="127.0.0.1"
IPTABLES="/usr/sbin/iptables"
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N bad_tcp_packets
$IPTABLES -N icmp_packets
#chain icmp_packets ( echo reply[request)
$IPTABLES -A icmp_packets -p icmp -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p icmp -s 0/0 --icmp-type 0 -j ACCEPT
#chain bad_tcp_packets ( iptables #)
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
#chain PREROUTING ( destination address IP)
$IPTABLES -t nat -A PREROUTING -p tcp -d $ext_ip -m multiport --dport 8001,31187,20113,20118 -j \
DNAT --to-destination $dmz_server
$IPTABLES -t nat -A PREROUTING -p tcp -d $ext_ip -m multiport --dport 80 -j DNAT \
--to-destination $dmz_server:8001
$IPTABLES -t nat -A PREROUTING -p udp -d $ext_ip -m multiport --dport 20113,20118 -j \
DNAT --to-destination $dmz_server
$IPTABLES -t nat -A PREROUTING -p icmp -d $ext_ip -j DNAT --to-destination $dmz_server
#FORWARD
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
$IPTABLES -A FORWARD -p tcp -i $ext_if -o $dmz_if -s 0/0 -d $dmz_server -m multiport --dport 80,8001,31187,20113,20118 -j \ ACCEPT
$IPTABLES -A FORWARD -p udp -i $ext_if -o $dmz_if -s 0/0 -d $dmz_server -m multiport --dport 20113,20118 -j ACCEPT
$IPTABLES -A FORWARD -p tcp -i $int_if -o $dmz_if -s $LAN -d $dmz_server -m multiport --dport 31187,3389 -j ACCEPT
$IPTABLES -A FORWARD -p icmp -i $int_if -o $dmz_if -s $LAN -d $dmz_server -j icmp_packets
$IPTABLES -A FORWARD -p icmp -i $ext_if -o $dmz_if -s 0/0 -d $dmz_server -j icmp_packets
$IPTABLES -A FORWARD -p ALL -i $dmz_if -o $int_if -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p ALL -i $dmz_if -o $ext_if -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p icmp -i $dmz_if -o $ext_if -j icmp_packets
#INPUT
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
$IPTABLES -A INPUT -p icmp -j icmp_packets
$IPTABLES -A INPUT -p tcp -i $int_if -s $LAN -m multiport --dport 22,80 -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $dmz_if -s $dmz_server -j ACCEPT
#OUTPUT
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
$IPTABLES -A OUTPUT -p icmp -o $ext_if -d 0/0 -j icmp_packets
$IPTABLES -A OUTPUT -p ALL -s $lo_ip -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $int_ip -d $LAN -j ACCEPT
$IPTABLES -A OUTPUT -p icmp -o $dmz_if -d $dmz_server -j icmp_packets
#POSTROUTING
$IPTABLES -t nat -A POSTROUTING -o $ext_if -j SNAT --to-source $ext_ip
рд╣рдо рд░рд╛рдЙрдЯрд░ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред
root@OpenWrt:~# reboot
рдореИрдВ рд╕рд┐рдо рд╕рдорд╛рдкреНрдд рдХрд░ рджреВрдВрдЧрд╛, рдХрд╛рд░реНрдп рдкреВрд░реЗ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдЯреНрд░реИрдлрд┐рдХ рдореЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪрд▓рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдмрд╣реБрдд рдмрдЬрдЯреАрдп рд╣реИ рдФрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд╕рд╛рде рд╢рд╛рдпрдж рд╣реА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЬрдм iperf рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП:
iperf рд╕рд░реНрд╡рд░ dmz рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ LAN = ~ 36Mb / s
iperf рд╕рд░реНрд╡рд░ dmz рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЧреНрд░рд╛рд╣рдХ = ~ 26Mb / s
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдкреНрд░рджрд╛рддрд╛ рд╣рдореЗрдВ 4Mb / s рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ DMZ рддрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж =)