From b324d9d84fe719c97a447999533fbbd80f21e116 Mon Sep 17 00:00:00 2001 From: Tom Eastep Date: Fri, 31 Jul 2009 19:37:24 -0700 Subject: [PATCH] Publish the new 'Tom's Configuration' page --- docs/MyNetwork.xml | 760 +++++++++++++++++++++++++++++++++++ docs/images/Network2009d.dia | Bin 0 -> 4805 bytes docs/images/Network2009d.png | Bin 0 -> 59385 bytes 3 files changed, 760 insertions(+) create mode 100755 docs/MyNetwork.xml create mode 100644 docs/images/Network2009d.dia create mode 100644 docs/images/Network2009d.png diff --git a/docs/MyNetwork.xml b/docs/MyNetwork.xml new file mode 100755 index 000000000..7c39b04d2 --- /dev/null +++ b/docs/MyNetwork.xml @@ -0,0 +1,760 @@ + + +
+ + + + My Network Configuration + + + + Tom + + Eastep + + + + + + + 2009 + + Thomas M. Eastep + + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, Version + 1.2 or any later version published by the Free Software Foundation; with + no Invariant Sections, with no Front-Cover, and with no Back-Cover + Texts. A copy of the license is included in the section entitled + GNU Free Documentation + License. + + + +
+ Introduction + + The configuration described in this article represents the network + at shorewall.net during the summer of 2009. It uses the following + Shorewall features: + + + + Two Internet + Interfaces + + + + A DMZ with two "systems" using Proxy + ARP and running in OpenVZ Virtual + Environments + + + + Traffic Shaping + + + + IPv6 Access through a 6to4 + Tunnel + + + + OpenVPN and IPSEC for access when we are on the + road. + + + + Ipsets + + + + Dynamic Zones + + + + Transparent proxy using + Squid + + + + Manual Chains + + + + Linux runs the firewall and the servers (although they run in OpenVZ + containers on the firewall system). Linux is not used natively on any of + our other systems except for an HP mini which runs HP + Mobile Internet Experience (MIE) -- essentially Ubuntu Hardy. I + rather run Windows natively (either Vista Home Premium or XP Professional) + and run Linux in VMs under VirtualBox. + This approach has a number of advantages: + + + + Efficient disk utilization. + + The virtual disks used by Linux are just files in the NTFS file + system. There is no need to pre-allocate one or more partitions for + use by Linux. Some large applications, like Google Earth, are + installed only on Windows. + + + + Avoids proprietary hardware issues. + + The Linux VMs emulate standard hardware that is well-supported + by Linux. + + + + Avoids DRM hassles + + All DRM-protected media can be handled under Windows. + + + + VirtualBox is fast (when your processor supports virtualization + extensions) and very easy to use. I highly recommend it! +
+ +
+ Network Topology + + Our network is diagrammed in the following graphic. + + + + We have accounts with two different ISPs: + + + + Comcast + + This is a high-speed (20mb/4mb) link with a single dynamic IPv4 + address. We are not allowed to run servers accessible through this + account. + + + + Avvanta + + This is a low-speec (1.5mb/384kbit) link with five static IP + address. Our servers are accessed through this account. + + + + The wired local network is restricted to my home office. The + wireless network is managed by a Linksys WRT300N pre-N router which we use + only as an access point -- its WAN interface is unused and it is + configured to not do NAT. The wireless network uses WPA2 personal security + and MAC filtering is enabled in the router. These two factors make it a + hassle when guests visit with a laptop but provide good security for the + network. +
+ +
+ Shorewall Configuration + + This section contains exerpts from the Shorewall + configuration. + + It is important to keep in mind that parts of my configuration are + there just to provide a test bed for Shorewall features. So while they + show correct usage, they don't necessarily provide any useful benefit. I + have tried to point those out in the sub-sections that follow. + +
+ /etc/shorewall/params + + MIRRORS=62.216.169.37,\ +63.229.2.114,\ +... +NTPSERVERS=... + +POPSERVERS=... + +LOG=ULOG + +INT_IF=eth1 +EXT_IF=eth2 +COM_IF=eth0 +VPS_IF=venet0As shown, this file defines variables to hold + the various lists of IP addresses that I need to maintain. To simplify + network reconfiguration, I also use variables to define the log level + and the network interfaces. +
+ +
+ /etc/shorewall/shorewall.conf + + ############################################################################### +# S T A R T U P E N A B L E D +############################################################################### +STARTUP_ENABLED=Yes +############################################################################### +# V E R B O S I T Y +############################################################################### +VERBOSITY=0 +############################################################################### +# C O M P I L E R +# (setting this to 'perl' requires installation of Shorewall-perl) +############################################################################### +SHOREWALL_COMPILER=perl +############################################################################### +# L O G G I N G +############################################################################### +LOGFILE=/var/log/ulog/syslogemu.log +STARTUP_LOG=/var/log/shorewall-init.log +LOG_VERBOSITY=2 +LOGFORMAT="%s:%s:" +LOGTAGONLY=No +LOGRATE= +LOGBURST= +LOGALLNEW= +BLACKLIST_LOGLEVEL= +MACLIST_LOG_LEVEL= +TCP_FLAGS_LOG_LEVEL=$LOG +SMURF_LOG_LEVEL=$LOG +LOG_MARTIANS=No +############################################################################### +# L O C A T I O N O F F I L E S A N D D I R E C T O R I E S +############################################################################### +IPTABLES= +IPSET= +PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin +SHOREWALL_SHELL=/bin/sh +SUBSYSLOCK= +MODULESDIR= +CONFIG_PATH=/etc/shorewall:/usr/share/shorewall +RESTOREFILE= +IPSECFILE=zones +LOCKFILE= +############################################################################### +# D E F A U L T A C T I O N S / M A C R O S +############################################################################### +DROP_DEFAULT="Drop" +REJECT_DEFAULT="Reject" +ACCEPT_DEFAULT="none" +QUEUE_DEFAULT="none" +############################################################################### +# R S H / R C P C O M M A N D S +############################################################################### +RSH_COMMAND='ssh ${root}@${system} ${command}' +RCP_COMMAND='scp ${files} ${root}@${system}:${destination}' +############################################################################### +# F I R E W A L L O P T I O N S +############################################################################### +IP_FORWARDING=Yes +ADD_IP_ALIASES=No +ADD_SNAT_ALIASES=No +RETAIN_ALIASES=No +TC_ENABLED=Internal +TC_EXPERT=No +CLEAR_TC=Yes +MARK_IN_FORWARD_CHAIN=Yes +CLAMPMSS=Yes +ROUTE_FILTER=No +DETECT_DNAT_IPADDRS=Yes +MUTEX_TIMEOUT=60 +ADMINISABSENTMINDED=Yes +BLACKLISTNEWONLY=Yes +DELAYBLACKLISTLOAD=No +MODULE_SUFFIX=ko +DONT_LOAD= +DISABLE_IPV6=No +BRIDGING=No +DYNAMIC_ZONES=No +PKTTYPE=No +MACLIST_TABLE=mangle +MACLIST_TTL=60 +SAVE_IPSETS=No +MAPOLDACTIONS=No +FASTACCEPT=No +IMPLICIT_CONTINUE=Yes +HIGH_ROUTE_MARKS=Yes +USE_ACTIONS=Yes +OPTIMIZE=1 +EXPORTPARAMS=Yes +EXPAND_POLICIES=Yes +KEEP_RT_TABLES=No +DELETE_THEN_ADD=No +MULTICAST=Yes +AUTO_COMMENT=Yes +MANGLE_ENABLED=Yes +NULL_ROUTE_RFC1918=Yes +USE_DEFAULT_RT=No +RESTORE_DEFAULT_ROUTE=No +FAST_STOP=Yes +AUTOMAKE=No +LOG_MARTIANS=Yes +WIDE_TC_MARKS=Yes +############################################################################### +# P A C K E T D I S P O S I T I O N +############################################################################### +BLACKLIST_DISPOSITION=DROP +MACLIST_DISPOSITION=ACCEPT +TCP_FLAGS_DISPOSITION=DROP +I don't believe that there is anything remarkable + there +
+ +
+ /etc/shorewall/zones + + fw firewall +loc ipv4 #Local Zone +dmz ipv4 #DMZ +net ipv4 #Internet +vpn:loc,net ipsec #IPSEC +drct:loc ipv4 #Direct internet accessThe + vpn zone is mostly for testing + Shorewall IPSEC support. It is nested in loc and net to + test a feature added in Shorewall 4.4.0. The drct zone is a dynamic zone whose members bypass + the transparent proxy. Some applications (such as VirtualBox + registration) don't work through the proxy. +
+ +
+ /etc/shorewall/interfaces + + #ZONE INTERFACE BROADCAST OPTIONS +loc $INT_IF detect dhcp,logmartians=1,routefilter=1,tcpflags +dmz $VPS_IF detect logmartians=1,routefilter=0,routeback +net $EXT_IF detect dhcp,blacklist,tcpflags,optional,routefilter=0,nosmurfs,logmartians=0,proxyarp=1 +net $COM_IF detect dhcp,blacklist,tcpflags,optional,upnp,routefilter=0,nosmurfs,logmartians=0 +loc tun+ detectNotice that VPN clients are treated + the same as local hosts. +
+ +
+ /etc/shorewall/hosts + + #ZONE HOST(S) OPTIONS +vpn $EXT_IF:0.0.0.0/0 +vpn $COM_IF:0.0.0.0/0 +vpn $INT_IF:0.0.0.0/0 +drct $INT_IF:dynamicThe vpn zone includes ipsec hosts interfacing from + either external interface as well as the local interface. drct is defined as dynamic through the local + interface (recall that it is a sub-zone of loc). +
+ +
+ /etc/shorewall/policy + + #SOURCE DEST POLICY LOG LIMIT:BURST +# LEVEL +$FW dmz REJECT $LOG +$FW all ACCEPT +loc net ACCEPT - +loc fw ACCEPT +loc vpn ACCEPT +vpn fw ACCEPT +vpn loc ACCEPT +net net NONE +net all DROP $LOG 8/sec:30 +dmz fw REJECT $LOG +all fw DROP $LOG +all all REJECT $LOGI'm a bit + sloppy with my fw<->loc policies -- I should fix that + someday... +
+ +
+ /etc/shorewall/accounting + + #ACTION CHAIN SOURCE DESTINATION PROTO DEST SOURCE USER/ +# PORT(S) PORT(S) GROUP +hp:COUNT accounting $COM_IF $INT_IF:172.20.1.107 UDP +hp:COUNT accounting $INT_IF:172.20.1.107 $COM_IF UDP +DONE hp + +mail:COUNT - $EXT_IF $VPS_IF:206.124.146.0/24 tcp 25 +mail:COUNT - $VPS_IF:206.124.146.0/24 $EXT_IF tcp 25 +DONE mail + +web - $EXT_IF $VPS_IF:206.124.146.0/24 tcp 80 +web - $EXT_IF $VPS_IF:206.124.146.0/24 tcp 443 +web - $VPS_IF:206.124.146.0/24 $EXT_IF tcp - 80 +web - $VPS_IF:206.124.146.0/24 $EXT_IF tcp - 443 + +COUNT web $EXT_IF $VPS_IF:206.124.146.0/24 +COUNT web $VPS_IF:206.124.146.0/24 $EXT_IF +The accounting chains are as follows: + + + + hp + + Counts traffic to/from my work laptop to HP. The VPN users + NAT-Traversal (UDP 4500) so I just count all UDP traffic to/from my + work system. + + + + mail + + Incoming and outgoing email + + + + web + + Website traffic (both HTTP and HTTPS) + + +
+ +
+ /etc/shorewall/blacklist + + #ADDRESS/SUBNET PROTOCOL PORT +- udp 1024:1033,1434 +- tcp 57,1433,1434,2401,2745,3127,3306,3410,4899,5554,6101,8081,9898This + configuration silently drops a few ports that get lots of + traffic. +
+ +
+ /etc/shorewall/compile + + use strict; +use Shorewall::Chains; + +my $chainref = ensure_manual_chain qw/DNS_DDoS/; + +add_rule $chainref, q(-m string --algo bm --from 30 --to 31 --hex-string "|010000010000000000000000020001|" -j DROP); +add_rule $chainref, q(-m string --algo bm --from 30 --to 31 --hex-string "|000000010000000000000000020001|" -j DROP); +add_rule $chainref, q(-j ACCEPT); + +1;The above was created during a recent DDOS incident that + targeted DNS servers. It illustrates how manual chains can be + created. +
+ +
+ /etc/shorewall/findgw + + if [ -f /var/lib/dhcp3/dhclient.${1}.leases ]; then + grep 'option routers' /var/lib/dhcp3/dhclient.${1}.leases | tail -n 1 | while read j1 j2 gateway; do echo $gateway | sed 's/;//'; return 0; done +fiThe Comcast line has a dynamic IP address assigned with the + help of dhclient. +
+ +
+ /etc/shorewall/isusable + + local status +status=0 + +[ -f /etc/shorewall/${1}.status ] && status=$(cat /etc/shorewall/${1}.status) + +return $statusFor use with lsm. +
+ +
+ /etc/shorewall/lib.private + + start_lsm() { + killall lsm 2> /dev/null + cat <<EOF > /etc/lsm/shorewall.conf +connection { + name=Avvanta + checkip=206.124.146.254 + device=$EXT_IF + ttl=2 +} + +connection { + name=Comcast + checkip=${ETH0_GATEWAY:-71.231.152.1} + device=$COM_IF + ttl=1 +} +EOF + rm -f /etc/shorewall/*.status + /usr/sbin/lsm /etc/lsm/lsm.conf >> /var/log/lsm +} +This function configures and starts lsm. +
+ +
+ /etc/shorewall/masq + + #INTERFACE SOURCE ADDRESS + +COMMENT Masquerade Local Network +$COM_IF 0.0.0.0/0 +$EXT_IF !206.124.146.0/24 206.124.146.179 +All connections out through Comcast must have the dynamically + assigned address as their source address. Traffic from hosts without an + Avvanta public IP address get 206.124.146.179 as their source + address. +
+ +
+ /etc/shorewall/notrack + + #SOURCE DESTINATION PROTO DEST SOURCE USER/ +# PORT(S) PORT(S) GROUP +net:!192.88.99.1 - 41 +dmz 206.124.146.255 udp +dmz 255.255.255.255 udp +loc 172.20.1.255 udp +loc 255.255.255.255 udp +$FW 255.255.255.255 udp +$FW 172.20.1.255 udp +$FW 206.124.146.255 udpThis file omits the + 6to4 traffic originating from 6to4 relays as well as broadcast traffic + (which Netfilter doesn't handle). +
+ +
+ /etc/shorewall/providers + + #NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY OPTIONS COPY +Avvanta 1 0x10000 main $EXT_IF 206.124.146.254 track,loose,fallback $INT_IF,$VPS_IF,tun* +Comcast 2 0x20000 main $COM_IF detect track,balance $INT_IF,$VPS_IF,tun*See + the Multi-ISP article for an explaination of + the multi-ISP aspects of this configuration. +
+ +
+ /etc/shorewall/proxyarp + + <empty>I let OpenVZ + configure the Proxy ARP for my servers. +
+ +
+ /etc/shorewall/restored + + if [ -z "$(ps ax | grep 'lsm ' | grep -v 'grep ' )" ]; then + start_lsm +fi + +chmod 744 ${VARDIR}/stateIf lsm isn't running then start it. + Make the state file world-readable. +
+ +
+ /etc/shorewall/route_rules + + #SOURCE DEST PROVIDER PRIORITY + +- 72.20.0.0/24 main 1000 #OpenVPN clients +- 206.124.146.177 main 1001 #Servers -- Routes configured by OpenVZ +- 206.124.146.178 main 1001 # +- 216.168.3.44 Avvanta 1001 #NNTP -- Does source IP verification +206.124.146.176/30 - Avvanta 26000 #Avvanta public IP addresses +206.124.146.180 - Avvanta 26000 #These + entries simply ensure that outgoing traffic uses the correct + interface. +
+ +
+ /etc/shorewall/routestopped + + #INTERFACE HOST(S) OPTIONS PROTO +$INT_IF 172.20.1.0/24 source,dest +$VPS_IF 206.124.146.177,206.124.146.178 +$EXT_IF - notrack 41Keep + the lights on while Shorewall is stopped. +
+ +
+ /etc/shorewall/rules + + ############################################################################################################################################################################### +#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ +# PORT PORT(S) DEST LIMIT GROUP +############################################################################################################################################################################### +SECTION ESTABLISHED +SECTION RELATED +SECTION NEW + +REJECT:$LOG loc net tcp 25 #Stop direct loc->net SMTP (Comcast uses submission). +REJECT:$LOG loc net udp 1025:1031 #MS Messaging + +COMMENT Stop NETBIOS crap + +REJECT loc net tcp 137,445 +REJECT loc net udp 137:139 + +COMMENT Stop my idiotic work laptop from sending to the net with an HP source IP address + +DROP loc:!172.20.0.0/23 net + +COMMENT +############################################################################################################################################################################### +# Local Network to Firewall +# +DNAT- $FW :127.0.0.1:3128 tcp 80 - - - !proxy +NONAT drct - +REDIRECT- loc 3128 tcp 80 - !66.199.187.46,172.20.1.108,206.124.146.177,155.98.64.80,81.19.16.0/21 +############################################################################################################################################################################### +# Local network to DMZ +# +ACCEPT loc dmz udp domain,177 +ACCEPT loc dmz tcp ssh,smtp,465,587,www,ftp,imaps,domain,https,5901:5903 - +ACCEPT loc dmz udp 33434:33524 +############################################################################################################################################################################### +# Internet to ALL -- drop NewNotSyn packets +# +dropNotSyn net fw tcp +dropNotSyn net loc tcp +dropNotSyn net dmz tcp +############################################################################################################################################################################### +# Internet to DMZ +# +DNS_DDoS net dmz udp domain +ACCEPT net dmz tcp smtp,www,ftp,465,587,imaps,domain,https +ACCEPT net dmz udp 33434:33454 +Mirrors:none net dmz tcp 873 +ACCEPT net dmz tcp 22 - - s:ssh:3/min:3 +############################################################################################################################################################# +################# +# +# Net to Local +# +Limit:$LOG:SSHA,3,60\ + net loc tcp 22 +# +# BitTorrent from Wireless Network +# +#DNAT net:$COM_IF loc:172.20.1.102 tcp 6881:6889 +#DNAT net:$COM_IF loc:172.20.1.102 udp 6881 +# +# UPnP +# +forwardUPnP net loc +# +# Silently Handle common probes +# +REJECT net loc tcp www,ftp,https +DROP net loc icmp 8 +############################################################################################################################################################################### +# DMZ to Internet +# +ACCEPT dmz net udp domain,ntp +REJECT dmz net:$COM_IF tcp smtp +ACCEPT dmz net tcp echo,ftp,ssh,smtp,whois,domain,www,81,nntp,https,2401,2702,2703,8080 +ACCEPT dmz net:$POPSERVERS tcp pop3 +# +# Some FTP clients seem prone to sending the PORT command split over two packets. This prevents the FTP connection tracking +# code from processing the command and setting up the proper expectation. The following rule allows active FTP to work in these cases +# but logs the connection so I can keep an eye on this potential security hole. +# +ACCEPT:$LOG dmz net tcp 1024: 20 +############################################################################################################################################################################### +# DMZ to Local +# +ACCEPT dmz loc tcp 22 - - s:ssh:3/min:3 +############################################################################################################################################################################### +# DMZ to Firewall -- ntp & snmp,apcupsd, Silently reject Auth +# +ACCEPT dmz fw tcp 161,ssh,3551 #3551 is the apcupsd NIS server on the firewall +ACCEPT dmz fw udp 161,ntp +REJECT dmz fw tcp auth +############################################################################################################################################################################### +# Internet to Firewall +# +REJECT net fw tcp www,ftp,https +DROP net fw icmp 8 +ACCEPT net fw udp 33434:33454 +ACCEPT net fw tcp 22 - - s:ssh:3/min:3 +ACCEPT net fw udp 33434:33524 +############################################################################################################################################################################### +# Firewall to DMZ +# +ACCEPT fw dmz tcp domain,www,ftp,ssh,smtp,https,993,465,587,5901 +ACCEPT fw dmz udp domain +REJECT fw dmz udp 137:139 +############################################################################################################################################################################## +ACCEPT dmz fw tcp 161,ssh,3551 #3551 is the apcupsd NIS server on the firewall +ACCEPT dmz fw udp 161,ntp +REJECT dmz fw tcp auth +############################################################################################################################################################################### +# Internet to Firewall +# +REJECT net fw tcp www,ftp,https +DROP net fw icmp 8 +ACCEPT net fw udp 33434:33454 +ACCEPT net fw tcp 22 - - s:ssh:3/min:3 +ACCEPT net fw udp 33434:33524 +############################################################################################################################################################################### +# Firewall to DMZ +# +ACCEPT fw dmz tcp domain,www,ftp,ssh,smtp,https,993,465,587,5901 +ACCEPT fw dmz udp domain +REJECT fw dmz udp 137:139 +############################################################################################################################################################################## +# Avoid logging Freenode.net probes +# +COMMENT Freenode Probes +DROP net:82.96.96.3,85.190.0.3 any +COMMENT +############################################################################################################################################################################## +# Allow Ping except where disallowed earlier +# +ACCEPT any any icmp 8 +
+ +
+ /etc/shorewall/started + + if [ -z "$(ps ax | grep 'lsm ' | grep -v 'grep ' )" ]; then + start_lsm +fi + +chmod 744 ${VARDIR}/stateIf lsm isn't running then start it. + Make the state file world-readable. +
+ +
+ /etc/shorewall/stopped + + if [ "$COMMAND" = stop -o "$COMMAND" = clear ]; then + killall lsm 2> /dev/null +fi + +chmod 744 ${VARDIR}/stateKill lsm if the command is stop or + clear. Make the state file world-readable. +
+ +
+ /etc/shorewall/tcclasses + + #INTERFACE MARK RATE CEIL PRIORITY OPTIONS +1:110 - full full 1 tcp-ack,tos-minimize-delay +1:120 - 192kbit 384kbit 2 flow=nfct-src +1:130 - 77kbit 230kbit 3 default,flow=nfct-src +1:140 - 144kbit 230kbit 4 flow=nfct-src + +# +# +2:10 - full/2 full 1 flow=dst +2:100 - 14mbit 20mbit 2 +2:100:101 - 7mbit 20mbit 3 default,flow=dst +2:100:102 - 7mbit 20mbit 3 flow=dst + +3:10 - 2mbit:4ms full 1 flow=nfct-src +3:100 - 2mbit full 2 +3:100:101 - 1mbit full 3 default,flow=nfct-src +3:100:102 - 1mbit full 3 flow=nfct-src + +
+
+
diff --git a/docs/images/Network2009d.dia b/docs/images/Network2009d.dia new file mode 100644 index 0000000000000000000000000000000000000000..205022d0911c422a0eebce212aa4b75d8863b320 GIT binary patch literal 4805 zcmV;$5<2Z4iwFP!000021MOW~bKAy}e&?@1DG%#ZQRBH^!egIuoMdyhe5+%}+RBRy z5+Mm|3RHohW$nZM_U#^0wnzaIO<*X&9#tHfG>D!Cd%o$O?*8T<|NMM5Nj_!eET0xn z_86giNmd+9$9Zw`Wbdzcf9%`6e?A@jW1OeIz@L*cJxkyd#SC9P**mSO^Isl6zPPv` zlgn9JO-nM#=VX>W{=alGNgu;SkN2JqlH~dg#%Yz}d&_szsw(rtd6gwadX_!eJ4}y0 zo|MyhG2UBTwY=_VI+>Qqr*!gU@26w`v-fy;o5w5nx#iyH=}C52X6eV~TT}RPZkt=5 zXXW~B&(5c_94@IY&u?7Pa3B2twQH7F&ETTqe zNnYHP1{0;qXT@s|4jnTs@a>7k9W@ag*JOD|ag{pM5x=mQ|VN)lHFy)9EBj zi-pvxoM+q1nH{AQFtOXzV%y*SIIpVd9pgVvC$miySiJpZ#(nGTJt_0??UQ%qiiW#f zKzIL?&+@}bRyX>*s5-m-WjD89|8_irfBkq%YgpW^afuk)Ol9iZ zmxz;jKF(%$nAz$z4R<oR;HcKlyd~dGD*|0e(k5ezNzPu0Ec1h2Um@d^euY`SgnsSz;yQ zX2=9#>w4crjV2j~hwCCrP$Df(CfSu3*(5vra5OE8n=V49 z+Icx1N^WX+1tWrjcGrJQ3t6XGesWqh3*($fdi_UlCoC`E(S2B*y0!k@@iC>_iI|;E zFFw@xr*|*B-y&sU1Ru(DoX=;?&y5jglyp)kYB}fDsBB-@J47ztTujNW=O}ACM;Rwt z!gSf!#0H$BAV#^R7&TIyFcd0@3^_yF>$cGhbwsM`lSTxbp$tq-uHZq?8H)2W&d^pf zl((Is5>kJ33z{C}rKl}>I|ZfzU*o5cW*Rryf|Lb~w=RBIF!gj;Z9Em6$Kphyam7*nvy zT0|Vb)n$yAYz=pz-GL@OYc7R>QG)|@oGSifxdXiU(;fH&FVgdBdR}A4x`Uk{#^L*A z7JNA?!fpmJPT4||VIu|+poWE-GXhJg3cMxMUdfGig@_YQgE~@MKRZLZ1u!!y%t>ag zb0Ezr8Qp^D7DTsTdo(p|(UeQTGzOSv2sMm{+#^6q3ppch38ft3a7wrlK{wYsQ7|HD zMAC?)-!+oj)_y62C<1{-5SW-DkI5x8`Z42R1n3b!GT%Tznx<)T5TQQmm#xGavV=;Uw#Av_yU2mm=~+|Vq=|7x;=q{NHZ9cC9Eg%Zb0BX@ zcmxnq)mU=tYCFM+QA4IlNY@C3NNZ6Hch-)CCJ-w*%t{E_DgwN_CZeT&o5h)2DnW5 zWv*S*1oFO-edW5fzW0WX_gmUTo3Id&woVYfpB$%W`Q#GDlNPhR#IFb5Iu{@PGn;(M z5JRt9<+qREhHp{p1lTnvK(-UQYJZ#C;5M?>H+D91JGK#&PV$rDEUW)Q8y4={8jI_C zW4~=meDXtT_8~;KYikoAwJtA|lE5lrh~h!Jf4me}M75G51&*(jes@SItsg!ly~t

G_MX9`w-9{#zb5e2Bwt?X2wl5@u3B^b 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 literal 0 HcmV?d00001 diff --git a/docs/images/Network2009d.png b/docs/images/Network2009d.png new file mode 100644 index 0000000000000000000000000000000000000000..92d6adba0def52c3b1c46a295872788ceb6dcecb GIT binary patch literal 59385 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 literal 0 HcmV?d00001