Na sa net.ipv6.conf.all.forwarding=1 a wata ƙofar Debian domin ta iya miƙa bayanan abokan ciniki na VPN, kuma bayan kusan rabin sa'a injin ɗin ba shi da wata hanyar IPv6 ta asali. Na'urar sadarwa ta sama tana aiki, maƙwabcin link-local yana amsawa, kuma uplink ɗin yana riƙe da adireshinsa na duniya. Abin da ya tsaya shi ne shirye-shiryen kernel ɗin ya ci gaba da karɓar router advertisements a wannan mahadar. Hanyar ba ta ɓace lokacin da na rubuta sysctl ba; ta ɓace lokacin da lokacin rayuwar hanyar asali da aka koya daga RA ya ƙare kuma babu abin da ya sabunta ta.

Da farko babu abin da ya bayyana a karye. Miƙa bayanai yana aiki, abokan ciniki suna wucewa yayin da tsohuwar hanyar ke cikin ajiya, kuma gazawar ta zo bayan canjin da ya haifar da ita. Wannan jinkiri ne ya sa ake ɗora laifin kan bangaren sama ko kan wata ƙa'idar Tacewar wuta da ba ta taɓa shiga ba.

Karanta teburin hanyoyi kafin ka taɓa kowane sysctl

Fara da ip -6 route show default ka karanta halayen, ba kawai ƙofar ba. Hanyar asali da aka koya daga RA tana da alama proto ra, tana ɗauke da fifiko kuma tana nuna ƙididdigar expires. Hanyar da ka ƙara da hannu ba ta da ko ɗaya, kuma wannan bambanci yana gaya maka wace hanya ce ta mallaki hanyar.

$ ip -6 route show default
default via fe80::1 dev eth0 proto ra metric 1024 expires 1432sec hoplimit 64 pref medium

Sannan ka dubi adireshin: ip -6 addr show dev eth0. Adireshin duniya mai fifikon rayuwa da ingantaccen lokacin rayuwa da aka auna cikin sa'o'i zai wuce hanyar asali wadda lokacin rayuwar na'urar sadarwa ake auna cikin mintuna. Adireshin yana nan amma hanyar asali babu, wannan ita ce alamar matsalar sanarwa. Idan adireshin ma babu, sai a fara bin diddigin mahaɗin, bayanin prefix ko gano adiresoshin da suka yi karo.

Me ya sa miƙa bayanai ke kashe aikin RA

RA fakiti ne na ICMPv6 nau'in 134, wanda ake aikawa daga tushen link-local da iyakar tsalle 255. Kafin kernel ɗin ya yi amfani da shi, yana duba accept_ra na mahadar. Ƙimar da aka saba ita ce 1, kuma 1 ba ya nufin i. Yana nufin: karɓa ne kawai muddin wannan na'ura ba ta miƙa bayanai. Ka sa forwarding=1 kuma wannan sharadi ya kasa, don haka ana watsi da sanarwar kafin a yi la'akari da kowane prefix ko na'urar sadarwa ta asali a cikinta.

Akwai ƙimomi uku, kuma na uku ne kawai ke tsira daga miƙa bayanai:

accept_raforwarding=0forwarding=1
0ignoredignored
1 (default)acceptedignored
2acceptedaccepted

Wasu tutoci biyu suna yanke shawarar abin da ake girka a zahiri. accept_ra_defrtr yana sarrafa ko na'urar sadarwa ta asali a cikin sanarwar za ta zama hanya, kuma accept_ra_pinfo yana sarrafa ko za a yi amfani da bayanin prefix don saitin adireshi. Kashe accept_ra_defrtr ita ce hanyar da aka saba don riƙe adiresoshin SLAAC a kan na'ura da ke miƙa bayanai ba tare da koyon hanyar asali ba. Wannan wata guduma ce daban da accept_ra, kuma ita ce ake amfani da ita lokacin da ake son adireshi amma ba hanyar ba. Bayanan kernel kan IP sysctl ya lissafa duka ukun.

Tabbatar da shi da umarni uku

Da farko, karanta ƙimomin da ke aiki maimakon fayil ɗin da kake tsammanin an loda:

sysctl net.ipv6.conf.eth0.forwarding net.ipv6.conf.all.forwarding \
       net.ipv6.conf.eth0.accept_ra net.ipv6.conf.eth0.accept_ra_defrtr

Na biyu, tabbatar da cewa sanarwar tana zuwa har yanzu. Tacewa bisa baitin nau'in ICMPv6 ya isa, kuma yana guje maka karanta bangon zirga-zirgar gano maƙwabta:

tcpdump -ni eth0 'icmp6 and ip6[40] == 134'

Idan babu abin da ya bayyana cikin mintuna da yawa, accept_ra ba matsalarka ba ce. Bangaren sama ya daina sanarwa, wani abu a hanya yana tace ICMPv6, ko wannan mahadar ba ta cikin sashen da kake tsammani. Na uku, nemi sanarwa da kanka ka karanta filayenta:

rdisc6 eth0

rdisc6 yana cikin fakitin ndisc6 a Debian da Ubuntu. A cikin fitarwa, dubi lokacin rayuwar na'urar sadarwa da fifiko kafin ka canza wani abu. Sanarwa mai lokacin rayuwar na'urar sadarwa 0 umarni ne na cire na'urar sadarwa ta asali, kuma babu wata ƙima ta accept_ra da za ta mai da ita hanyar da za a yi amfani da ita. Haka ma za ka kama CPE na sama a yanayin gada wanda ke raba prefix amma ba ya ba da kansa a matsayin na'urar sadarwa.

Mai da uplink mahadar da ta yarda ita kaɗai

Idan bangaren sama ya kamata ya zama na'urar sadarwa ta asali, karɓi sanarwa a can duk da miƙa bayanai, kuma ba a wani wuri ba:

# /etc/sysctl.d/60-ipv6-router.conf
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.eth0.accept_ra = 2
net.ipv6.conf.eth0.accept_ra_defrtr = 1

Iyakancewar tana da muhimmanci domin miƙa bayanai na IPv6 a Linux maɓalli ɗaya ne na duniya, ba ɗaya ga kowace hanyar haɗi ba. Rubuta 1 cikin net.ipv6.conf.wg0.forwarding sannan ka karanta net.ipv6.conf.all.forwarding: ƙimar duniya tana juyawa kuma kowace mahada tana fara miƙa bayanai. Ba za ka iya zama na'urar sadarwa a cikin rami kuma talakawan na'ura a LAN ba. Abin da za ka iya iyakancewa shi ne karɓa. Riƙe accept_ra=2 a uplink ka bar mahadar rami da LAN a kan 1 ko 0, domin sanarwar da ta ɓace da ta iso ta rami ba za ta iya girka hanyar asali da ke nuni cikinsa ba.

sysctl -w na wucin gadi ba zai tsira daga sake kunnawa na gaba ba, kuma duka systemd-networkd da NetworkManager suna rubuta waɗannan ƙimomin daga nasu tsarin. A networkd, sa IPv6Forwarding=yes da IPv6AcceptRA=yes a cikin fayil ɗin .network na uplink; networkd yana bayanin IPv6Forwarding a matsayin na duniya saboda wannan dalili na kernel. A NetworkManager, ipv6.method=auto a uplink shi ne ke jagorantar ƙimar accept_ra, don haka sake karanta sysctl bayan nmcli connection up maimakon amincewa da binciken farko.

Madadin da ba ya canzawa, ip -6 route add default via fe80::1 dev eth0, yana aiki da gaske, kuma amsa ce mai ma'ana idan na'urar sadarwa ta sama tana da tabbataccen adireshin link-local. Ka san abin da kake bari a fili. Hanyar asali da ba ta canzawa ba a sake sabunta ta kuma ba a janye ta, don haka tana ci gaba da nuni ga mataccen maƙwabci bayan an maye gurbin bangaren sama. Hanyar RA tana gazawa cikin aminci; wadda ba ta canzawa tana gazawa cikin shiru.

Gwada fakiti da aka miƙa, ba na ƙofar kanta ba

Ping na ƙofar kanta na iya yin nasara a kan hanyar da babu abokin ciniki da zai iya amfani da ita, kuma suna iya yin nasara saboda ƙofar ita ce tushen. Gwada daga abokin ciniki da ke haɗe, sannan ka tambayi ƙofar abin da za ta yi don adireshin wannan abokin ciniki:

# on the VPN client
ping -6 -c 3 2001:4860:4860::8888

# on the gateway, using a client address
ip -6 route get 2001:4860:4860::8888 from fd42:20::2

Sannan jira lokacin rayuwar na'urar sadarwa ɗaya ka sake dubawa. Yanayin kwanciyar hankali da kake so shi ne hanyar asali mai alamar proto ra wadda ƙimar expires ke sake saitawa koyaushe, da all.forwarding=1. Idan expires yana ƙididdigewa ne kawai, har yanzu ana watsi da sanarwar a wani wuri, kuma wanda aka saba zargi shi ne manajan cibiyar sadarwa da ke sake rubuta accept_ra bayan sysctl na lokacin kunnawa ya riga ya gudana.

Kafin ka rufe wannan, tabbatar da abubuwa huɗu: hanyar asali ita ce proto ra kuma tana sabuntawa, accept_ra=2 ya shafi uplink ne kawai, miƙa bayanai har yanzu 1 ne bayan sake kunnawa da bayan sake kunna manajan, kuma abokin ciniki ne, ba ƙofar ba, ke kammala ping na IPv6. Idan abokin ciniki har yanzu yana kasa da hanyar da ta dace, wanda ake zargi na gaba shi ne hanyar dawowa ko Tacewar wuta ta sama, ba sanarwar ba.

Labarai masu alaƙa