Kā kontrolēt tīmekļa trafiku, izmantojot Squid Cache un Cisco Router Linux


Viens svarīgs tīkla uzdevums ir kontrolēt un pārvaldīt personāla sērfošanas trafiku, ir daudz risinājumu, kas var tikt galā ar šo problēmu, viens no labākajiem risinājumiem ir kalmāru kešatmiņas izmantošana Linux mašīnā. Kalmāri var pārbaudīt, ierobežot un saglabāt kešatmiņā tīmekļa trafiku no viena tīkla uz citu tīklu, piemēram, no LAN uz internetu.

Ir daži veidi, kā klienta tīmekļa pieprasījumus novirzīt uz kalmāru mašīnu. Šajā rakstā mēs parādīsim, kā novirzīt tīmekļa trafiku no CISCO maršrutētāja uz kalmāru kešatmiņas mašīnu, izmantojot WCCP protokolu.

Zemāk redzamais attēls ir pamata scenārija piemērs.

Kā redzat augšējā attēlā, visas klienta tīmekļa trafikas vispirms nonāk Cisco maršrutētājā (tas ir viņu noklusējuma vārteja), pēc tam maršrutētājs klusi novirza paketes uz kalmāru mašīnu, tagad kalmāri var spēlēt tās lomas, galvenās lomas ir tīmekļa satura kešatmiņa, piekļuves ierobežošana domēnos, laika intervālos, ip adresēs, failu lielumā utt.

Mēs pārskatām šī scenārija konfigurāciju divās galvenajās darbībās, vispirms mums jāinstalē un jākonfigurē kalmāri un Linux, pēc tam jākonfigurē maršrutētājs, lai tīmekļa trafika paketes novirzītu kalmāros, izmantojot WCCP protokolu.

Šajā scenārijā es izmantoju CENTOS 6.5 kā savu LINUX serveri un Cisco 2691 kā savu maršrutētāja sistēmu.

Operating System: CENTOS 6.5
Application: Squid
Router: Cisco 2691

1. darbība: Kalmāru kešatmiņas instalēšana

Kalmārs ir pieejams noklusējuma CENTOS krātuvē. Vispirms mēs to instalējam, izmantojot jauko komandu yum, un pēc tam sākam viņu pakalpojumus un beidzot iestatām kalmāru pakalpojuma automātisku palaišanu.

# yum -y install squid
# service squid start
# chkconfig squid on

2. darbība: Kalmāru kešatmiņas sagatavošana

Tagad mums ir jāmaina daži centos operētājsistēmas noklusējuma uzvedība, mums jāiespējo pakešu pārsūtīšana un jāatspējo reversā ceļa filtrs (RPF), jāiespējo pakešu pārsūtīšana, lai centos darbotos kā caurspīdīgs ekspeditors (piemēram, maršrutētājs).

Ļaujiet man paskaidrot sīkāk, kad tirdzniecība nonāk centos, tām ir to avota un galamērķa adreses, piemēram, kad klients savā pārlūkprogrammā ievada vietni www.example.com, ko ģenerē http pieprasījuma pakete un tai ir klienta mašīnas avota ip adrese. (piemēram, 192.168.1.20) un servera example.com adresāta IP adrese (piemēram, 2.2.2.2).

Tātad, kad centos saņemto pakešu pakete tiek atklāta kā nepareiza pakete, jo centos ip adrese nav paketes galamērķa adrese, drošības apsvērumu dēļ centos nomaina pakešu, taču mēs vēlamies, lai kalmāri rīkotos caurspīdīgā režīmā. Mēs pastāstām šo situāciju centos, iespējojot pakešu pārsūtīšanas dziru.

Tālāk mums jāatspējo reversā ceļa filtrēšana, lai ļautu centos pieņemt paketes, kurām nevar piekļūt kalmāru mašīna, vai paketēm, kurām nav ip adreses tajā pašā kalmāru mašīnas apakštīklā.

# nano /etc/sysctl.conf
net.ipv4.ip_forward = 1 #set to 1 for enable the packet forwarding feature
net.ipv4.conf.default.rp_filter = 0 # set to 0 for disable the reverse path filter behavior

Tālāk mums jāizveido GRE interfeiss CENTOS mašīnā, par ko? Ļaujiet man paskaidrot vairāk, WCCP protokols darbojas caur GRE tuneli, tas nozīmē, ka valoda starp maršrutētāju un Squid ir GRE, tāpēc centos jābūt GRE saskarnei GRE paku dekapsulēšanai.

Mums jāizveido GRE saskarnes konfigurācijas fails ceļā “/ etc/sysconfig/network-script/ifcfg-gre0”.

Ievadiet zemāk esošos kodus ifcfg-gre0 konfigurācijas failā.

DEVICE=gre0
BOOTPROTO=static
IPADDR=10.0.0.2         #unused ip address in your network
NETMASK=255.255.255.252
ONBOOT=yes
IPV6INIT=no

Pēc GRE saskarnes izveides mums ir jārestartē tīkla pakalpojums.

# service network restart

3. darbība: kalmāru kešatmiņas konfigurēšana

Mums jāpasaka kalmāriem, kuri pieņem maršrutētājā WCCP paketes. Ievadiet zemāk esošos kodus failā /etc/squid/squid.conf.

http_port 3128 intercept                 # Define SQUID listening port
wccp2_router 192.168.1.254          #ip address of the router
wccp2_forwarding_method gre
wccp2_return_method gre
wccp2_service standard 0

Saglabājiet konfigurācijas failu un restartējiet kalmāru pakalpojumu.

# service squid restart

Kalmāri klausās paketes 3128 portā, bet mūsu pakešu galamērķa porta numurs ir 80, tāpēc, lai nomainītu galamērķa portu 80 uz 3128, mums ir jāizveido NAT noteikums CENTOS integrētajā ugunsmūrī (tā nosaukums ir iptable).

# iptables -t nat -A PREROUTING -i gre0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# iptables -t nat -A POSTROUTING -j MASQUERADE

4. darbība: Cisco maršrutētāja konfigurācijas

Vispirms mums vajadzētu iespējot WCCP uz cisco maršrutētāja.

R1(config)# ip wccp version 2
Then we must use an ACL for introducing SQUID cache machine to router
R1(config)# ip access-list standard SQUID-MACHINE
R1(config-std-nacl)# permit host 192.168.1.10

Pēc tam mēs definējam citu piekļuves sarakstu diviem dažādiem mērķiem. Vispirms mums vajadzētu izņemot SQUID trafikus no novirzīšanas ar WCCP protokolu (ja ne, mēs nonākam bezgalīgā lokā !!), pēc tam mēs definējam, kurus LAN trafikus mēs vēlamies iziet caur WCCP un SQUID.

R1(config)#ip access-list LAN-TRAFFICS
R1(config-ext-nacl)#deny ip host 192.168.1.10 any                            #Prevent SQUID to get in loop
R1(config-ext-nacl)#permit tcp 192.168.1.0 0.0.0.255 any equal www           #define LAN Traffics

Pēc piekļuves saraksta izveidošanas mums maršrutētājā jākonfigurē WCCP protokols.

R1(config)# ip wccp web-cache redirect-list LAN-TRAFFIC group-list SQUID-MACHINE

Visas lietas ir gatavas pēdējam solim, mums maršrutētājam jāpasaka, ka kurā interfeisā/saskarnēs tam ir jāpāradresē trafika, izmantojot viņu WCCP konfigurāciju.

R1(config)#interface fastEthernet 0/0
R1((config-if)# ip wccp web-cache redirect in

Kopsavilkums

Ir pienācis laiks apkopot visas komandas un tekstus dažās rindiņās, lai labāk izprastu. Saskaņā ar scenāriju mēs personāla tīmekļa sērfošanas paketes (tas ir TCP 80. portā) novirzām no ROUTER (tas ir klientu noklusējuma vārteja) uz kalmāru kešatmiņu. mašīna, izmantojot WCCP protokolu.

Visi šie procesi notika klusi, un klienta pusē nav papildu konfigurācijas. Tātad mēs varam kontrolēt un noteikt politikas attiecībā uz tīmekļa trafiku LAN. Piemēram, mēs varam iegūt piekļuvi tīmekļa sērfošanai tikai ierobežotā laikā, ierobežot maksimālo lejupielādes lielumu, definēt mūsu pielāgoto melno un balto sarakstu, ģenerēt pilnīgus pārskatus par interneta darbību izmantošanu utt.

viens no interesantākajiem faktiem šajā scenārijā ir tad, kad kalmāru mašīna nolaižas maršrutētājā, atklājot šo problēmu un pārtraucot pakešu novirzīšanu uz to, lai jūs varētu baudīt no nulles dīkstāves tīklā.

Ja jums ir kādi jautājumi par šo rakstu, lūdzu, atstājiet atbildi zem komentāru lodziņa.