لاس ورکول بشپړیږي، wg show د وروستي لېږد راپور ورکوي، او د سرور د ټونل پته پینګ ته ځواب ورکوي۔ خو د سرور په LAN کې یو کوربه ځواب نه ورکوي۔ درې شرطونه باید یوځای پوره شي: کلاینټ باید د LAN مخکښ ټونل ته وګرځوي، سرور باید پاکټونه ولېږدوي، او ځواب ته د بېرته راتلو لاره ورته ده۔ کله چې له دریو یو ورک شي، نښه ورته ده۔

AllowedIPs هم د لاسرسي لیست دی او هم د لارښوونې جدول

په کلاینټ کې، AllowedIPs لیست هم ټاکي چې هغه همکار ته څه لېږل کېدای شي او هم دا چې WireGuard کومې لارې نصبوي۔ هغه همکار ثبت چې یوازې د سرور د ټونل پته لیستوي یوازې یوه کوربه لاره نصبوي، نو د LAN منزلونه هېڅکله ټونل ته نه ننوځي۔ د LAN مخکښ زیاتول لومړنی شی دی چې باید وګورل شي، او هغه بدلون هم دا دی چې د کاپي شوې ترتیب وروسته ډېری وخت ورک وي۔ هغه همکار چې تر ډیفالټ لارې پورې پراخ شوی بل ډیزاین دی، او د کلاینټ انټرنیټ ترافیک به هم وخوځوي۔

د کوربه لاره او د LAN مخکښ د جلا ثبتونو په توګه وساتئ۔ که دفتر دوه فرعي شبکې ولري، دواړه په لیست کې راځي، او ورک دوهم مخکښ داسې ناکامي جوړوي چې بشپړه نه، بلکې ټاکل شوې ښکاري۔

[Peer]
PublicKey = <server public key>
Endpoint = vpn.example.net:51820
AllowedIPs = 10.66.0.1/32, 192.168.50.0/24

لېږد او ژباړه باید په سرور وي

سرور ته د IP لېږد فعال، هغه د لېږد قاعده چې له ټونله راتلونکی ترافیک مني، او د خپل LAN انټرفیس په لور د ژباړې قاعده ورته ده۔ همدا ژباړه ده چې ډیزاین د دفتر د شبکې هر کوربه ته د لاس نه وروړلو سره کاروي۔ بیا ځوابونه سرور ته راستنېږي نه هغې پتې ته چې LAN هېڅکله نه ده اورېدلې۔ پرته له دې، هر کوربه ته د ټونل فرعي شبکې لپاره لاره او هغه د اور وژنې قاعده چې اجازه ورکوي ورته ده، چې د بل چا په اداره شوې شبکه کې کم د منلو وړ ده۔

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

په لاس زیات شوې قاعدې د بیا پیل په وخت ورکېږي، نو د سرور ترتیب کې د hook کمانډونو سره یې انټرفیس ته وتړئ۔ هغه قاعده ټولګه چې د خپل انټرفیس څخه زیات ژوند کوي، هماغه لاره ده چې ماشین د هغې ټونل لپاره ترافیک ژباړي چې نور نشته۔

کله چې LAN وخوځېد او قاعده ونه خوځېده

هغه روټر بدلول چې د دفتر فرعي شبکه بیا شمېري د دې ناکامۍ کلاسیکه بڼه ده۔ ټونل فعال پاتې کېږي، لاس ورکول تازه پاتې کېږي، او د سرور شاته هیڅ ځواب نه ورکوي، ځکه چې د ژباړې قاعده لا هم زاړه پته نوموي۔ نصب کوونکي سکریپټونه ډېری وخت د سرور LAN پته د POSTROUTING قاعدې کې اچوي، او د بیا شمېرنې وروسته هغه پته په هیڅ انټرفیس کې نه وي۔ بیا پاکټونه هغې منزل ته بیا لیکل کېږي چې ځواب نه شي ورکولای۔

iptables -t nat -n -L POSTROUTING
ip -br addr show

دواړه پایلې پرتله کړئ۔ هغه د ژباړې هدف چې د انټرفیسونو په لیست کې نه ښکاري هماغه ستونزه ده، او د هغې سمول یوه کرښه بدلون دی کله چې یو ځل یې وګورئ۔ قاعده کېدای شي په جوړ شوي unit کې وي نه د WireGuard په ترتیب کې، نو د سمون وروسته هغه unit بیا بار کړئ او ډاډ ترلاسه کړئ چې راتلونکی پیل ستاسو بدلون بیا نه لیکي۔

د NAT شاته دوه سایټونه اړتیا لري چې یو ځای سره وویني

کله چې هیڅ لوری دننه راتلونکي اړیکې نه مني، عملي ځواب د عامې پتې او دوه WireGuard انټرفیسونو سره یو کوچنی کوربه دی۔ هر سایټ بهر ته نښلوي، منځنی کوربه د هر همکار LAN په خپل AllowedIPs، یعنې خپل لیست کې، لیستوي، او لېږد پاکټونه د دواړو ټونلونو ترمنځ وړي۔ د هیچا سایټ په اور وژنه کې هیڅ بدلولو ته اړتیا نشته، ځکه چې دا ډیزاین په اسانه خپرېږي۔

د سایټونو ترمنځ لارښوونه اصلي سرچینې پتې ساتي او نو د هر کوربه ثبت بامعنا ساتي۔ په منځني کوربه کې ژباړه هغه وخت ساده ده چې دواړه LAN یو پر بل پوښ شي، خو په ثبتونو کې د سرچینې هویت له لاسه ورکولو بیه۔ مخکې له دې چې غوره کړئ پریکړه وکړئ کومه ځانګړنه مهمه ده۔

طبقې په څلورو ګوتو وویشئ

د دریو شیانو د بدلولو او هیله کولو پرځای هرې طبقې لپاره یوه څېړنه وکړئ۔ لومړی د هر همکار لپاره د لاس ورکولو عمر او شمېرې ښیي۔ دوهم ښیي چې کلاینټ هغه منزل واقعاً ټونل ته ګرځوي که نه۔ دریم او څلورم وایي چې غوښتنه ورسېده که نه او ورسېدو وروسته کومې تګلارې هغه وغورځوله که نه۔

wg show
ip route get 192.168.50.20
tcpdump -ni wg0 icmp
iptables -vnL FORWARD --line-numbers

هغه غوښتنه چې رسېږي خو هیڅ ځواب نه راوړي د ځواب لارې یا د LAN کوربه ته اشاره کوي۔ هغه غوښتنه چې هېڅکله نه رسېږي AllowedIPs یا د کلاینټ لارې ته اشاره کوي۔ دا دوه پایلې جلا سمونونه غواړي، او نیول هماغه شی دی چې دواړه جلا کوي۔

اړوندې مقالې