یو NAT قاعده چې باید یوې VPN کلايټ ډلې ته خپله عمومي پته ورکړې وای، په صفر پاکټونو ولاړه ده، په داسې حال کې چې هماغه ډله لا هم په غلط سرچینه وځي. قاعده معمولاً په پته کې تېروتنه نه کوي؛ په انټرفېس کې تېروتنه کوي. -o eth0:0 داسې وسيلې ته اشاره کوي چې شتون نه لري، ځکه eth0:0 په پته باندې نښلول شوی لیبل دی، او د هغې پتې وسیله eth0 ده. شمېرونکو ته کتل د دې تصدیق لپاره تر ټولو ګړندۍ لار ده، او سمون له څېړنې کم دی.

وګورئ چې کرنل وسيله څه بولي

له هر څه بدلولو دمخه دواړه لیدونه بېل ولولئ:

ip link show
ip address show dev eth0
ip route get 203.0.113.20

د لینکونو لیست انټرفېسونه ښيي. د پتو لیست کېدای شي دوهم IPv4 پته وښيي چې لیبل لري eth0:0, او د هغې پتې وسیله لا هم eth0 ده. د iproute2 د پتو لارښود لیبل د پتې نوم ګڼي، نه دوهم لینک، او ټوله ستونزه پر همدې توپیر ولاړه ده.

تاریخ ګډوډي تشریح کوي. زاړه ifconfig eth0:0 سینټکس واقعاً د نوي انټرفېس په څېر ښکارېده، او د هغه وخت سکریپټونه لا هم یو ته اشاره کوي. په ننني سیستم کې الیاس په پته باندې لیبل دی، او په روټینګ یا netfilter لار کې هېڅ شی هغه بېل وتلونکی ټکی نه ګڼي.

وګورئ چې قاعده واقعاً له کوم شي سره سمه شوه

شمېرونکي له یادښت نه نه، د قاعدو لیست سره یوځای ولولئ:

iptables -t nat -L POSTROUTING -v -n --line-numbers

هغه قاعده چې د پاکټ شمېرونکی یې صفر ته ولاړ وي او سمونکوونکی ترافیک بهیږي، ارزول نه کیږي، او د وتلو انټرفېس هغه شرط چې نوموي eth0:0 عام لامل دی. د روټ غوره کړې وتلونکې وسیله eth0, نو د بل نوم پلټونکی شرط هېڅکله رښتینی نه کیږي، که کرنل کومه سرچینه پته غوره کړې وي.

شرط پر اصلي وسیله بدل کړئ او لیبل ترې بهر پرېږدئ. که اړتیا لرئ دوه کلايټ ډلې چې هغه وسیله شریکوي بېلې کړئ، د سرچینې مختاړي له مخې یې بېلې کړئ، نه د انټرفېس هغه نوم له مخې چې شتون نه شي لرلی. نه-اویړېدونکي -s سمونونه لرونکې دوه قاعدې لوستل او ازمویل کېدای شي؛ تصوري وسيله لرونکې یوه قاعده دواړه نه ده. هرې قاعدې ته د ډلې نوم یادونکی تبصره ورکړئ، ځکه شپږ میاشتې وروسته به یوازې مختاړی چا ته ونه وایي چې هغه ولې هلته ده.

هغه روټ وګورئ چې وسیله یې غوره کړه

Postrouting NAT هغه وخت چلیږي چې روټ لا دمخه وتلونکی انټرفېس غوره کړی وي، نو په قاعده کې انټرفېس باید هغه وي چې روټ غوره کړی. کرنل له مستقیم څخه وپوښتئ ip route get سره د یوې استازې کلايټ پتې لپاره، او هم وسیله او هم هغه سرچینه ولولئ چې راپور یې ورکوي.

که ځواب eth0 ونوموي، د قاعدې انټرفېس برخه هواره ده. که تونل وسیله ونوموي، پاکټ هغې قاعدې ته چې تاسو یې سمول کوئ هېڅکله نه رسيږي، او پلټنه د روټینګ جدول او د هغې لومړیتوبونو ته ځي. هغه قاعده چې هېڅکله سمه نه شي ځکه پاکټ بل ځای ته وتلی، په شمېرونکو کې د غلط لیکل شوي وسيلې لرونکې قاعدې په څېر ښکاري. له هر څه سمولو دمخه تایید کړئ چې له دواړو کومه حالت لرئ، ځکه دوهمه متن نه، روټینګ بدلون غواړي.

ژباړل شوې سرچینه په قصدي توګه وټاکئ

کله چې وسیله سمه وي، سرچینه پته بېله پرېکړه ده. دا یوازې یوه بېلګه IPv4 ډله او بېلګه پته ده:

iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 \
  -j SNAT --to-source 203.0.113.20

پته په --to-source کې لیکل چا ته نه وایي چې هغه بېرته تاسو ته روټ کړي. پورتنۍ برابرونکی یا د پتې مالک باید د هغې پتې ځوابونه دې کوربه ته ورسوي، او پته باید هغه وي چې تاسو یې د کارولو اجازه لرئ. که نه وي، قاعده سمه کیږي او ژباړي او ځوابونه بیا هم بل ځای ته ځي.

سرچینه پته بدلول د پورتنۍ اړیکې بدلولو سره یو شی نه دی. کله چې اصلي اړتیا بله فزیکي لار وي، د روټینګ تګلاره باید لومړی هغه لار غوره کړي؛ بیا SNAT په هغې وسيلې باندې چې تګلارې غوره کړې سرچینه بیا لیکي. نور لیبلونه eth0 زیاتول نه لار درکوي نه اجازه.

په همدې توګه د یوه نوي خلاص شوي اړیکې سره تصدیق کړئ

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

د یو انټرفېس شریکولو ډېرو ډلو لپاره هرې یوې ته روښانه سرچینه سمون او خپله ژباړه پته ورکړئ، هغه د فایر وال په مدیریت شوې ترتیباتو کې وساتئ او هغه ترتیب ولیکئ چې په کې ارزول کیږي. بیا ولیکئ چې څه مو تصدیق کړل: ip route get څخه وسیله، هغه شمېرونکی چې وخوځېده، او هغه سرچینه چې لرې اړخ لیدلې وه. هغه ثبت بېلابېل راپور ته د لیبل ګډوډي پرته ځواب ورکوي.

اړوندې مقالې