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ň:

  1. 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):

  1. baglanyşyk : tor enjamy.
  2. addr : enjamdaky protokol (IP ýa-da IPv6) salgy.
  3. ugur : marşrut tablisasyna giriş.
  4. 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äň.