एक गेटवे / राउटर और एक फ़ायरवॉल के रूप में Ubuntu 14.04


16

मेरा वर्तमान सिस्टम सेटअप उबंटू 14.04 डेस्कटॉप 64 बिट है, और मैं एक सार्वजनिक आईपी का उपयोग करके राउटर से इंटरनेट का उपयोग कर रहा हूं

eth0 - WAN Public IP 182.x.x.x  
eth1 - LAN private IP 192.168.0.1

अब मैं एक के रूप में अपने सिस्टम का उपयोग कर अन्य कंप्यूटरों को इस संबंध वितरित करना चाहते हैं Gateway, मेरे प्रणाली आईपी है 192.168.0.1और नेटवर्क पर अन्य कंप्यूटर स्थैतिक IP का उपयोग कर रहे 192.168.0.2हैं और 192.168.0.255 के रूप में staticऔर / या DHCP

इसके अलावा, मैं अपने सिस्टम पर फ़ायरवॉल सेटअप करना चाहता हूं ताकि मैं नेटवर्क पर अन्य सिस्टम के ट्रैफ़िक की निगरानी और नियंत्रण कर सकूं।

जवाबों:


15
  1. खोलें एक टर्मिनल Ctrl+ Alt+T

  2. interfacesफ़ाइल संपादित करने के लिए निम्नलिखित आदेश दर्ज करें :

    sudo vim /etc/network/interfaces
    
  3. फ़ाइल को निम्न पंक्तियों के साथ संपादित करें: (अपना netmaskऔर जोड़ें gateway)

    auto lo 
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 182.x.x.x 
    netmask  x.x.x.x 
    gateway x.x.x.x
    
    auto eth1
    iface eth1 inet static 
    address 192.168.0.1
    netmask x.x.x.x
    
  4. अब संपादित करें /etc/sysctl.confऔर असहज करें:

    # net.ipv4.ip_forward=1
    

    ताकि यह पढ़े:

    net.ipv4.ip_forward=1
    

    और दर्ज करके इसे सहेजें

    sudo sysctl -p /etc/sysctl.conf

  5. IP मास्किंग को सक्षम करने के लिए, टर्मिनल में कमांड के निम्नलिखित सेट दर्ज करें:

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    

अद्यतन: अजीब "-स्टेट" को ठीक करने के लिए कमांड को विफल करें और nat MASQUERADE को eth0 (वान इंटरफ़ेस) को ठीक करें


सलाह के रूप में सब कुछ किया ... लेकिन अगर मैं संपादित / / / नेटवर्क / इंटरफेस और पुनः आरंभ सेवा इसे स्वचालित रूप से eth1 से कनेक्ट करता है और eth0 के माध्यम से इंटरनेट नहीं करेगा। अगर मैं GUI मोड का उपयोग करके कनेक्टियो को संपादित करता हूं तो यह eth0 का उपयोग करके इंटरनेट से कनेक्ट होता है। अब समस्या यह है कि मैं अपने क्लाइंट कंप्यूटर को IP 192.168.0.5/nm.255.255.255.0/gw.192.168.0.1 इंटरनेट से कनेक्ट करने में सक्षम नहीं हूं। कोई उपाय?
संटी वर्गीज

3
मैं यह जोड़ना चाहता हूं कि लाइन बदलने के बाद net.ipv4.ip forward=1, आप sudo sysctl -p /etc/sysctl.confनए मूल्य को प्रभावी बनाने के लिए दौड़ना चाहते हैं ।
सैमुअल ली

2
आपके पास अभी भी चरण 5 में अंतिम दो पंक्तियों में स्वैप किए गए उपकरण हैं, और आपके पास डिफ़ॉल्ट सुरक्षा (यानी, आगे DROP नीति होनी चाहिए) का कोई उल्लेख नहीं है।
क्रिकट

3

@ chreekat की टिप्पणी सही है कि @ Anbu के उत्तर के चरण 5 में ईथरनेट एडेप्टरों की अदला-बदली की जाती है, और जैसा कि दिखाया गया है (2017-02-21 के अनुसार) एक बड़ा सुरक्षा होला बनाता है जो सार्वजनिक नेटवर्क पर किसी के द्वारा भी निजी नेटवर्क पर अप्रतिबंधित पहुंच की अनुमति देता है ।

चरण 5 के लिए सही कॉन्फ़िगरेशन नीचे दिखाया गया है।

ऑपरेशन का सिद्धांत: (नियम # 2) सार्वजनिक नेटवर्क (eth0) से प्राप्त पैकेट को निजी नेटवर्क (eth1) को अग्रेषित करने के लिए स्वीकार किया जाता है, यदि और केवल तभी सार्वजनिक पैकेट को बातचीत से संबंधित किया जाता है जो एक मेजबान द्वारा स्थापित किया गया था निजी नेटवर्क। (नियम # 3) निजी नेटवर्क (eth1) से प्राप्त सभी पैकेट स्वीकार करें और उन्हें सार्वजनिक नेटवर्क (eth0) को अग्रेषित करें।

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

0

यह वही है जो मैं उपयोग करता हूं, हमेशा अच्छी तरह से काम करता है। विभिन्न ट्यूटोरियल का एक संयोजन। उबंटू 16.04LTS पर भी परीक्षण किया गया।

चरण A-- सुनिश्चित करें कि ufw स्थापित है

sudo apt-get install ufw

चरण बी - अपने नेटवर्क इंटरफेस को कॉन्फ़िगर करें

sudo nano /etc/network/interfaces

नीचे कुछ इस तरह होने के लिए इंटरफेस फाइल को कॉन्फ़िगर करें:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The WAN primary network interface
iface eth0 inet static
        address 182.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx

#LAN side interface
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        address 192.168.0.1

नैनो या किसी अन्य संपादक से CTRL-X का चयन करके फ़ाइल को सहेजें।

चरण सी - आईपी फॉरवर्ड की अनुमति दें । अग्रेषण सेट करें। फ़ाइल को संपादित करें /etc/sysctl.conf

sudo nano /etc/sysctl.conf

इस लाइन पर टिप्पणी निकालना # net.ipv4.ip_forward=1यह होने के लिए net.ipv4.ip_forward=1 परिवर्तन सहेजें और अगले चरण पर जाने।

चरण डी - बहाना / अग्रेषण नियम

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

पर्सिस्टेंट iptables बदलता है

sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables

इस सामग्री को दर्ज करें:

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

परिवर्तन सहेजें फिर संपादित करें / अगली iptables फ़ाइल बनाएं

sudo nano /etc/network/if-post-down.d/iptables

इस सामग्री को दर्ज करें:

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
    iptables-restore < /etc/iptables.rules
fi
exit 0

परिवर्तनों को सुरक्षित करें। दोनों फ़ाइलों को निष्पादन योग्य बनाएं

sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables

चरण ई - ufw कॉन्फ़िगरेशन के साथ अंतिम रूप दें

sudo nano /etc/default/ufw

स्वीकार करने के लिए पैरामीटर अग्रेषित नीति बदलें

DEFAULT_FORWARD_POLICY="ACCEPT"

परिवर्तनों को सुरक्षित करें।

मैं, बंदरगाह 49870 पर मेरे SSH है तो मैं भी अनुमति दी UFW उस पोर्ट पर कनेक्शन स्वीकार करने:

sudo ufw allow 49870

चरण एफ - ufw सक्षम करने के लिए मत भूलना

sudo ufw enable

इस स्तर पर, बस अपने सिस्टम को रिबूट करें। फिर सभी LAN डिवाइस इसे मुख्य गेटवे के रूप में उपयोग कर सकते हैं। साइड नोट पर, फ़ायरवॉल सेटिंग्स को प्रबंधित करने के लिए ufw बहुत सुविधाजनक है।

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