د iptables هغه کوربه چې یوازې VPN لري: د tun وسیله ونوموئ، نه tun+
tun+ په ماشین کې له هر تونل سره سمون خوري. یو د وسیلې نوم وټاکئ، د endpoint استثنا لومړی کېږدئ او د تګلارې د ازموینې پر مهال د بیا رغولو لار وساتئ.
-o tun+ لیکل دقیق لارښود ښکاري، خو په رښتیا دا یو ځای ناستی نښه ده چې د کرنل له هر تونل سره سمون خوري۔ دویم VPN کلاینت، د کانټینر پل یا د یوې نسکورې شوې ناستې پاتې انټرفیس ټول هغه پوره کوي، او بیا کوربه هغه ټرافیک پرېږدي چې تګلاره یې د مخنیوي لپاره لیکل شوې وه۔ لاندې بهیر یو د وسیلې نوم ټاکي، استثناوې داسې ترتیبوي چې تونل واقعاً جوړ شي، او که قواعد بد پرېوزي د بېرته تګ لار پرېږدي۔ هر ګام دومره لنډ دی چې یوازې یې بېرته واخلی شئ۔
1 ګام: هغه قواعد ولیکئ چې اوس یې لرئ
د تلواله تګلارې له بدلولو مخکې اوسنی حالت خوندي کړئ، تر څو بېرته تګ یو حکم وي نه یو یاد۔ iptables-save > /root/iptables.pre هره جدول په داسې فایل کې لیکي چې تاسو یې بیا رغولی شئ، او د root ناستې سره دویم ټرمینل هغه مهال چې ستاسو ټاکل شوې تګلاره هغه اړیکه پرې کوي چې دا یې وړي، بېځایه وېره نه ده۔ که له لارې کار کوئ، یو flush هم د بیړني سویچ په توګه مهالوین کړئ۔
بیا انټرفیسونه ولیکئ، ځکه هغه نوم چې تاسو یې فرض کړی هغه نوم دی چې باید لوستلی وای: ip -br link ښیي چې اوس څه شته، او تونل تر هغه پورته نه شي چې پورته شوی نه وي۔ د لوستلو پر مهال د وسیلو نومونه ولیکئ۔
2 ګام: تونل ته خپل نوم ورکړئ
OpenVPN په کلاینت ترتیباتو کې dev tun_work مني، او بیا Linux د tun0 د ځانګړي کولو پر ځای په همدې نوم انټرفیس جوړوي۔ تر هغه چې بل څه پرې دعوه ونه کړي، نوم د بیا نښلونو تر منځ ټینګ پاتې کېږي، او وسیله نوموونکی قاعده بامعنا کوي همدا۔
چېرې چې نوم کنټرول نه شي، د تونل پتې یا د پاکټ نښې سره سمون خورئ۔ دواړه کار کوي، دواړه لوستل ستونزمن دي، او کله چې تونل بیا شمېرل شي دواړه ډېر خاموش ناکامېږي۔ په هر حال، له یو شي سره سمون خورئ او روښانه کړئ چې کوم۔
3 ګام: تګلاره د endpoint استثنا سره لومړی ولیکئ
یوازې VPN لرونکی کوربه د لنډې استثنا لړلیک سره تلواله-رد کوربه دی، او تر ټولو مهمه استثنا هغه ده چې تونل ته د شتون اجازه ورکوي۔ دا په همدې ترتیب جوړ کړئ، د تونل-وسیلې له قاعدې مخکې د endpoint قاعده، تر څو لاس ورکول یو ځای ولري چې ولاړ شي:
# allow the tunnel to be built, then everything the tunnel carries
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d 198.51.100.7 -p udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -o tun_work -j ACCEPT
iptables -A INPUT -i tun_work -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTد endpoint ریښتینی پته او پورټ ستاسو د برابرونکي دي، د دې پاڼې نه۔ که endpoint د کوربه نوم وي، یو ځل یې حل کړئ او پایله ټینګه کړئ، ځکه قاعده نوم نه شي لټولی او څرخېدونکی ځواب به د بل DNS بدلون وروسته تګلاره خاموشه مات کړي۔ پورټ هم وګورئ، ځکه هغه برابرونکي چې تاسو TCP 443 ته لېږدوي بل ډول به هغه قاعده غواړي چې چا نه ده لیکلې۔ یوازې په یو پروتوکول کار کوونکی تونل معمولاً همدا پاتې کېدنه ده، نه د فایر وال خرابي۔
په روټر کې همدا بڼه د هغه شاته کلاینتونو لپاره FORWARD ځنځیر ته ځي، او د روټر خپل ټرافیک خپل قواعد غواړي۔ هغه قواعد چې یوازې لېږدول شوي پاکټونه پوښي SSH او DNS په زاړه لار پرېږدي، او روټر د تونل د پورته کېدو په هماغه شیبه نارسېدونکی کېږي، همدا لامل دی۔
4 ګام: نه یوازې شتون، بلکې ترتیب وګورئ
قواعد په ترتیب ارزول کېږي، نو هغه ACCEPT چې لومړی راځي یوازې هغه REJECT پټوي چې وروسته مو ورزیات کړی۔ د established او related سمون هغه څه دی چې ستاسو خپلو وتونکو غوښتنو ته ځوابونه بېرته راولي پرته له دې چې عمومي ننوتلنې لار پرانیزي، او د تونل له منلو وروسته یې ځای پرځای کول مانا دا ده چې لوېدلی تونل لا هم په خپل انټرفیس بېرته راتلونکی ټرافیک تېروي۔
د قواعدو شمېر دومره لږ وساتئ چې په یو سکرین لوستل شي۔ هغه قواعد چې تاسو یې پلټنه نه شی کولی هماغه دي چې په سر کې استثناوې ورزیاتې کړئ، او تلواله-رد تګلارې په همدې توګه په تدریجي ډول د تلواله-اجازې څنډه ترلاسه کوي۔ د بدلون مخکې او وروسته ACCEPT وشمېرئ۔
5 ګام: دې ته د بوټ او د پتې کورنۍ دواړو برداشت ورکړئ
په لاس ورکړل شوي قواعد د بیا پیل پر مهال ورکېږي، نو د وېش د فایر وال خدمت یا هغه unit څخه یې بار کړئ چې د تونل انټرفیس له شتون وروسته چلېږي۔ د OpenVPN له پیل مخکې چلېدونکي سکریپټ کې tun_work ته اشاره کول د لوېدلي ټرافیک د بوټ لوپ جوړولو عامه لار ده۔
بیا IPv6 جلا وګورئ، ځکه د IPv4 لپاره ښه تلواله-رد تګلاره د بلې کورنۍ په اړه څه نه وایي۔ ip -6 route به تاسو ته ووایي چې کوربه داسې لار لري چې کولی شي ټرافیک یوازې IPv4 سمبالونکي تونل شاوخوا ويوړي، او ip6tables یا nftables خپلې معادلې قواعد غواړي۔ د قواعدو د مجموعې همغږۍ ته د باور پر ځای د IPv6-only منزل سره ازموینه وکړئ۔
6 ګام: تایید کړئ او د بیا رغولو لپاره چمتو اوسئ
تونل پورته کړئ، تایید کړئ چې ستاسو غوښتل شوې خدمت کار کوي، بیا داسې څه وازموئ چې تګلاره یې باید رد کړي۔ که ځواب تاسو حیران کړي، iptables-restore < /root/iptables.pre سره بیا رغ کړئ، او یوازې له هغه وروسته قواعد سمول پیل کړئ۔ دوام او ازمویل شوې بیا رغونې لاره همدا دواړه دا د داسې بدلون جوړوي چې دوه ځله یې کولی شئ۔