29 पॉइंट द्वारा GN⁺ 2026-03-31 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • साधारण कंप्यूटर या mini PC का उपयोग करके पूरा राउटर सेटअप करने की प्रक्रिया को चरण-दर-चरण समझाया गया है
  • Debian या Alpine Linux वातावरण में hostapd, dnsmasq, bridge-utils जैसे न्यूनतम पैकेजों से wired और wireless नेटवर्क बनाया जा सकता है
  • सिर्फ 2 Ethernet interfaces हों तो desktop, laptop, SBC जैसी किसी भी डिवाइस को राउटर में बदला जा सकता है
  • firewall (nftables), DHCP/DNS services, IP forwarding सेटअप के जरिए commercial router स्तर की सुविधाएँ लागू की जा सकती हैं
  • पुराने हार्डवेयर और open source सॉफ्टवेयर से स्थिर और लचीला network infrastructure बनाया जा सकता है

किसी भी डिवाइस को राउटर कैसे बनाएं

  • अमेरिकी सरकार द्वारा consumer routers के import ban के बाद, मौजूदा हार्डवेयर का उपयोग करके खुद राउटर बनाने का तरीका बताया गया है
  • Linux-आधारित mini PC से कई वर्षों तक स्थिर रूप से राउटर चलाने के अनुभव के आधार पर, ज़रूरी कॉन्फ़िगरेशन और सेटअप प्रक्रिया को चरण-दर-चरण व्यवस्थित किया गया है
  • राउटर मूल रूप से साधारण कंप्यूटर जैसी ही संरचना वाला होता है, इसलिए desktop, laptop, SBC जैसी कई तरह की डिवाइस से इसे बनाया जा सकता है
  • Debian या Alpine Linux वातावरण में hostapd, dnsmasq, bridge-utils जैसे न्यूनतम पैकेजों से सेटअप किया जाता है
  • उद्देश्य नीतिगत प्रतिक्रिया देना नहीं, बल्कि मौजूदा हार्डवेयर का पुन: उपयोग और नेटवर्क की समझ बढ़ाना है

हार्डवेयर चयन

  • passive cooling mini PC आदर्श है, लेकिन 2 Ethernet interfaces हों तो कोई भी डिवाइस इस्तेमाल की जा सकती है
    • USB-Ethernet dongle से इसकी कमी पूरी की जा सकती है; विश्वसनीयता थोड़ी कम हो सकती है, लेकिन यह पर्याप्त रूप से काम करता है
  • उदाहरण के तौर पर Celeron 3205U dual-core (1.5GHz) सिस्टम wired में 820~850Mbps और wireless में लगभग 300Mbps संभाल सकता है
  • पहले ThinkPad T60, ExpressCard-PCIe bridge, Cisco 2960 switch, D-Link router (सिर्फ AP के लिए) जैसे पुराने हिस्सों से भी सेटअप बनाया गया था
    • दिखने में भले अस्थायी लगे, लेकिन यह पूरी तरह काम करने वाला राउटर था

नेटवर्क कॉन्फ़िगरेशन

  • interface संरचना
    • eth0: WAN
    • eth1: LAN (wired)
    • wlan0: LAN (wireless)
  • wired और wireless LAN को bridge में जोड़कर एक ही नेटवर्क की तरह चलाया जाता है
  • अगर अतिरिक्त LAN ports चाहिए हों, तो USB-Ethernet dongle जोड़कर bridge से कनेक्ट किया जा सकता है
  • ऑपरेटिंग सिस्टम Debian Linux है, और आवश्यक घटक इस प्रकार हैं
    • hostapd: Wi-Fi नेटवर्क बनाना
    • dnsmasq: DNS और DHCP services
    • bridge-utils: port bridging

इंस्टॉलेशन और शुरुआती सेटअप

  • BIOS/UEFI सेटिंग्स
    • PXE network boot बंद करें
    • USB/PCI power management बंद करें
    • “AC power restore के बाद auto boot” विकल्प चालू करें
    • display न जुड़ा हो तो boot समस्या से बचने के लिए HDMI dummy dongle का उपयोग करें
  • कुछ हार्डवेयर में non-free-firmware repository सक्षम करना पड़ सकता है
  • wireless chipset के अनुसार firmware इंस्टॉल करें
    • Intel: firmware-iwlwifi
    • Realtek: firmware-ath9k-htc
    • पुराने Atheros: firmware-atheros

आवश्यक पैकेज इंस्टॉल करना

  • नीचे दिए गए कमांड से मुख्य utilities इंस्टॉल करें
    sudo apt install bridge-utils hostapd dnsmasq
    
  • पूरे सिस्टम के पैकेज लगभग 250 के आसपास रहते हैं

नेटवर्क interface नाम स्थिर करना

  • आधुनिक Linux में enp0s31f6 जैसे नाम इस्तेमाल होते हैं, लेकिन इन्हें पारंपरिक ethX फॉर्मेट में स्थिर किया जा सकता है
  • /etc/systemd/network/10-persistent-ethX.link फ़ाइल बनाएं
    [Match]
    MACAddress=AA:BB:CC:DD:00:11
    [Link]
    Name=ethX
    

wireless नेटवर्क बनाना

  • USB Wi-Fi dongle को access point (AP) के रूप में सेट करें
  • /etc/hostapd/hostapd.conf उदाहरण
    interface=wlan0
    bridge=br0
    hw_mode=g
    channel=11
    ssid=My Cool and Creative Wi-Fi Name
    wpa_passphrase=mysecurepassword
    
  • hostapd service सक्षम करें
    sudo systemctl unmask hostapd
    sudo systemctl enable --now hostapd
    

interface सेटिंग्स

  • /etc/network/interfaces कॉन्फ़िगरेशन
    allow-hotplug eth0
    allow-hotplug eth1
    auto wlan0
    auto br0
    iface eth0 inet dhcp
    iface br0 inet static
    bridge_ports eth1 wlan0
    address 192.168.1.1/24
    
  • reboot के बाद brctl show br0 कमांड से bridge की स्थिति जांचें

IP forwarding सक्षम करना

  • /etc/sysctl.d/10-forward.conf फ़ाइल में जोड़ें
    net.ipv4.ip_forward=1
    
  • लागू करें
    sudo systemctl restart systemd-sysctl.service
    

firewall और NAT सेटिंग

  • nftables आधारित कॉन्फ़िगरेशन (/etc/nftables.conf)
    • बाहरी ट्रैफ़िक ब्लॉक करना
    • आंतरिक DNS, DHCP, SSH की अनुमति देना
    • NAT लागू करना
  • service सक्षम करें
    sudo systemctl enable nftables.service
    

DHCP और DNS सेटिंग

  • dnsmasq का उपयोग (/etc/dnsmasq.conf)
    interface=br0
    dhcp-range=192.168.1.50,192.168.1.250,255.255.255.0,6h
    dhcp-option=option:router,192.168.1.1
    dhcp-option=option:dns-server,192.168.1.1
    cache-size=10000
    
  • service सक्षम करें
    sudo systemctl enable dnsmasq
    

serial port प्रबंधन

  • अगर डिवाइस में serial console port है, तो बिना monitor के भी प्रबंधन किया जा सकता है
  • /etc/default/grub संशोधित करें
    GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8'
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    
  • systemctl enable [email protected] के बाद sudo update-grub चलाएं

कामकाज की पुष्टि

  • reboot के बाद sudo nft list ruleset से firewall की स्थिति जांचें
  • sudo nft -c -f /etc/nftables.conf से कॉन्फ़िगरेशन सत्यापित करें
  • sudo systemctl reload nftables.service से बिना downtime के rules रिफ्रेश किए जा सकते हैं
  • DHCP logs जांचें
    sudo less /var/lib/misc/dnsmasq.leases
    sudo journalctl -eu dnsmasq.service
    

अतिरिक्त सुविधाएँ

  • logging और traffic analysis, VLAN isolation, IPv6 support, VPN tunneling, dynamic routing (BGP, IGP) जैसी चीज़ें जोड़ी जा सकती हैं
  • Prometheus-आधारित monitoring, DMZ port forwarding, intrusion detection और blocking जैसी सुविधाएँ भी जोड़ी जा सकती हैं
  • हालांकि, राउटर पर बहुत अधिक सॉफ्टवेयर इंस्टॉल करने से बचना बेहतर है, और ट्रैफ़िक को DMZ या VLAN के जरिए अलग करना अधिक उचित है

निष्कर्ष

  • free software और पुराने हार्डवेयर से भी पूरा राउटर बनाया जा सकता है
  • राउटर आखिरकार सिर्फ एक साधारण कंप्यूटर ही है, और कोई भी इसे खुद बना सकता है
  • बेकार पड़े उपकरणों का पुन: उपयोग करके स्थिर और लचीला network infrastructure बनाया जा सकता है

1 टिप्पणियां

 
GN⁺ 2026-03-31
Hacker News की राय
  • शानदार लेख है। मैं अपने create_ap स्क्रिप्ट का ज़िक्र करना चाहूँगा, जिसे मैं लंबे समय से maintain कर रहा हूँ।
    इसे GitHub repository में देखा जा सकता है।
    यह एक shell script है जो सिर्फ एक command line से किसी भी Linux कंप्यूटर को WiFi राउटर में बदल देती है।
    यह मूल रूप से WiFi कार्ड को AP mode में सेट करती है और WPA2/3, MAC filtering, DHCP/DNS server तक अपने-आप configure करती है।
    इसकी dependencies भी बहुत कम हैं, और NetworkManager की भी ज़रूरत नहीं है।
    मैंने इसे एक पुराने Atom mini PC के साथ घर के internet gateway के रूप में भी इस्तेमाल किया है, और IoT डिवाइसों के reverse engineering के लिए test network बनाने में भी अक्सर उपयोग किया है
    संबंधित उदाहरण इस लेख में देखे जा सकते हैं

    • सोच रहा हूँ कि AP mode में अच्छा performance देने वाले किसी WiFi chipset की सिफारिश है क्या
  • बहुत से comments में “बस X इस्तेमाल करो” कहा गया है, लेकिन इस लेख का सार routing की न्यूनतम संरचना और उसकी सरलता को दिखाना है।
    अगर आपने Docker या VM में NAT इस्तेमाल किया है, तो आप मूल रूप से वही काम पहले ही कर चुके हैं।
    Android का WiFi hotspot feature भी आखिरकार Linux kernel की यही सुविधाएँ इस्तेमाल करता है।
    संभव है कि यह संदेश भी अभी कई software routers से होकर आप तक पहुँचा हो

    • मुझे भी शुरू से खुद बनाकर देखना ज्यादा दिलचस्प लगता है। ऐसा करने पर ही आप तय कर सकते हैं कि खुद implement करना है या existing solution इस्तेमाल करना है
      मुझे लगता है कि यह एक अच्छा software design principle है
    • सच कहें तो, इच्छा हो तो कोई भी कंप्यूटर राउटर बन सकता है
      Windows का Internet Connection Sharing भी आखिर NAT चालू करने वाला एक checkbox ही था
      firewall, switch, file server वगैरह को एक ही मशीन में बाँधकर उसे “राउटर” कहना शायद लोगों को भ्रमित करता है
  • यह लेख देखकर पुरानी बातें याद आ गईं। Linux इस्तेमाल करने का मेरा पहला मकसद बचे हुए कंप्यूटर से राउटर बनाना था।
    मैंने 100MHz Pentium में दो 3Com ISA NIC लगाकर IP-Masquerading HOWTO के अनुसार सेटअप किया था।
    बाद में इसे Robert Ziegler की Linux Firewalls किताब के आधार पर आगे बढ़ाया, और spam filter तथा Squid cache भी जोड़ दिया, ताकि फेंके जाने वाले hardware का अच्छा उपयोग हो सके

    • मैंने भी लगभग यही रास्ता अपनाया था। अखबार के दफ्तर की ISDN लाइन को एक कंप्यूटर से शेयर किया, और वही आगे चलकर वेबसाइट बनाने तक पहुँचा
      27 साल बाद भी लोग मुझे अब तक “Linux, रबर बैंड और पेपर क्लिप से सस्ता हल कैसे निकालें” जैसे सवालों के लिए बुला लेते हैं
    • पहले कभी Pentium MMX 200MHz के साथ, जब मेरे माता-पिता के घर की DSL बंद हो गई थी, मैंने OpenBSD bridge से अस्थायी WiFi कनेक्शन बनाया था। हैरानी की बात है कि वह काफी तेज था
    • अगर आपके पास VLAN support वाला switch हो, तो एक ही NIC से routing भी संभव है
    • मेरे मामले में उल्टा था, मैंने शुरुआत OpenWRT के साथ router firmware flash करके Linux सीखने से की थी
    • अब वह किताब 25 साल पुरानी हो चुकी है, इसलिए बहुत पुरानी लगती है। किसी को Linux router पर नई किताब लिखनी चाहिए
      संदर्भ: Linux Routers - A Primer for Network Administrators
  • मैं लंबे समय से OPNsense/pfSense इस्तेमाल कर रहा हूँ और इसकी जोरदार सिफारिश करता हूँ।
    automatic updates, backups, WireGuard tunnels, Suricata-आधारित packet filtering जैसी सुविधाएँ शानदार हैं।
    वीकेंड पर network manage करते समय terminal के बजाय web UI से configure कर पाना सुविधाजनक होता है
    आधिकारिक साइट

    • सहमत हूँ, लेकिन GUI अक्सर Linux की अवधारणाओं से मेल नहीं खाता। मैंने Barracuda router इस्तेमाल किया था और आखिर में SSH से सीधे commands डालकर समस्या हल करनी पड़ी
      pfSense, OpenWRT, Barracuda, Verizon OEM — इन सबमें features तो मिलते-जुलते हैं, लेकिन उन्हें दिखाने का तरीका अलग-अलग है
    • अब मैं वीकेंड पर network manage नहीं करना चाहता। अच्छा होगा अगर TrueNAS जैसी पूरी appliance-style router distribution मिले
    • मैंने OPNsense छोड़ दिया, क्योंकि यह उस configuration को सीमित कर रहा था जो मैं करना चाहता था।
      मुझे ऐसे products पसंद नहीं जो “डिवाइस मुझसे बेहतर जानता है” वाला रवैया रखते हों। लचीलापन की कमी ही निर्णायक कारण थी
    • Linux से सीखना अच्छा है, लेकिन router में गलती हो जाए तो परेशानी होती है
      मैंने Atom mini PC पर 300Mb/s तक routing की, लेकिन gigabit internet पर जाने के बाद VM-आधारित OPNsense पर स्विच कर लिया
      Intel 4-port card के ports को VM में अलग-अलग passthrough करना मजेदार है
  • मैं N100 + 10Gbit router hardware इस्तेमाल कर रहा हूँ, लेकिन लगता है कि dedicated hardware router की तुलना में इसकी latency ज्यादा है
    dedicated chipsets CPU की दखल के बिना packets संभालते हैं, इसलिए वे कहीं ज्यादा efficient होते हैं।
    सोच रहा हूँ कि क्या किसी ने वास्तव में इस अंतर को मापा है। ज़्यादातर लोग सिर्फ bandwidth test करते हैं

    • सही है, Linux bridge dedicated switch ASIC जितना तेज नहीं हो सकता
      OpenWRT कुछ hardware switch API को support करता है, लेकिन PCIe card के रूप में ऐसे विकल्प लगभग नहीं हैं
      Mikrotik का CCR2004-1G-2XS-PCIe एक दिलचस्प उदाहरण है।
      यह PCIe के जरिए जुड़ने वाला एक पूरा router board है, जिस पर RouterOS चलता है।
      अगर आप 25Gbps ports का लाभ उठा सकते हैं, तो यह उपयोगी है, वरना RB5009 से बहुत अलग नहीं है
  • अगर आपके पास managed switch है, तो एक ही NIC से router setup भी किया जा सकता है
    802.1q trunk port के रूप में सेट करके switch को interface expander की तरह इस्तेमाल किया जा सकता है
    मेरे घर में यही “router-on-a-stick” setup है।
    PoE switch और इस्तेमाल किए हुए Aruba IAP को मिलाकर consumer-grade से कहीं बेहतर quality का WiFi बनाया जा सकता है
    पहले मैं Thinkpad को router की तरह इस्तेमाल करता था, लेकिन अब Dell Optiplex पर आ गया हूँ और इसे VM भी चलाने वाला homelab router की तरह उपयोग कर रहा हूँ
    Alpine Linux इस तरह के उपयोग के लिए बहुत अच्छा है

    • सोच रहा हूँ कि WiFi mesh की latency performance कितनी बेहतर हो सकती है। consumer router से तुलना करें तो कितना फर्क होगा?
    • मेरे ISP का दिया हुआ AP भी gigabit WiFi support करता है। लेकिन वह DNS को ज़बरदस्ती सेट करता है, शायद निगरानी के लिए, इसलिए मैं उसे बदलना चाहता हूँ
      उसी performance वाला AP खरीदने में लगभग 180 डॉलर लगेंगे, यह थोड़ा खलता है
  • router import ban के नीतिगत कारण क्या हैं, यह जानने की जिज्ञासा है
    जबकि ज़्यादातर traffic पहले से ही TLS से encrypted है, फिर भी इसे इतना जोखिमपूर्ण क्यों माना जाता है?
    क्या वजह botnet, DDoS, कमजोर default passwords, या internal network में घुसपैठ जैसी है?

    • security industry में इसे APT(Advanced Persistent Threat) कहा जाता है।
      Volt Typhoon और Flax Typhoon जैसे मामले अब भी सक्रिय हैं।
      foreign equipment ban से सब कुछ हल नहीं होगा, लेकिन security कोई product नहीं, एक process है, इसलिए supply chain को नियंत्रित करना ज़रूरी है
    • तुम्हारे बताए सभी कारण सही हैं। इसके अलावा “दूर से उपकरण बंद कर देने की क्षमता” भी बड़ा जोखिम है
      मैंने पहले Amazon में Bot Mitigation पर काम करते हुए दुनिया भर के consumer devices से आने वाला traffic देखा था।
      सक्रिय devices के आधे से भी कम संख्या से ऐसा traffic पैदा हुआ जिसे रोका ही नहीं जा सकता था
    • सच कहें तो अगर FCC को वास्तव में security की चिंता होती, तो वह unique passwords अनिवार्य करता या patch न देने वाले manufacturers की जवाबदेही तय करता।
      Huawei हो या Netgear, DDoS का स्रोत तो एक जैसा ही है
    • कारण कई हैं
      DNS/traffic metadata तक पहुँच, internal network पर हमला, DDoS, internet shutdown वगैरह
      अंततः इनका दुरुपयोग निगरानी और नियंत्रण के साधन के रूप में हो सकता है
    • तकनीकी रूप से यह सही है। TLS से encryption होने पर भी metadata के ज़रिए काफी निगरानी संभव है।
      foreign equipment में backdoor होने की संभावना कोई अवास्तविक कल्पना नहीं है
  • “बस OPNsense इस्तेमाल करो” production environment में अच्छी सलाह हो सकती है, लेकिन सीखने के लिए यह सबसे खराब है
    इस लेख की अहमियत इस बात में है कि यह दिखाता है कि routing कितने सरल सिद्धांत पर काम करती है

    • SOHO-grade equipment असल मायने में routing नहीं करता
  • एक बात लेख में नहीं कही गई है: router के रूप में इस्तेमाल करते समय /etc/sysctl.d/10_router.conf में

    net.ipv4.ip_early_demux = 0  
    net.ipv4.tcp_early_demux = 0  
    net.ipv4.udp_early_demux = 0
    

    जैसे settings से overhead कम किया जा सकता है।
    यह VoIP या gaming के लिए latency और jitter कम करने वाली tuning में असरदार हो सकता है।
    gro_flush_timeout, sch_cake, napi_defer_hard_irqs जैसी चीज़ें भी adjust की जाती हैं।
    लक्ष्य यह है कि परिवार को बेहतर gaming experience महसूस हो

    • मैं भी early_demux बंद करता हूँ, लेकिन वास्तविक फर्क को कभी test नहीं किया।
      मेरे मामले में fq_codel ही 10Gbps environment में पर्याप्त रूप से stable है
  • मुझे तो इससे भी ज्यादा optical modem replacement में दिलचस्पी है
    AT&T से मिला डिवाइस अक्सर धीमा हो जाता है और उसकी security को लेकर भी संदेह है।
    सोच रहा हूँ कि सीधे optical modem बदलने के तरीके पर कोई guide है क्या