IP अग्रेषण की अनुमति देने के लिए UFW को कैसे कॉन्फ़िगर करें?


18

मेरे पास अपने होम सर्वर पर UFW, OpenVPN और Virtualbox स्थापित है। मेरे पास अपने वर्चुअल मशीन मेहमानों के लिए एक होस्ट-ओनली नेटवर्क है (vboxnet0), जो IP श्रेणी 10.0.1.0 के साथ स्थापित है, और 10.0.0.0 का एक और IP रेंज OpenVPN कनेक्शन के दूसरे छोर पर कॉन्फ़िगर किया गया है।

IP अग्रेषण होस्ट पर कॉन्फ़िगर किया गया है, इसलिए जब UFW है अक्षम होता है तो वे एक दूसरे से बिना किसी समस्या के बात कर सकते हैं। हालाँकि, मैं UFW को चलाना चाहूंगा क्योंकि यह होस्ट वेब-सुलभ होगा और मैं कुछ एक्सेस कंट्रोल चाहूंगा।

इस प्रकार के ट्रैफ़िक की अनुमति देने के लिए मैं UFW को कैसे कॉन्फ़िगर कर सकता हूं?

मैंने विभिन्न संयोजनों की कोशिश की है: ufw allow allow in|out on vboxnet0|tun0 कोई सफलता के साथ।

मेरे UFW नियम हैं:

root@gimli:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
Anywhere                   ALLOW       10.0.0.0/16
Anywhere on vboxnet0       ALLOW       Anywhere
Anywhere on tun0           ALLOW       Anywhere

Anywhere                   ALLOW OUT   Anywhere on vboxnet0
Anywhere                   ALLOW OUT   Anywhere on tun0

किसी भी तरह की सहायता का स्वागत किया जाएगा।

जवाबों:


20

मैं यह समझ गया।

संपादित करें /etc/default/ufwऔर सेट DEFAULT_FORWARD_POLICYकरने के लिए स्वीकार करते हैं :

DEFAULT_FORWARD_POLICY="ACCEPT"

10
क्या केवल विशिष्ट बंदरगाहों को अग्रेषित करने की अनुमति देने का कोई तरीका है, इसे सब कुछ स्वीकार करने के लिए नहीं?
मार्कस डाउनिंग

1
मुझे लगता है कि आपको फ़ाइल को संपादित करने के बाद ufw को पुनः आरंभ करने की आवश्यकता है:service ufw restart
मिन्ह दान

10

यह अब संभव है - ufw मैन पेज से:

ट्रैफ़िक के लिए नियम केवल होस्ट के लिए नियत नहीं हैं, बल्कि फ़ायरवॉल के माध्यम से रूट किए गए / अग्रेषित किए जाने वाले ट्रैफ़िक के लिए नियम से पहले रूट कीवर्ड निर्दिष्ट करना चाहिए (रूलिंग नियम PF सिंटैक्स से भिन्न रूप से भिन्न होते हैं और इसके बजाय नेटफ़िल्टर फॉरवर्ड चेन सम्मेलनों को ध्यान में रखते हैं) । उदाहरण के लिए:

     ufw route allow in on eth1 out on eth2

यह सभी ट्रैफ़िक को eth2 पर ले जाने और फ़ायरवॉल को पार करने के लिए eth1 पर आने देगा।

     ufw route allow in on eth0 out on eth1 to 12.34.45.67 port 80 proto tcp

यह नियम eth0 पर फ़ायरवॉल को बाहर करने के लिए eth1 पर tcp पोर्ट 80 से 12.34.45.67 पर आने वाले किसी भी पैकेट की अनुमति देता है।

रूटिंग नियमों और नीति के अलावा, आपको आईपी अग्रेषण भी सेटअप करना होगा। यह निम्नलिखित /etc/ufw/sysctl.conf में सेट करके किया जा सकता है:

     net/ipv4/ip_forward=1
     net/ipv6/conf/default/forwarding=1
     net/ipv6/conf/all/forwarding=1

फिर फ़ायरवॉल को पुनरारंभ करना:

     ufw disable
     ufw enable

ध्यान रखें कि कर्नेल ट्यूनल्स को सेट करना ऑपरेटिंग सिस्टम विशिष्ट है और ufw sysctl सेटिंग्स को ओवरराइड किया जा सकता है। विवरण के लिए sysctl मैनुअल पेज देखें।


1
हम में से उन लोगों के लिए जो OpenVPN सर्वर पर OpenVPN क्लाइंट के बीच tcp ट्रैफ़िक की अनुमति देना चाहते हैं, यह काम करता है। उदाहरण के लिए: UFW मार्ग पर tun0 बाहर tun0 पर में अनुमति देते हैं
logion

रिकॉर्ड के ufw routeलिए संस्करण ०.३४ से मौजूद है
जोरील डे

7

यदि आप DEFAULT_FORWARD_POLICY को ACCEPT में / etc / default / ufw पर सेट करते हैं, तो फ़ायरवॉल उपयोगकर्ता इंटरफ़ेस की सेटिंग्स की परवाह किए बिना सभी पैकेटों को अग्रेषित करेगा।

मुझे लगता है कि यूजर इंटरफेस केवल सरल / आउट फ़िल्टरिंग के लिए है। अग्रेषण के लिए आपको /etc/ufw/before.rules में iptables नियम जोड़ने की आवश्यकता है:

-A ufw-before-forward -i eth1 -p tcp -d 192.168.1.11 --dport 22 -j ACCEPT

आपके पास शायद पहले से ही एक नियम है जो अंदर से कनेक्शन देने देता है और दूसरा जो संबंधित और स्थापित टीसीपी सत्रों से पैकेट वापस देता है।

मैं कोई iptables विशेषज्ञ नहीं हूं, मुझे यह पता लगाने में बहुत समय लगा (ip6tables के साथ, लेकिन यह समान होना चाहिए)। शायद यह सब आपके मामले में नहीं है।

शुभकामनाएँ


4

इस ufw कमांड ने मेरे लिए अच्छा काम किया: sudo ufw default allow FORWARD

यह सुनिश्चित करने के लिए कि परिवर्तन लागू है: sudo service ufw restart


यह "अमान्य सिंटैक्स" त्रुटि देता है। डॉक्स कहते हैं कि "इनकमिंग आने वाले, आउटगोइंग या रूट किए गए में से एक है"।
कॉलिनम

@ कोलिनम ने मेरे लिए Xubuntu 16.04.5 LTS
baptx

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