iptables: VPN کلاینټونه یوازې یو کوربه ته ورسوئ
هغه قاعده چې تاسو ته ورته اړینه ده په FORWARD کې ده، په INPUT کې نه۔ د VPN پول لپاره یوه منزل اجازه کړئ، پاتې رد کړئ، بیا یې د کاونټرونو او د بیرته راګرځولو امر سره ثابت کړئ۔
دوه د ملاتړ ټیکټونه چې بې تړاوه ښکاري په پای کې یو شان لامل لري۔ په لومړي کې، مدیر غواړي چې سرور یوازې د تونل څخه اړیکې ومني؛ په دویم کې، VPN کاروونکي باید یو داخلي کوربه ته ورسېږي او نه زیات۔ دواړه پالیسۍ په FORWARD کې دي، او دواړه معمولاً په INPUT کې هڅه کیږي۔ پایله د اورې دېوال په څېر ښکاري او د ځای نیونکي په څېر چلند کوي۔
کومه لړۍ ستاسو پوښتنې ته ځواب ورکوي
هغه پاکټونه چې VPN کلاینټ یې LAN کوربه ته یا بلې خوا ته انټرنېټ ته لیږي، کرنل یې مخته وړي او په FORWARD کې ارزول کیږي۔ INPUT او OUTPUT یوازې هغه ټرافیک ویني چې په سرور کې پای ته رسېږي یا له هغه پیل کیږي۔ نو ځکه هغه څه ردول چې tun0 ته نه راځي د سرور خپلو اورېدونکو ته ساتنه کوي، او که تاسیس شوي بهیرونه لومړی اجازه نه شي، ستاسو SSH ناسته هم پای ته رسوي۔ دا په دې اړه چې کلاینټونه چېرته تلای شي هیڅ نه بدلوي۔
لومړی پوښتنې ته نوم ورکړئ: څوک سرور ته رسېدلی شي، یا کلاینټونه چېرته تلای شي۔ ډېری شبکې دواړو ځوابونو ته اړتیا لري، په بېلو لړیو کې۔
لومړی حالت، بیا اجازه، بیا رد
د اجازې لیست یوازې هغه وخت کار کوي چې ځانګړې اجازه د عمومي رد څخه پورته وي او د بیرته راستنېدو ټرافیک د دواړو څخه پورته اجازه شي۔ قواعد په ښکاره ځایونو کې دننه کړئ، بیا د iptables -S FORWARD سره لړۍ چاپ کړئ تر څو ترتیب فرض نه، بلکې ښکاره وي۔
POOL=10.99.0.0/24
iptables -I FORWARD 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 2 -s "$POOL" -d 172.31.20.15 -p tcp -m multiport --dports 443,3389 -j ACCEPT
iptables -I FORWARD 3 -s "$POOL" -j REJECTدوه تفصیلات پرېکړه کوي چې ایا دا به د ریښتیني ټرافیک سره په مخامخ کېدو کې ټینګ پاتې شي۔ د حالت د قاعدې پرته، هغو اړیکو ته ځوابونه چې همدا اوس اجازه ورکړل شوه، پخپله د رد پر وړاندې ارزول کیږي او غورځول کیږي۔ بې حد LOG قاعده کېدای شي لومړي سکن کې کوچنی برخه ډکه کړي، نو د ثبتولو دمخه -m limit --limit 10/min اضافه کړئ۔ REJECT سمدلاسه تېروتنه بیرته ورکوي، چې د لیست د سمون پر مهال ډېر ملګري دی؛ DROP په خاموشۍ غورځوي، نو هره تېروتنه د وخت پای ته رسېدو په څېر ښکاري۔ یو په قصد سره وټاکئ او انتخاب په بدلون ثبت کې ولیکئ۔
لېږدول او NAT باید لا دمخه کار وکړي
فلټر کول نشي ثابتولی چې لار شته۔ لومړی تایید کړئ چې کرنل په بشپړه توګه لېږدوي، او دا تنظیم د شیل یو ځلي امر نه، بلکې تلپاتې کړئ۔ فلټر وروستۍ طبقه ده، نه لومړۍ۔
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s "$POOL" -o eth0 -j MASQUERADEچې ماسکریډ چېرته ځای لري په دې پورې اړه لري چې کلاینټونه له کومه وځي۔ که دوی د تونل له لارې لیرې شبکې ته وځي، NAT قاعده په هغه انټرفېس کې ځای پرځای کیږي نه په WAN انټرفېس۔ بیا کاونټرونه وګورئ: که POSTROUTING کاونټر هېڅکله ونه خوځي پداسې حال کې چې په FORWARD کې د اجازو شمېر زیاتیږي، د بیرته راستنېدو لار ماتېده او فلټر سم دی۔ دا لوستل د هغو قواعدو د بیا لیکلو یوه ماسپخین خوندي کوي چې هېڅکله ستونزه نه وه۔
د برېښنالیک بلاک یوه لړۍ بلې خواته دی
په INPUT کې د 25 پورټ بندول یوازې هغه برېښنالیک دروي چې VPN سرور ته استول شوی وي۔ هغه زیانمن شوی کلاینټ چې د تونل له لارې برېښنالیک لیږي مخته وړل کیږي، نو بلاک باید په FORWARD کې د 465 او 587 ترڅنګ وي۔ که یو اپلیکیشن په قانوني ډول برېښنالیک ریلې کوي، د هغه منزل او پورټ دې قاعدې ته پورته کېږدئ۔
iptables -I FORWARD 2 -s "$POOL" -p tcp -m multiport --dports 25,465,587 -j REJECTد نورو شیانو د سختولو دمخه د رد کاونټر یوه اونۍ پریږدئ۔ هغه شمېره چې ختل بندوي همغه قانوني بهیر دی چې تاسو همدا اوس مات کړ۔
دا بیرته ولولئ، بیا یې له کلاینټ څخه ثابت کړئ
د قواعدو ټولګه هغسې ولولئ لکه کرنل چې راپور ورکوي، نه هغسې لکه ستاسو سکریپټ ولیکل۔ د iptables -S FORWARD سره پیل وکړئ، بیا د iptables -t nat -L POSTROUTING -n -v سره NAT جدول، بیا د هغه بهیر conntrack ننوتنه چې تاسو یې ګورئ۔ تر هغه چې کار دوام لري د بیرته راګرځولو امر یا ټاکل شوی پاکول وساتئ۔ هرې غوښتنې -w ته اړتیا لري، که نه دوه مدیران د xtables په قفل کې ټکر کیږي۔ د بدلون په کړکۍ کې له دې هېڅ یو هم اختیاري نه دی۔
د پول دننه یو کلاینټ او د هغه بهر یو کلاینټ څخه ازموینه وکړئ او پای ته یې ورسوئ۔ هغه قاعده چې یوازې له هغې ماشین څخه کار کوي چې تاسو پرې ټایپ کړې، پالیسي نه ده۔