राउटर के रूप में एक लिनक्स सर्वर कैसे सेट करें


34

प्रेरणा:

मैं कई कारणों से औसत वायरलेस राउटर के बजाय अपने लिनक्स सर्वर का उपयोग करना चाहता हूं

  1. मैं सीखना चाहता हूं कि लिनक्स पर अधिक पूर्ण सर्वर कैसे सेट किया जाए
  2. मैं एक मॉडेम नहीं करना चाहता, एक राउटर से जुड़ा, एक नेटवर्क स्विच से जुड़ा
  3. मैं हर 10 दिनों में अपने राउटर को अनप्लग करने के लिए बीमार और थका हुआ हूं क्योंकि यह सिर्फ लटका हुआ है
  4. मैं केवल रूटर्स खरीदने के लिए बीमार और थका हुआ हूं, यह महसूस करने के लिए कि वे कुछ महत्वपूर्ण याद कर रहे हैं, जैसे पोर्ट फ़ॉरवर्डिंग या स्टेटिक आईपी एड्रेसिंग (dccc)

सेट अप:

अंत में, कनेक्शन एक मॉडेम में आएगा, और सीधे मेरे सर्वर में होगा eth0, फिर eth1एक नेटवर्क स्विच के लिए आउटपुट होगा जो अन्य सभी क्लाइंट कंप्यूटर ईथरनेट केबल के माध्यम से कनेक्ट होगा (पल के लिए वायरलेस भूल जाएं)। वर्तमान में, हालांकि, मैं एक कार्यालय की इमारत में हूं, और मेरे पास एक मॉडेम में आने वाला कनेक्शन है, जो एक राउटर में जाता है, जो एक नेटवर्क स्विच में जाता है, जो फिर eth0ऊपर निर्दिष्ट रूप में जाता है।

वर्तमान ट्यूटोरियल:

मैंने कुछ ट्यूटोरियल्स को देखा ( उबंटू ट्यूटोरियल सबसे अच्छा है), और मैंने यहां कुछ राउटर प्रश्नों (यानी यह एक ) को देखा है, लेकिन वे सभी कई महत्वपूर्ण अवधारणाओं पर चमकते हैं, जैसे:

  • से क्या eth1संबंध है eth0? में /etc/network/interfacesमैं बताने के लिए है eth1का उपयोग करने के eth0रूप में network(आम तौर पर यह वास्तविक भौतिक रूटर पता है)?
  • क्या मुझे eth1इंटरनेट eth0स्विच करने के लिए निर्देश देने के लिए कुछ भी करना है और इसे नेटवर्क स्विच में जो कोई भी चाहता है, उस पर पारित करें?

वर्तमान दृष्टिकोण:

यहाँ /etc/network/interfacesसर्वर पर मेरी फ़ाइल है:

iface lo inet loopback

auto eth0
   iface eth0 inet static
   address 192.168.1.70
   netmask 255.255.255.0
   broadcast 192.168.1.255
   network 192.168.1.0
   gateway 192.168.1.1
   dns-nameservers 8.8.8.8

auto eth1
   # iface eth1 inet dhcp
   iface eth1 inet static
   address 192.168.7.0
   netmask 255.255.255.0
   broadcast 192.168.1.255
   network 192.168.1.0

और ifconfigमुझे बताता है कि दोनों एनआईसी ठीक काम कर रहे हैं:

eth0      Link encap:Ethernet  HWaddr 20:cf:30:55:a0:5f  
          inet addr:192.168.1.70  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::22cf:30ff:fe55:a05f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11297 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16639 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:948633 (948.6 KB)  TX bytes:1274685 (1.2 MB)

eth1      Link encap:Ethernet  HWaddr 00:11:95:f7:f4:6d  
          inet addr:192.168.7.0  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::211:95ff:fef7:f46d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:243 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3231 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:29934 (29.9 KB)  TX bytes:213055 (213.0 KB)
          Interrupt:21 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5348 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5348 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:470737 (470.7 KB)  TX bytes:470737 (470.7 KB)

wlan0     Link encap:Ethernet  HWaddr bc:f6:85:f8:70:5c  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

और यहाँ route -n returnsसर्वर पर क्या है:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

फिर क्लाइंट पर मेरे पास है

auto lo
iface lo inet loopback
iface eth0 inet dhcp

लेकिन इसे एक आईपी पता नहीं सौंपा जा रहा है।

EDIT: यहाँ isc-dhcp-server कॉन्फ़िगरेशन फ़ाइल स्थित है, /etc/dhcp3/dhcpd.conजिस पर मैंने ज्यादातर इस साइट से कॉपी की है ।

# Sample /etc/dhcpd.conf                                                                                                                                                  
# (add your comments here) 
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";

subnet 192.168.7.0 netmask 255.255.255.0 {
   range 192.168.7.10 192.168.7.25;
}  

संपादित करें: का आउटपुटsudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
LOG        all  --  anywhere             anywhere             LOG level warning

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

सवाल:

इस सेटअप में क्या महत्वपूर्ण चरण / घटक गायब हैं?


आप किस dhcpd का उपयोग कर रहे हैं?
TML

@TML मेरी समझ से dhcp(और इस प्रकार dhcpd) अनिवार्य नहीं है, और केवल सर्वर पर सभी स्थिर ips को केंद्रीय करने के लिए है (जैसा कि प्रत्येक होस्ट /etc/network/interfacesमें फ़ाइल को बदलने के लिए विरोध किया जाता है )। इसलिए, मैंने तब तक प्रयोग नहीं करने का फैसला किया है जब तक कि यह काम नहीं करता है। मैं हालांकि स्थापित किया है, साथ हीdhcp3-serverisc-dhcp-server
puk

यदि आप चाहते हैं कि ग्राहक को dhcp से एक IP पता मिले, तो आपको dhcpd चलाने की आवश्यकता है; आपको इनमें से जो भी वर्तमान में सक्रिय है, के लिए कॉन्फ़िगरेशन पोस्ट करना चाहिए, क्योंकि जहां समस्या का स्रोत फिर से होगा: क्लाइंट को आईपी नहीं मिल रहा है। व्यक्तिगत रूप से, मैं dnsmasq की सिफारिश करूंगा, क्योंकि यह आंतरिक DNS रिज़ॉल्यूशन करने के लिए कुछ उपयोगी सुविधाएँ भी साथ लाता है।
TML

@ टीएमएल मैंने dhcpd.confफ़ाइल को जोड़ा और संकेत दिया कि मैं उपयोग कर रहा हूंisc-dhcp-server
पुक

1
आपको दो और बिंदु होने चाहिए: 5. मैं बीमार हूं और डिवाइस का केवल आंशिक नियंत्रण होने से थक गया हूं। 6. मैं एक रूटर होने के कारण बीमार और थका हुआ हूं जो संभावित रूप से एक पिछले दरवाजे हो सकता है। प्वाइंट # 6 एक वास्तविक चीज है जो किसी भी राउटर में अभी हो सकती है। कुछ राउटर अतिरिक्त सुविधाओं के साथ आते हैं जैसे कि हार्ड-कोडेड पासवर्ड या गुप्त रूप से कुछ पोर्ट को सुनना।
इग्नास 2526

जवाबों:


16

मुझे जैक के रिपर की तरह जाना है क्योंकि आपके पास कई गायब चीजें हैं:

  1. यदि आप क्लाइंट आईपी को प्राप्त करने के लिए डीएचसीपी सर्वर का उपयोग करने के लिए डीएचसीपी का उपयोग करेंगे।

    iface eth0 inet dhcp

    क्लाइंट में यह इंगित करता है कि उन्हें डीएचसीपी सर्वर से अपना आईपी मिलेगा, यदि आपने डीएचसीपी सर्वर सेटअप नहीं किया है, तो आपको निर्धारित आईपी का उपयोग करना चाहिए या डीएचसीपी सर्वर स्थापित करना चाहिए।

  2. आपके पास क्लाइंट्स में कॉन्फ़िगर किए गए DNS सर्वरों की कमी है। या तो डीएचसीपी सर्वर की कमी के कारण, या आप अपने सभी नेटवर्क के लिए एक स्थानीय डीएनएस सर्वर का उपयोग करना चाह सकते हैं।

  3. आपने iptablesनियमों (आउटपुट sudo iptables -L) की पेशकश नहीं की, लेकिन मैं यह अनुमान लगा सकता हूं कि आपने संदेश नियम को सक्रिय नहीं किया था, और न ही आईपी अग्रेषण को वर्णित किया गया था

  4. का IP पता eth1अनुशंसित नहीं है। किसी भी आईपी को समाप्त कर दिया 0जाता है, आमतौर पर नेटवर्क ही होता है, और अधिकांश राउटर / फ़ायरवॉल केवल भ्रमित हो जाते हैं जब ये उपयोग किए जाते हैं । इसे बदलें 192.168.7.1और आप ज्यादातर ठीक हो जाएंगे।

  5. इंटरफ़ेस broadcastमें आपका मान eth1सही नहीं है। पैकेज भेज रहा है कहीं नहीं। सही मान (इंटरफ़ेस के अन्य मूल्यों को ध्यान में रखते हुए) है 192.168.7.255

  6. डीएचसीपी सर्वर में आपके विकल्प शातिर हैं। आपके राउटर तक ARP पैकेज कभी नहीं पहुंचेंगे। यह वही है जो आपके पास होना चाहिए:

    default-lease-time 600;
    max-lease-time 7200;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.7.255;
    option routers 192.168.7.1; ## This should be the same value of the step 4
    option domain-name-servers 8.8.8.8;
    
    subnet 192.168.7.0 netmask 255.255.255.0 {
        range 192.168.7.10 192.168.7.25;
    }

इनका पालन करें और सबसे अधिक संभावना है कि आपके पास अपना राउटर काम करना होगा।


sudo iptables -Lप्रश्न का जोड़ा गया उत्पादन
पुक

Picky होने के लिए नहीं, लेकिन इस उत्तर को पढ़ने वाले किसी अन्य के हितों के लिए, क्या आप बता सकते हैं कि इनमें से कुछ dhcpd.conf मान क्या हैं: पंक्ति 4 192.168.7.255और पंक्ति 8subnet 192.168.7.0
puk

@ पुक जो टिप्पणियों में व्याख्या करने के लिए बहुत जटिल है, लेकिन इसे अच्छी तरह से रखने के लिए, .255सामान्य रूप से उपयोग किया जाने वाला प्रसारण पता है, उस दिशा में भेजे गए किसी भी पैकेज को एक ही सबनेट में सभी प्रणालियों को भेजा जाएगा। जिसका अर्थ है कि किसी भी पैकेज 1.2.3.255 यह किसी भी प्रणाली द्वारा प्राप्त किया जाएगा जो 1.2.3 उन सभी के बाद से साथ आईपी के शुरू होने से एक ही सबनेट में हैं करने के लिए भेजा en.wikipedia.org/wiki/Subnetwork#IPv4_subnetting
Braiam

काम नहीं कर रहा। मैं देखना चाहता हूं कि समस्या है dhcpया नेटवर्क है। परीक्षण करने के लिए एक स्थिर आईपी पता करेंगे। क्लाइंट पर स्थिर आईपी के लिए, क्या मैं eth1गेटवे के रूप में आईपी पते का उपयोग करता हूं ?
पुक

1
शायद इसलिए कि राउटर के eth1 पर प्रसारण और नेटवर्क 192.168.7.x के बजाय 192.168.1.x की ओर इशारा कर रहा है; यदि आप eth1 पर राउटर से eth0 से क्लाइंट पर बात नहीं कर सकते, तो DHCPACK कभी भी क्लाइंट पर नहीं पहुंचेंगे (और फलस्वरूप इसे कभी भी IP नहीं मिलेगा)।
TML

9

ब्रियम ने मेरे सवाल का जवाब दिया, लेकिन मुझे लगा कि यहां पूरी तरह से चलने के लिए मददगार होगा। अगर मैंने कोई गलती की है तो कृपया इसे अपडेट करें।

पहले सुनिश्चित करें कि आपके पास दो ईथरनेट कार्ड (NIC) हैं और /etc/network/interfacesफ़ाइल को इस तरह अपडेट करें (फ़ाइल के लिए यह गलती करें /etc/networks)।

iface lo inet loopback                                                                                                                    

auto eth0
   iface eth0 inet static
   address 192.168.1.70
   netmask 255.255.255.0
   broadcast 192.168.1.255
   network 192.168.1.0
   gateway 192.168.1.1
   dns-nameservers 8.8.8.8

auto eth1
   iface eth1 inet static
   address 192.168.7.1
   netmask 255.255.255.0
   broadcast 192.168.7.255
   network 192.168.1.0

अपने gateway, broadcastऔर network, इन निर्देशों का पालन करने के लिए

इसके बाद, क्लाइंट में जाएं और स्थिर आईपी के लिए /etc/network/interface(फिर से, नहीं /etc/networks ) फ़ाइल को संपादित करें, यह सुनिश्चित करने के लिए कि कम से कम एनआईसी कार्ड काम कर रहा है।

iface eth0 inet static
address 192.168.7.75
netmask 255.255.255.0
network 192.168.7.0
broadcast 192.168.7.255
gateway 192.168.7.1

उपरोक्त मूल्यों के साथ मेल खाने के लिए मूल्यों को बदलें। यदि यह काम करता है, महान है, तो यहां दिए गए निर्देशों का उपयोग करें, लेकिन उन्हें ठीक से पालन ​​करें , क्योंकि कई dhcpफाइलें हैं ताकि फ़ोल्डर के /etc/dhcpसाथ /etc/dhcp3और इतने पर गलती न करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.