A ti kọ ipa-ọna nitori awọn biti agbalejo? Wa ipilẹ ti o pinnu
Laini ipa-ọna ti a kọ maa n jẹ nitori awọn biti agbalejo, kii ṣe iṣoro gbigbe. Ṣe ipinnu ipilẹ ti o pinnu dipo ki o fa maski gbooro titi yoo fi gba.
Laini ipa-ọna rẹ pada wa ni kikọ, ati imọran ti o rii sọ pe ki o tan gbigbe IP. Awọn nkan meji wọnyi wa ni awọn ipele oriṣiriṣi ti iṣoro naa. Gbigbe pinnu boya agbalejo le gbe awọn pakẹti laarin awọn interconnect; ko ni ero nipa boya ibi ti o tẹ jẹ nẹtiwọki to tọ tabi rara. Tọ ipilẹ ni akọkọ, nitori gbigbe kii yoo gba adirẹsi ati maski ti ko baamu la.
Ohun ti oluyẹwo n kùn nipa nitootọ
Ibi ti a kọ gẹgẹ bi adirẹsi pẹlu maski gbọdọ ṣapejuwe nẹtiwọki, ati nẹtiwọki bẹrẹ pẹlu awọn biti agbalejo ti a fi si odo. Nigbati adirẹsi ti o pese ba tun ni iye ninu apakan agbalejo, bata naa ko ni ibamu ninu: 172.20.130.0 dabi ẹni pe o mọ́ nitori o pari pẹlu odo, ṣugbọn odo ninu oktẹti kẹrin kii ṣe ohun pataki nikan. Oktẹti kẹta ni o ni awọn biti ti o ṣina nibi.
Awọn irinṣẹ n koju aiṣedeede yẹn ni awọn ọna oriṣiriṣi. Awọn oluyẹwo lile kọ laini naa ati pe wọn darukọ awọn biti agbalejo. Awọn oluyẹwo rọra fi maski bo adirẹsi naa ati fi ohun ti o ko beere sii, eyi ti o buru ju, nitori iṣeto naa n tọ ipa-ọna ibiti o ko pinnu rara. Modulu ipaddress ti Python fi yiyan han taara: iṣiro nẹtiwọki lile n gbe aṣiṣe soke, ati strict=False n fi maski bo awọn biti agbalejo. Ẹrọ rẹ le jẹ lile, rọra tabi aisedeede laarin awọn ẹya, nitorina ka ifiranṣẹ naa dipo gbigbẹ ẹkọ kan.
Ṣe apẹẹrẹ naa pẹlu ọwọ
Mu oju-ọna kan ti o nilo lati de 172.20.130.0 pẹlu maski /20. /20 ya awọn biti mẹrin lati oktẹti kẹta, nitorina oktẹti yẹn ni a ka nikan ni igbesẹ 16: 0, 16, 32 ati siwaju titi de 240. Iye 130 ṣubu laarin 128 ati 143, eyi ti o tumọ si pe nẹtiwọki ti o yi kaakiri bẹrẹ ni 172.20.128.0, kii ṣe ni 172.20.130.0 pẹlu oktẹti ti o kẹhin ti a fi si odo.
Nigba ti a kọ, bulọọki naa n lọ lati 172.20.128.0 de 172.20.143.255 ati pe o ni awọn adirẹsi 4,096. Fifun awọn iye kanna si oluyẹwo ti ko lile fi rọpo han ti yoo ṣe ni ipo rẹ:
$ python3 -c "import ipaddress; n=ipaddress.ip_network('172.20.130.0/20', strict=False); print(n, n.num_addresses)"
172.20.128.0/20 4096Pinnu ibi ti o pinnu ni otitọ
Laini ti a kọ maa n fi ọkan ninu awọn erongba mẹta pamọ, ati iwọ nikan ni o le yan. Ti oju-ọna ba nilo gbogbo bulọọki, kọ 172.20.128.0/20, adirẹsi nẹtiwọki ti o tọ. Ti oju-ọna ba nilo apakan 130 nikan, maski naa jẹ aṣiṣe ati 172.20.130.0/24 ni irisi otitọ. Ti ibi-afẹde ba jẹ ẹrọ kan, ipa-ọna agbalejo IPv4 jẹ /32 ati pe ko si iṣiro maski ti o kopa.
Ọkọọkan wọn gba iye oriṣiriṣi ti ijabọ laaye, ati eyi ni idi gidi ti kii ṣe fa maski gbooro titi ẹdun yoo fi duro. /16 gba laini naa ni fere ibikibi ati pe o fi ijabọ ranṣẹ si awọn ibi ti o ko pinnu lati tọ ipa-ọna kọja oju-ọna rara. Kọ ipilẹ ti o dín julọ ti o baamu erongba, lẹhinna jẹrisi rẹ lodi si igbesẹ ti o tẹle ti o reti, kii ṣe lodi si idakẹjẹ oluyẹwo.
Idi ti gbigbe ko jẹ ojutu rara
Ipa-ọna ti a kọ ko de ọna gbigbe rara, nitorina yiyipada net.ipv4.ip_forward ko le yi abajade pada. Eto yẹn ṣe pataki nigbamii, nigbati agbalejo gbọdọ gbe awọn pakẹti laarin awọn interconnect, ati fifi tan-an ṣaaju ki tabili to tọ n yi nikan ipele ti yoo kuna nigbamii.
Awọn ohun meji miiran ni a maa n da lẹbi ni aaye kanna. Ipa-ọna le gba ati pe o tun le padanu si ipa-ọna kan pato ju, ati ofin odi ina le ju ijabọ silẹ lẹhin wiwa to tọ. Ya awọn ipele sọtọ: sintaksi, fifi sori ẹrọ, yiyan, sisẹ. Ṣiṣe iṣẹ ni ipele ti ko tọ dabi ẹni pe o ni eso nitori gbogbo iyipada n tun nkan bẹrẹ.
Ṣayẹwo ipa-ọna ti a fi sori ẹrọ ati ọna ti o bori
Ni kete ti ẹrọ ba gba laini naa, wo ohun ti o fi sori ẹrọ ati ipa-ọna ti kọnu yan fun adirẹsi aṣoju ninu bulọọki naa. Ti ipilẹ ti a fi sori ẹrọ yatọ si eyi ti o kọ, olutọpa kan ti ṣiṣẹ ni ipo rẹ.
Bere adirẹsi ọmọ ẹgbẹ kan ati ọkan ni ita bulọọki naa, ki afiwe naa ni itumọ dipo laini itunu kan:
ip -4 route show 172.20.128.0/20
ip -4 route get 172.20.140.10
ip -4 route get 172.20.200.10Ibeere kẹta yẹ ki o ṣubu ni ita oju-ọna ti ipilẹ rẹ ba tọ, ati nigbati ko ba ṣubu, ipa-ọna ti o kọ gbooro ju bi o ti ro. Kọ ohun ti ipilẹ yẹ ki o bo ṣaaju ki o to fi ọwọ kan eto ti o tẹle, nitori ipa-ọna ti a ṣe ayẹwo ati ọna ti o ṣiṣẹ wa ni awọn akiyesi lọtọ.