Mo fi net.ipv6.conf.all.forwarding=1 sori ẹnu-ọna Debian ki o le gbe traffic awon onibara VPN, ati ni bii idaji wakati lẹhinna ẹrọ naa ko ni ona ipile IPv6 kankan mọ. Router oke naa wa ni ipa, aladugbo link-local si tun n dahun, ati uplink si tun di adiresi agbaye rẹ mu. Ohun ti o ti duro ni ifẹ inu kernel lati tẹsiwaju gba router advertisements lori interface yẹn. Ona naa ko sonu nigba ti mo tẹ sysctl; o sonu nigba ti akoko igbesi aye ona ipile ti a ko lati RA pari ati pe ko si ohun ti o tun ṣe.

Ni iwo akọkọ ko si ohun ti o dabi ẹni ti o ti bajẹ. Gbigbe siwaju ṣiṣẹ, awon onibara si n kọja nigba ti ona atijọ wa ninu cache, ati ikuna naa de lẹhin iyipada ti o fa. Idaduro yẹn ni idi ti a fi n gbe ẹsun naa si oke tabi si ofin firewall kan ti ko kopa rara.

Ka tabili ona ki o to fi ọwọ kan sysctl eyikeyi

Bẹrẹ pẹlu ip -6 route show default ki o ka awon abuda, kii ṣe ẹnu-ọna nikan. Ona ipile ti a ko lati RA ni ami proto ra, o gbe ipinnu ati ṣafihan kika expires. Ona ti o fi ọwọ kun ko ni eyikeyi ninu awon meji, ati iyato yẹn sọ fun ọ iru ilana ti o ni ona naa.

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

Lẹhinna wo adiresi naa: ip -6 addr show dev eth0. Adiresi agbaye pẹlu igbesi aye ayanfẹ ati ti o wulo ti a fi wakati wọn yoo gbe ju ona ipile lọ ti a fi iṣẹju wọn igbesi aye router rẹ. Adiresi wa ṣugbọn ona ipile ko si, eyi ni ami iṣoro advertisement. Ti adiresi naa ko ba si, ọna asopọ, alaye prefix tabi wiwa adiresi ẹlẹmeji ni o gbọdọ wa ni akọkọ.

Idi ti gbigbe siwaju fi pa ilana RA

RA jẹ packet ICMPv6 iru 134, ti a fi ranṣẹ lati orisun link-local pẹlu opin fifo 255. Ki kernel to lo o, o yẹwo accept_ra interface naa. Iye ipile jẹ 1, ati 1 ko tumọ si bẹẹni. O tumọ si: gba nikan niwọn igba ti host yii ko gbe siwaju. Fi forwarding=1 ati ipo yẹn yoo kuna, nitorina a ju advertisement naa silẹ ki o to gbero eyikeyi prefix tabi router ipile ninu rẹ.

Awon iye mẹta wa, ati pe ikẹta nikan ni o ye gbigbe siwaju:

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

Awon asia meji miiran pinnu ohun ti a fi sori ẹrọ gangan. accept_ra_defrtr n ṣakoso boya router ipile ninu advertisement yoo di ona, ati accept_ra_pinfo n ṣakoso boya a lo alaye prefix fun siseto adiresi. Pipa accept_ra_defrtr ni ọna ti o wọpọ lati tọju awon adiresi SLAAC sori host ti n gbe siwaju lai ko ona ipile. O jẹ ọna miiran ju accept_ra, ati pe o ni ọna ti a lo nigba ti o fẹ adiresi ṣugbọn kii ṣe ona. Itọkasi kernel lori IP sysctl ṣe akojọ awon mẹta.

Jẹrisi pẹlu awon aṣẹ mẹta

Ni akọkọ, ka awon iye laaye dipo faili ti o ro pe o ti kojọpọ:

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

Ni ẹẹkeji, fi han pe awon advertisement si n de. Sisẹ nipasẹ baiti iru ICMPv6 to, ati pe o gba ọ laaye lati ka odi ti traffic wiwa aladugbo:

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

Ti ko ba si ohun ti o farahan ni iṣẹju pupọ, accept_ra kii ṣe iṣoro rẹ. Oke naa ti da advertisement duro, nkan kan loju ọna n ṣe àlẹmọ ICMPv6, tabi interface yẹn ko si ni segment ti o ro. Ni ẹẹkẹta, beere advertisement funrarẹ ki o ka awon aaye rẹ:

rdisc6 eth0

rdisc6 wa ninu package ndisc6 lori Debian ati Ubuntu. Ninu output, wo igbesi aye router ati ipinnu ki o to yi ohunkohun miiran pada. Advertisement pẹlu igbesi aye router 0 jẹ aṣẹ lati yọ router ipile kuro, ati pe ko si iye accept_ra ti yoo sọ ọ di ona ti o le lo. Ọna yii ni o tun fi mu CPE oke ninu ipo afara ti n pin awon prefix ṣugbọn ko funrararẹ ni olupin kankan.

Ṣe ki uplink jẹ interface nikan ti o gba laaye

Ti oke ba yẹ ki o jẹ router ipile, gba awon advertisement nibẹ laika gbigbe siwaju, ati nibikibi miiran:

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

Idiwoye yẹn ṣe pataki nitori gbigbe siwaju IPv6 lori Linux jẹ switch agbaye kan, kii ṣe ọkan fun ọna asopọ kọọkan. Kọ 1 sinu net.ipv6.conf.wg0.forwarding ki o si ka net.ipv6.conf.all.forwarding: iye agbaye yoo yipada ati gbogbo interface yoo bẹrẹ gbe siwaju. O ko le jẹ router lori tunnel ati host lasan lori LAN. Ohun ti o le fi opin si ni gbigba. Mu accept_ra=2 duro lori uplink ki o si fi awon interface tunnel ati LAN sile lori 1 tabi 0, ki advertisement ti o sọnu ti o de nipasẹ tunnel ko le fi ona ipile ti o tọka sinu rẹ sori ẹrọ.

sysctl -w igba diẹ kii yoo ye igbapada ti o tẹle, ati pe mejeeji systemd-networkd ati NetworkManager n kọ awon iye wọnyi lati inu iṣeto tiwọn. Ninu networkd, fi IPv6Forwarding=yes ati IPv6AcceptRA=yes sinu faili .network ti uplink; networkd ṣe apejuwe IPv6Forwarding bi agbaye fun idi kernel kanna. Pẹlu NetworkManager, ipv6.method=auto lori uplink ni o n dari iye accept_ra, nitorina ka sysctl lẹẹkansi lẹhin nmcli connection up dipo ki o gbẹkẹle ayẹwo akọkọ.

Ona miiran ti ko yipada, ip -6 route add default via fe80::1 dev eth0, ṣiṣẹ nitootọ, ati pe o jẹ idahun ti o tọ nigbati router oke ba ni adiresi link-local ti o duro ṣinṣin. Mọ ohun ti o fi silẹ ni kedere. Ona ipile ti ko yipada kii ṣe isọdọtun ati kii ṣe yiyọ kuro, nitorina o tẹsiwaju tọka si aladugbo ti o ku lẹhin ti a ti rọpo oke. Ona RA kuna ni aabo; eyi ti ko yipada kuna ni idakẹjẹ.

Dan packet ti a gbe siwaju, kii ṣe ti ẹnu-ọna funrararẹ

Ping ẹnu-ọna funrararẹ le ṣaṣeyọri lori ona ti ko si onibara ti o le lo, ati pe wọn le ṣaṣeyọri nitori ẹnu-ọna ni orisun. Dan lati ọdọ onibara ti o sopọ, lẹhinna beere ẹnu-ọna ohun ti yoo ṣe fun adiresi onibara yẹn:

# 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

Lẹhinna duro fun igbesi aye router kan ki o wo lẹẹkansi. Ipo idurosinsin ti o fẹ ni ona ipile pẹlu ami proto ra ti iye expires rẹ n tun pada nigbagbogbo, pẹlu all.forwarding=1. Ti expires ba n ka sọkalẹ nikan, awon advertisement si n ju silẹ nibikan, ati ẹni ti o jẹbi nigbagbogbo ni oluṣakoso nẹtiwọọki kan ti n kọ accept_ra lẹẹkansi lẹhin ti sysctl akoko igbapada ti ṣiṣẹ tẹlẹ.

Ki o to pa eyi mọ, jẹrisi ohun mẹrin: ona ipile jẹ proto ra ati pe o n sọdọtun, accept_ra=2 kan wulo fun uplink nikan, gbigbe siwaju tun jẹ 1 lẹhin igbapada ati lẹhin igbapada oluṣakoso, ati onibara, kii ṣe ẹnu-ọna, pari ping IPv6. Ti onibara ba tun kuna pẹlu ona ti o ni ilera, afurasi ti o tẹle ni ona ipadabọ tabi firewall oke, kii ṣe advertisement naa.

Àwọn àpilẹ̀kọ tó jọra