ما net.ipv6.conf.all.forwarding=1 پر یوه Debian دروازه کیښود تر څو د VPN پیرودونکو ترافیک لیږدولی شي، او نږدې نیم ساعت وروسته ماشین هیڅ د IPv6 ډیفالټ لاره نه درلوده۔ پورتنۍ راؤټر فعال و، link-local ګاونډی لا هم ځواب وایه، او uplink لا هم خپل نړیوال پته ساتله۔ هغه څه چې ودرېدل د کرنل هغه چمتووالی و چې په هغه انټرفیس کې د راؤټر اعلاناتو منل جاري وساتي۔ لاره هغه مه ورکه نه شوه چې ما sysctl ولیکه؛ هغه مه ورکه شوه چې د RA څخه زده شوې ډیفالټ لارې عمر پای ته ورسېد او هیچا یې تازه نه کړه۔

په لومړي نظر هیچا خرابه نه ښکارېده۔ لیږد کار کاوه، پیرودونکي تر هغه وخته تېرېدل چې زړه لاره په کیش کې وه، او نیمګړتیا د هغه بدلون څخه وروسته راغله چې لامل یې شوی و۔ همدا ځنډ لامل دی چې دا تور پر پورتنۍ خوا یا پر یوه د اور دېوال قاعده اچول کېږي چې هیڅکله کې ښکېل نه وه۔

د لارو جدول ولولئ مخکې له دې چې هر sysctl ته لاس ووهئ

له ip -6 route show default سره پیل کړئ او ځانګړنې ولولئ، نه یوازې دروازه۔ د RA څخه زده شوې ډیفالټ لاره د proto ra په نښه شوې ده، غوراوي لري او د expires شمېرنه ښیي۔ هغه لاره چې په لاس مو ورزیاته کړې، هغه دواړه نه لري، او دا توپیر درته وایي چې کوم میکانیزم د لارې خاوند دی۔

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

بیا پته وګورئ: ip -6 addr show dev eth0۔ نړیواله پته چې غوره او معتبر عمرونه یې په ساعتونو اندازه کېږي، له هغې ډیفالټ لارې به ژوندی پاتې شي چې د راؤټر عمر یې په دقیقو اندازه کېږي۔ پته شته او ډیفالټ لاره نه شته، دا د اعلاناتو د ستونزې نښه ده۔ که پته هم نه وي، لومړی باید تړاو، د پریفکس معلومات یا د تکراري پتو موندنه تعقیب شي۔

ولې لیږد د RA پروسس بندوي

RA د ICMPv6 د 134 ډول بسته ده چې له link-local سرچینې څخه د 255 د ټوپ حد سره لېږل کېږي۔ مخکې له دې چې کرنل ترې کار واخلي، د انټرفیس accept_ra ګوري۔ ډیفالټ ارزښت 1 دی، او 1 د «هو» مانا نه لري۔ مانا یې دا ده: یوازې تر هغه وخته ومنه چې دا کوربه لیږد نه کوي۔ forwarding=1 وټاکئ او هغه شرط نه پوره کېږي، نو اعلان له دې مخکې غورځول کېږي چې په هغه کې هر پریفکس یا ډیفالټ راؤټر وڅېړل شي۔

درې ارزښتونه شته، او یوازې دریم یې له لیږد څخه ژغورل کېږي:

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

دوه نورې بیرغې پرېکړه کوي چې په رښتیا څه نصب شي۔ accept_ra_defrtr کنټرولوي چې په اعلان کې ډیفالټ راؤټر لاره کېږي که نه، او accept_ra_pinfo کنټرولوي چې د پریفکس معلومات د پت د ترتیب لپاره کارول کېږي که نه۔ accept_ra_defrtr بندول هغه معمول لاره ده چې SLAAC پتې په لیږدونکي کوربه کې وساتل شي پرته له دې چې ډیفالټ لاره زده شي۔ دا له accept_ra څخه بېله اهرګۍ ده، او هغه مه کارول کېږي چې پتې غواړئ خو لاره نه۔ د کرنل د IP sysctl حواله درې واړه لیست کوي۔

دا په درې حکمونو تایید کړئ

لومړی، ژوندي ارزښتونه ولولئ پرځای د هغه فایل چې فکر کوئ بار شوی دی:

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

دوهم، ثابته کړئ چې اعلانات لا هم رارسېږي۔ د ICMPv6 د ډول بایټ له مخې فلټر کول بس دي، او تاسو د ګاونډیو د موندنې د ترافیک له دېوال لوستلو ژغوري:

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

که څو دقیقې هېڅ شی راښکاره نه شو، accept_ra ستاسو ستونزه نه ده۔ پورتنی لوري اعلانول ودروېدل، په لاره کې یو څه ICMPv6 فلټروي، یا هغه انټرفیس په رښتیا هغه برخه کې نه دی چې تاسو فکر کوئ۔ دریم، پخپله یو اعلان وغواړئ او د هغه ساحې ولولئ:

rdisc6 eth0

rdisc6 په Debian او Ubuntu کې د ndisc6 په بنډل کې راځي۔ په پایله کې، د راؤټر عمر او غوراوي وګورئ مخکې له دې چې بل څه بدل کړئ۔ هغه اعلان چې د راؤټر عمر یې 0 وي، د ډیفالټ راؤټر د لرې کولو حکم دی، او هېڅ accept_ra ارزښت هغه د کارېدونکې لارې په توګه نه جوړوي۔ په دې توګه پورتنۍ CPE په پل حالت کې هم نیسئ چې پریفکسونه ویشي خو خپل ځان هیڅکله راؤټر نه معرفي کوي۔

uplink یوازینی اجازه ورکوونکی انټرفیس کړئ

که پورتنۍ خوا باید ډیفالټ راؤټر وي، هلته اعلانات ومنئ سره له دې چې لیږد فعال دی، او بل چېرې نه:

# /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

د حد ټاکل مهم دي ځکه چې په لینکس کې د IPv6 لیږد یو نړیوال سویچ دی، نه یو د هر تړاو لپاره۔ net.ipv6.conf.wg0.forwarding کې 1 ولیکئ او بیا net.ipv6.conf.all.forwarding ولولئ: نړیوال ارزښت اوړي او هر انټرفیس لیږل پیلوي۔ تاسو نشئ کولی په تونل کې راؤټر او په LAN کې عادي کوربه یاست۔ هغه څه چې محدودولی شئ، منل دي۔ accept_ra=2 په uplink کې وساتئ او د تونل او LAN انټرفیسونه پر 1 یا 0 پرېږدئ، تر څو د تونل له لارې راغلی ورک اعلان ونه شي کولی د هغه په لور د ډیفالټ لاره نصب کړي۔

لنډمهاله sysctl -w به بل پیل ته ونه رسېږي، او هم systemd-networkd او هم NetworkManager دا ارزښتونه له خپل ترتیباتو څخه لیکي۔ په networkd کې IPv6Forwarding=yes او IPv6AcceptRA=yes د uplink د .network په فایل کې وټاکئ؛ networkd د IPv6Forwarding د کرنل د همدې لامل له مخې نړیوال بولي۔ په NetworkManager کې، پر uplink ipv6.method=auto هغه دی چې د accept_ra ارزښت تګلارې کوي، نو له nmcli connection up وروسته sysctl بیا ولولئ پرځای دې چې پر لومړنۍ څېړنه باور وکړئ۔

ساکنه بدیله، ip -6 route add default via fe80::1 dev eth0، په رښتیا کار کوي، او معقوله ځواب دی کله چې پورتنۍ راؤټر ثابته link-local پته ولري۔ روښانه وي چې له څه تېرېږئ۔ ساکنه ډیفالټ لاره هېڅکله تازه نه کېږي او هېڅکله نه بېرته اخیستل کېږي، نو د پورتني لوري له بدلون وروسته هم مړ ګاونډي ته اشاره کوي۔ د RA لاره په خوندي توګه ناکامېږي؛ ساکنه په غلې توګه ناکامېږي۔

هغه بسته وازموئ چې لیږد شوې ده، نه د دروازې خپله بسته

د دروازې خپل ping ممکن په هغه لاره بریالي شي چې هېڅ پیرودونکی یې نه شي کارولی، او ممکن هم بریالي شي ځکه چې دروازه سرچینه ده۔ له یوه نښلول شوي پیرودونکي وازموئ، بیا له دروازې وپوښتئ چې د هغه پیرودونکي د پت لپاره به څه وکړي:

# 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

بیا د یوه راؤټر عمر انتظار وکړئ او بیا وګورئ۔ هغه ثابته حالت چې غواړئ، د proto ra په نښه شوې ډیفالټ لاره ده چې د expires ارزښت یې تل بیا تنظیمېږي، او all.forwarding=1۔ که expires یوازې شمېرنه کوي، اعلانات لا هم چېرې غورځول کېږي، او معمول مجرم هغه د شبکې مدیر دی چې accept_ra بیا لیکي وروسته له دې چې د پیل پر مهال sysctl لا دمخه اجرا شوی وي۔

مخکې له دې چې دا وتړئ، څلور شیان تایید کړئ: ډیفالټ لاره proto ra ده او تازه کېږي، accept_ra=2 یوازې uplink ته اړه لري، لیږد له بیا پیل وروسته او د مدیر له بیا پیل وروسته لا هم 1 دی، او پیرودونکی نه دروازه د IPv6 ping بشپړوي۔ که پیرودونکی په سمه لاره سره لا هم ناکامېږي، بل مشکوک د بېرته راستنېدو لاره یا پورتنۍ د اور دېوال دی، نه اعلان۔

اړوندې مقالې