Trafigi statiki we dinamiki dolandyrmak üçin Linux serwerini marşrutizora nädip öwürmeli - 10-njy bölüm
Bu LFCE ( Linux Foundation Sertifikatly Inerener ) seriýasynyň öňki okuw sapaklarynda garaşyşymyz ýaly, bu makalada belli bir programmalar bilen IP traffiginiň statiki we dinamiki ugurlaryny ara alyp maslahatlaşarys.
Ilki bilen ilki bilen käbir kesgitlemeleri göreliň:
- simpleönekeý sözler bilen aýdylanda, paket toruň içinde maglumat geçirmek üçin ulanylýan esasy bölümdir. Tor protokoly hökmünde TCP/IP ulanýan torlar maglumatlary geçirmek üçin şol bir düzgünleri ýerine ýetirýärler: hakyky maglumatlar iki maglumatdan hem-de iberilmeli salgydan ybarat paketlere bölünýär.
- Statik marşrutlaşdyrma marşrut tablisasynda kesgitlenen el bilen düzülen düzgünler toplumyny talap edýär. Bu düzgünler kesgitlenendir we paketiň bir enjamdan beýlekisine geçip barýarka nähili geçmelidigini kesgitlemek üçin ulanylýar.
- Dinamiki marşrutlaşdyryş ýa-da akylly marşrut (isleseňiz) ulgamyň zerur bolanda paketiň gidýän ugruny awtomatiki üýtgedip biljekdigini aňladýar.
Giňişleýin IP we tor enjamlaryny sazlamak
iproute bukjasy, ifconfig we marşrut ýaly miras gurallarynyň çalşylmagyny görkezýänligi sebäpli, bu makalada ulanjak ulgam we traffigi dolandyrmak üçin gurallar toplumyny üpjün edýär.
iproute toplumynda merkezi kömekçi ýönekeý ip diýilýär. Esasy sintaksis aşakdaky ýaly:
# ip object command
obýekt aşakdakylaryň diňe biri bolup bilýän ýerinde (diňe iň ýygy obýektler görkezilýär - doly sanaw üçin adama ip ýüz tutup bilersiňiz):
- baglanyşyk : tor enjamy.
- addr : enjamdaky protokol (IP ýa-da IPv6) salgy.
- ugur : marşrut tablisasyna giriş.
- düzgün : syýasat bazasynyň marşrutlaşdyrylmagynda düzgün.
buýrugy obýektde ýerine ýetirilip bilinjek belli bir hereketi aňladýar. Belli bir obýekte ulanylyp bilinjek buýruklaryň doly sanawyny görkezmek üçin aşakdaky buýrugy işledip bilersiňiz:
# ip object help
Mysal üçin,
# ip link help
Aboveokardaky surat, mysal üçin, aşakdaky buýruk bilen tor interfeýsiniň ýagdaýyny üýtgedip biljekdigiňizi görkezýär:
# ip link set interface {up | down}
ip buýrugynyň has köp mysallary üçin IP adresini sazlamak üçin 10 sany peýdaly ip buýrugyny okaň
Bu mysalda, eth1 öçüreris we işlederis:
# ip link show # ip link set eth1 down # ip link show
Et1-i täzeden işletmek isleseňiz,
# ip link set eth1 up
Networkhli ulgam interfeýslerini görkezmegiň ýerine, olaryň birini kesgitläp bileris:
# ip link show eth1
Eth1 üçin ähli maglumatlary yzyna gaýtaryp berer.
Häzirki esasy marşrut tablisasyny aşakdaky 3 buýrugyň ikisi bilen görüp bilersiňiz:
# ip route show # route -n # netstat -rn
Üç buýrugyň çykyşynda birinji sütün maksat toruny görkezýär. ip marşruty görkezişiniň çykyşy ( dev açar sözüne eýerip) şol torlara fiziki derweze bolup hyzmat edýän ulgam enjamlaryny hem görkezýär.
Häzirki wagtda ip buýrugy marşrutdan has ileri tutulýan bolsa-da, galanlary jikme-jik düşündirmek üçin henizem adam ip-marşrut we adam ýoly salgylanyp bilersiňiz. sütünleriň
icmp (ping) paketlerini dev2-den dev4-e we başga tarapa ugrukdyrmak isleýäris (iki müşderi maşynynyň hem dürli ulgamlarda bolandygyna üns beriň). Her NIC-iň ady, degişli IPv4 salgysy bilen birlikde kwadrat ýaýyň içinde berilýär.
Synag gurşawymyz aşakdaky ýaly:
Client 1: CentOS 7 [enp0s3: 192.168.0.17/24] - dev1 Router: Debian Wheezy 7.7 [eth0: 192.168.0.15/24, eth1: 10.0.0.15/24] - dev2 Client 2: openSUSE 13.2 [enp0s3: 10.0.0.18/24] - dev4
Geliň, dev1-de marşrut tablisasyny göreliň (CentOS gutusy):
# ip route show
soň bolsa, enp0s3 NIC-ni we 10.0.0.0/24 ulgamynda ýer eýelerine girmek üçin 192.168.0.15 birikmesini ulanmak üçin üýtgediň:
# ip route add 10.0.0.0/24 via 192.168.0.15 dev enp0s3
Aslynda, şlýuz hökmünde 192.168.0.15 ulanyp, enp0s3 tor interfeýsiniň üsti bilen 10.0.0.0/24 toruna ugur goşuň diýilýär.
Edil şonuň ýaly-da, 192.168.0.0/24 torundaky ping hostlaryna dev4-de (openSUSE guty):
# ip route add 192.168.0.0/24 via 10.0.0.15 dev enp0s3
Netijede, Debian marşrutizatorymyzda ugratmagy işjeňleşdirmeli:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Indi geliň:
we,
Bu sazlamalary aýakgaplaryň arasynda dowam etdirmek üçin marşrutizatorda /etc/sysctl.conf redaktirläň we net.ipv4.ip_forward üýtgeýjisiniň aşakdaky ýaly dogrydygyna göz ýetiriň:
net.ipv4.ip_forward = 1
Mundan başga-da, iki müşderide NIC-leri düzüň (konfigurasiýa faýlyny openSUSE-de /etc/sysconfig/network gözläň we CentOS-da /etc/sysconfig/network-scripts - iki ýagdaýda-da ifcfg-enp0s3 diýilýär).
Ine, openSUSE gutusyndan konfigurasiýa faýly:
BOOTPROTO=static BROADCAST=10.0.0.255 IPADDR=10.0.0.18 NETMASK=255.255.255.0 GATEWAY=10.0.0.15 NAME=enp0s3 NETWORK=10.0.0.0 ONBOOT=yes
Linux enjamyny marşrutizator hökmünde ulanyp boljak başga bir ssenariýa, internet birikmesini hususy LAN bilen paýlaşmaly wagtyňyz.
Router: Debian Wheezy 7.7 [eth0: Public IP, eth1: 10.0.0.15/24] - dev2 Client: openSUSE 13.2 [enp0s3: 10.0.0.18/24] - dev4
Öňki mysaldaky ýaly müşderide paket ugrukdyrma we statiki marşrut tablisasyny gurmakdan başga-da, marşrutizatorda birnäçe iptables düzgünlerini goşmaly:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT # iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Birinji buýruk, nat (Network Address Translation) tablisasyndaky POSTROUTING zynjyryna düzgün goşýar, çykýan paketler üçin eth0 NIC-iň ulanylmalydygyny görkezýär.
MASQUERADE bu NIC-iň dinamiki IP-siniň bardygyny we bukjany internetiň\ ýabany dünýäsine ibermezden ozal paketiň şahsy çeşmesiniň salgysynyň bolmalydygyny görkezýär. marşrutizatoryň umumy IP-sine üýtgedilmeli.
Köp öý eýesi bolan LAN ulgamynda, marşrutizator /proc/net/ip_conntrack daky baglanyşyklary yzarlaýar, şonuň üçin internetden jogaby nirä gaýtaryp boljakdygyny bilýär.
Çykyşyň diňe bir bölegi:
# cat /proc/net/ip_conntrack
aşakdaky skrinshotda görkezilýär.
Paketleriň gelip çykyşy (openSUSE gutusynyň şahsy IP) we barjak ýeri (Google DNS) görkezilýär. Bu ylgawyň netijesi:
# curl linux-console.net
openSUSE gutusynda.
Öňden çaklap biljekdigiňize ynanýaryn, marşrutizator Google-yň 8.8.8.8-ni at serweri hökmünde ulanýar, bu çykýan paketleriň barmaly ýeriniň näme üçin şol adrese degişlidigini düşündirýär.
Bellik: Internetden gelýän paketler, diňe öňden gurlan baglanyşygyň bir bölegi bolan bolsa (2-nji buýruk) kabul edilýär, çykýan paketlere\ mugt çykyş rugsat berilýär (buýruk # 3).
“Iptables” düzgünleriňizi 8-nji bölümde görkezilen ädimlerden soň dowam etdirmegi ýatdan çykarmaň - bu seriýanyň “Iptables Firewall” -yny sazlaň.
Quagga bilen dinamiki marşrut
Häzirki wagtda Linux-da dinamiki marşrutlaşdyrmak üçin iň köp ulanylýan gural kwagga . Ulgam dolandyryjylaryna, has arzan Linux serweri bilen, güýçli (we gymmat) Cisco marşrutizatorlary tarapyndan üpjün edilýän şol bir funksiýany durmuşa geçirmäge mümkinçilik berýär.
Guralyň özi marşrutizasiýany dolandyrmaýar, tersine, paketleri dolandyrmak üçin iň oňat ugurlary öwrenensoň, ýadro marşrut tablisasyny üýtgedýär.
Zebra çeňňegi bolansoň, biraz öň ösüşi bes edilen programma, taryhy sebäplere görä zebra bilen deňeşdirilende şol bir buýruklary we gurluşy saklaýar. Şonuň üçin bu ýerden zebra hakda köp salgylanmany görersiňiz.
Dinamiki marşrutlaşdyrmagy we ähli degişli protokollary bir makalada ýapmagyň mümkin däldigini ýadyňyzdan çykarmaň, ýöne bu ýerde hödürlenen mazmunyň siziň üçin başlangyç nokat boljakdygyna ynanýaryn.
Saýlanan paýlamaňyza kwagany gurmak üçin:
# aptitude update && aptitude install quagga [On Ubuntu] # yum update && yum install quagga [CentOS/RHEL] # zypper refresh && zypper install quagga [openSUSE]
Eth0 esasy IP şlýuz marşrutizatoryna IP 192.168.0.1 bilen birikdirilen ýeke-täk tapawut bilen, 3-nji mysaldaky ýaly gurşawy ulanarys.
Ondan soň, /etc/quagga/daemons bilen redaktirläň,
zebra=1 ripd=1
Indi aşakdaky konfigurasiýa faýllaryny dörediň.
# /etc/quagga/zebra.conf # /etc/quagga/ripd.conf
we şu setirleri goşuň (öz adyňyzyň adyny we parolyny çalşyň):
service quagga restart hostname dev2 password quagga
# service quagga restart
Bellik: Şol ripd.conf marşrutizasiýa maglumat protokolynyň konfigurasiýa faýly bolup, marşrutizatory haýsy torlara baryp boljakdygyny we näçe aralykda (hops mukdary boýunça) maglumat berýär.
Munuň kwagga bilen bilelikde ulanylyp bilinjek protokollaryň diňe biridigine üns beriň, men ony ulanmagyň aňsatlygy sebäpli we tor enjamlarynyň köpüsiniň goldaýandygy sebäpli, aç-açan tekstde şahsyýet maglumatlaryny bermegiň kemçilikleri bar. Şol sebäpli konfigurasiýa faýlyna degişli rugsatlary bellemeli:
# chown quagga:quaggavty /etc/quagga/*.conf # chmod 640 /etc/quagga/*.conf
Bu mysalda aşakdaky sazlamany iki marşrutizator bilen ulanarys (öň düşündirilişi ýaly marşrutizator # 2 üçin konfigurasiýa faýllaryny dörediň):
Üns beriň: Iki marşrutizator üçin aşakdaky sazlamany gaýtalamagy ýatdan çykarmaň.
Router bilen ýadrosyň arasyndaky logiki araçy bolan zebra ( 2601 portda diňlemek) birikdiriň:
# telnet localhost 2601
/etc/quagga/zebra.conf faýlynda goýlan paroly giriziň we konfigurasiýany işlediň:
enable configure terminal
Her NIC-iň IP adresini we tor maskasyny giriziň:
inter eth0 ip addr 192.168.0.15 inter eth1 ip addr 10.0.0.15 exit exit write
Indi RIP daemon terminalyna (port 2602) birikmeli:
# telnet localhost 2602
Ulanyjy adyny we parolyny /etc/quagga/ripd.conf faýlynda giriziň we soňra aşakdaky buýruklary goýy bilen ýazyň (düşündirişler üçin düşündirişler goşulýar):
enable turns on privileged mode command. configure terminal changes to configuration mode. This command is the first step to configuration router rip enables RIP. network 10.0.0.0/24 sets the RIP enable interface for the 10.0.0.0/24 network. exit exit write writes current configuration to configuration file.
Bellik: Iki ýagdaýda-da konfigurasiýa ozal goşan setirlerimize goşulýar ( /etc/quagga/zebra.conf we /etc/quagga/ripd.conf ) .
Ahyrynda, iki marşrutizatorda ýene-de zebra hyzmatyna birikdiriň we olaryň hersiniň beýlekisiniň yzynda durýan we indiki hop boljak tora barýan ýoly nädip öwrenendigini belläň. şol ulgam, ip marşrutyny görkezmek buýrugyny işledip:
# show ip route
Dürli protokollary ýa-da gurnamalary synap görmek isleseňiz, goşmaça resminamalar üçin Quagga taslama sahypasyna ýüz tutup bilersiňiz.
Netije
Bu makalada Linux guty marşrutizatoryny (lar) ulanyp, statiki we dinamiki marşrutlaşdyrmagy nädip gurmalydygyny düşündirdik. Isleýşiňiz ýaly marşrutizatorlary goşmak we isleýşiňiz ýaly synag etmek üçin arkaýyn boluň. Teswirleriňiz ýa-da soraglaryňyz bar bolsa, aşakdaky aragatnaşyk formuny ulanyp, bize gaýdyp gelmekden çekinmäň.