डेवलपर के लिए Linux नेटवर्किंग और TCP/IP · पाठ

उन्नत फ़ायरवॉल नियम (nftables)

अधिक लचीले और शक्तिशाली पैकेट फ़िल्टरिंग तथा नेटवर्क पता रूपांतरण के लिए `iptables` से आगे बढ़कर `nftables` का उपयोग करें।

पाठ 1, कुल 4 में से11 चरण

उन्नत फ़ायरवॉल नियम (nftables), CoddyKit पर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह डेवलपर के लिए Linux नेटवर्किंग और TCP/IP सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

nftables से परिचय: आधुनिक फ़ायरवॉल

nftables Linux के लिए आधुनिक पैकेट फ़िल्टरिंग ढाँचा है! इसे इसके पूर्ववर्ती iptables की तुलना में अधिक लचीला और उपयोग में आसान बनाया गया है।

जहाँ iptables IPv4, IPv6 और ब्रिजिंग के लिए अलग-अलग साधनों का उपयोग करता है, वहीं nftables एकीकृत वाक्यविन्यास प्रदान करता है। इसका अर्थ है कि आप अपने सभी फ़ायरवॉल नियमों को एक ही कमांड-लाइन उपयोगिता: nft से प्रबंधित कर सकते हैं।

फ़ैमिली, टेबल और चेन से व्यवस्थित करना

nftables नियमों को एक स्पष्ट पदानुक्रम में व्यवस्थित करता है:

  • फ़ैमिली: नेटवर्क परत को परिभाषित करती हैं (जैसे, IPv4 के लिए ip, IPv6 के लिए ip6, लेयर 2 के लिए bridge, लेयर 1/2 के लिए netdev)।
  • टेबल: चेन के कंटेनर, जो किसी विशिष्ट फ़ैमिली से संबंधित होते हैं। आपके पास कई टेबल हो सकती हैं।
  • चेन: नियमों के क्रम, जिनके आधार पर पैकेटों का मूल्यांकन किया जाता है। चेन "बेस चेन" (कर्नेल हुक के प्रवेश बिंदु) या "नियमित चेन" (अन्य चेन द्वारा बुलाई जाने वाली) हो सकती हैं।

मौजूदा nftables नियमों की सूची देखना

अपने सिस्टम पर वर्तमान nftables नियमसमुच्चय देखने के लिए आप nft list ruleset कमांड का उपयोग करते हैं। यदि आपने अभी शुरुआत की है, तो यह खाली हो सकता है या इसमें डिफ़ॉल्ट नियम हो सकते हैं।

आइए इसे देखते हैं:

nft list ruleset

अपना पहला फ़ायरवॉल सेट करना

नियम जोड़ने से पहले हमें एक टेबल और एक चेन की आवश्यकता है। सामान्य अभ्यास है कि ip फ़ैमिली (IPv4) के लिए एक टेबल और आने वाले ट्रैफ़िक के लिए input नाम की बेस चेन बनाई जाए।

हम इस चेन की डिफ़ॉल्ट नीति को drop पर सेट करेंगे, जिसका अर्थ है कि स्पष्ट रूप से अनुमति न दिया गया कोई भी पैकेट हटा दिया जाएगा। यह "डिफ़ॉल्ट रूप से अस्वीकार करें" वाला सुरक्षित तरीका है।

#!/bin/bash
# Add an 'ip' family table named 'filter'
nft add table ip filter

# Add a base chain 'input' to the 'filter' table
# Type 'filter', hook 'input', priority 0, policy 'drop'
nft add chain ip filter input { type filter hook input priority 0 \; policy drop \; }

nft list ruleset

मूलभूत अंदर आने वाले ट्रैफ़िक की अनुमति देना

अब जबकि हमारी input चेन डिफ़ॉल्ट रूप से सब कुछ हटा देती है, हमें आवश्यक ट्रैफ़िक की अनुमति देने के लिए नियम जोड़ने होंगे। सामान्य पहला कदम अंदर आने वाले SSH कनेक्शन (पोर्ट 22) की अनुमति देना है, ताकि आप अपने सर्वर को दूरस्थ रूप से प्रबंधित कर सकें।

हम स्थापित और संबंधित कनेक्शनों की भी अनुमति देंगे, ताकि जारी संचार सही ढंग से चलता रहे। अधिकांश नेटवर्क संचार के लिए यह बहुत महत्वपूर्ण है।

#!/bin/bash
# Allow established and related connections
nft add rule ip filter input ct state established,related accept

# Allow inbound SSH traffic (TCP port 22)
nft add rule ip filter input tcp dport 22 accept

nft list ruleset

बाहर जाने वाले कनेक्शन सक्षम करना

अधिकांश सिस्टम को बाहर जाने वाले कनेक्शन शुरू करने की आवश्यकता होती है (जैसे, अपडेट प्राप्त करने या वेब ब्राउज़ करने के लिए)। आम तौर पर हम एक output बेस चेन बनाते हैं।

सरलता के लिए, आइए एक output चेन बनाएँ और बाहर जाने वाले सभी IPv4 ट्रैफ़िक की अनुमति दें। वास्तविक उपयोग में आप इसे अधिक सख्ती से सीमित कर सकते हैं।

#!/bin/bash
# Add a base chain 'output' to the 'filter' table
# Type 'filter', hook 'output', priority 0, policy 'accept'
nft add chain ip filter output { type filter hook output priority 0 \; policy accept \; }

nft list ruleset

nftables के साथ स्रोत NAT (SNAT)

नेटवर्क पता रूपांतरण (NAT) निजी नेटवर्क के कई उपकरणों को एक सार्वजनिक IP पता साझा करने देता है। स्रोत NAT (SNAT) बाहर जाने वाले पैकेटों के स्रोत IP को बदलता है।

इसका उपयोग आम तौर पर राउटर पर आंतरिक क्लाइंट को इंटरनेट तक पहुँच देने के लिए किया जाता है। यहाँ हम eth0 से बाहर जाने वाले ट्रैफ़िक के लिए एक मूलभूत SNAT नियम बनाएँगे, जो उसे eth0 के सार्वजनिक IP से मास्करेड करेगा।

#!/bin/bash
# Add an 'ip' family table named 'nat'
nft add table ip nat

# Add a base chain 'postrouting' to the 'nat' table
# Type 'nat', hook 'postrouting', priority 100
nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }

# Add a rule to masquerade (SNAT) traffic leaving 'eth0'
nft add rule ip nat postrouting oifname "eth0" masquerade

nft list ruleset

nftables के साथ गंतव्य NAT (DNAT)

गंतव्य NAT (DNAT), जिसे पोर्ट फ़ॉरवर्डिंग भी कहा जाता है, अंदर आने वाले पैकेटों का गंतव्य IP पता और/या पोर्ट बदलता है। इससे बाहरी उपयोगकर्ता आंतरिक सर्वर पर उपलब्ध सेवाओं तक पहुँच सकते हैं।

उदाहरण के लिए, आप बाहरी पोर्ट 80 को 192.168.1.5 पर मौजूद आंतरिक वेब सर्वर के पोर्ट 80 पर भेज सकते हैं। यह नियम prerouting चेन में रखा जाएगा।

#!/bin/bash
# Add a base chain 'prerouting' to the 'nat' table
# Type 'nat', hook 'prerouting', priority -100
nft add chain ip nat prerouting { type nat hook prerouting priority -100 \; }

# Forward external TCP port 80 to internal server 192.168.1.5:80
nft add rule ip nat prerouting tcp dport 80 dnat to 192.168.1.5:80

nft list ruleset

अपने फ़ायरवॉल विन्यास को सहेजना

कमांड लाइन पर nft से सीधे जोड़े गए नियम अस्थायी होते हैं और रीबूट के बाद खो जाएँगे। उन्हें स्थायी बनाने के लिए आपको उन्हें एक विन्यास फ़ाइल में सहेजना होगा।

सामान्य तरीका है कि वर्तमान नियमसमुच्चय को /etc/nftables.conf में सहेजा जाए और यह सुनिश्चित किया जाए कि बूट होने पर उसे लोड करने के लिए nftables सेवा सक्षम हो। इसके बाद आप उन्हें nft -f /etc/nftables.conf से पुनर्स्थापित कर सकते हैं।

#!/bin/bash
# Save the current ruleset to the default configuration file
nft list ruleset > /etc/nftables.conf

echo "Configuration saved to /etc/nftables.conf"
# On a real system, you'd typically also enable the service:
# sudo systemctl enable nftables
# sudo systemctl start nftables

अपने nftables ज्ञान की जाँच करें

आपने nftables की संरचना और मूलभूत नियमों के बारे में सीखा है। आइए आपकी समझ की जाँच करें।

nftables: आधुनिक फ़ायरवॉलिंग

बहुत बढ़िया! आपने iptables के शक्तिशाली और लचीले उत्तराधिकारी nftables के साथ अपने शुरुआती कदम पूरे कर लिए हैं।

  • आपने फ़ैमिली, टेबल और चेन का उपयोग करने वाली इसकी एकीकृत संरचना के बारे में सीखा।
  • आपने अंदर आने वाले और बाहर जाने वाले ट्रैफ़िक के लिए मूलभूत फ़िल्टर नियम जोड़ने का अभ्यास किया।
  • आपने स्रोत NAT (SNAT) और गंतव्य NAT (DNAT) को विन्यस्त करने का अध्ययन किया।
  • अंत में, आपने समझा कि रीबूट के बाद भी नियमों को बनाए रखने के लिए उन्हें कैसे सहेजा जाता है।

अपने Linux नेटवर्क को सुरक्षित और प्रबंधित करने के लिए nftables के साथ प्रयोग करते रहें!

शुरुआत निःशुल्क

एआई शिक्षक के साथ डेवलपर के लिए Linux नेटवर्किंग और TCP/IP सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “उन्नत फ़ायरवॉल नियम (nftables)” पाठ निःशुल्क है?

हाँ—“उन्नत फ़ायरवॉल नियम (nftables)” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“उन्नत फ़ायरवॉल नियम (nftables)” में मैं क्या सीखूँगा?

अधिक लचीले और शक्तिशाली पैकेट फ़िल्टरिंग तथा नेटवर्क पता रूपांतरण के लिए `iptables` से आगे बढ़कर `nftables` का उपयोग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ डेवलपर के लिए Linux नेटवर्किंग और TCP/IP का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या डेवलपर के लिए Linux नेटवर्किंग और TCP/IP शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“उन्नत फ़ायरवॉल नियम (nftables)” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. उन्नत फ़ायरवॉल नियम (nftables)
  2. VPN की अवधारणाएँ और कॉन्फ़िगरेशन
  3. नेटवर्क घुसपैठ पहचान (IDS)
  4. SSH को सुदृढ़ करना और कुंजी-आधारित प्रमाणीकरण
← डेवलपर के लिए Linux नेटवर्किंग और TCP/IP पर वापस जाएँ