OpenVPN सभी ट्रैफ़िक के लिए डिफ़ॉल्ट गेटवे नहीं है


21

मैं अपने ग्राहक को सभी ट्रैफ़िक को ओपन वीपीएन चलाने वाले वीपीएस के माध्यम से आगे बढ़ाने की कोशिश कर रहा हूं। जैसा कि आप देख सकते हैं, यह दोनों डोमेन और कच्चे आईपी पते के लिए पिंग्स की अनुमति देगा, लेकिन यह ट्रैफ़िक की अनुमति नहीं देगा जैसे कि कर्ल और ट्रेसरआउट के माध्यम से कुछ भी नहीं आता है। वीपीएन से कनेक्ट नहीं होने पर ट्रैफिक सही ढंग से काम करता है।

सभी जानकारी यहाँ है: https://pastebin.com/tGspNefn

धन्यवाद।

नीचे दिए गए समाधान के लिए कार्य विन्यास धन्यवाद:

सर्वर:

port <integer>
proto udp
dev tun
ca ca.crt
cert vpnserver.crt
key vpnserver.key  # This file should be kept secret
dh dh4096.pem
tls-auth ta.key 0
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway autolocal"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

ग्राहक:

client
dev tun
proto udp
remote x.x.x.x <port number>
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vpnclient.crt
key vpnclient.key
tls-auth ta.key 1
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3

/sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.8.0.5 क्यों netmask 128.0.0.0?
एंटनी गिब्स

उनका कहना है के लिए धन्यवाद DrDinosaur serverfault.com/questions/312860/...
एंटनी गिब्स

3
अगली बार संबंधित जानकारी निकालें और इसे प्रश्न में शामिल करें। पास्टिबिन स्निपेट्स का जीवनकाल सीमित होता है।
एम एल

जवाबों:


34

समाधान में दो भाग हैं:

1. सभी यातायात को सुरंग में पुनर्निर्देशित करें

सबसे आसान समाधान - ओपनवीपीएन के --redirect-gateway autolocalविकल्प का उपयोग करें (या इसे कॉन्फिग फ़ाइल में रखें redirect-gateway autolocal

2. OpenVPN सर्वर पर ट्रैफ़िक को संभालें

अब जब सुरंग सभी ट्रैफिक से ऊपर है तो सुरंग में चली जाती है और tun0इंटरफ़ेस से सर्वर के अंत में पॉप अप हो जाती है।

इसे काम करने के लिए आपको दो चीजों को कॉन्फ़िगर करना होगा:

ए। पैकेट अग्रेषण सक्षम करें

अधिकांश वितरण में डिफ़ॉल्ट रूप से पैकेट अग्रेषण अक्षम होता है, इसलिए सुरंग इंटरफ़ेस से पैकेट कभी भी इसे सार्वजनिक इंटरफ़ेस पर नहीं बनाते हैं। आपको इसके साथ अग्रेषण सक्षम करना होगा:

~ # sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

एक बार परीक्षण करने के बाद परिवर्तन स्थायी हो जाता है /etc/sysctl.conf

यह भी सुनिश्चित करें कि iptablesअग्रेषित यातायात को अवरुद्ध नहीं कर रहे हैं:

~ # iptables -I FORWARD -j ACCEPT

यह परीक्षण के लिए पर्याप्त है - उत्पादन में आप फ़ायरवॉल नियमों को थोड़ा और विशिष्ट बनाना चाहते हैं, लेकिन यह यहाँ गुंजाइश से बाहर है।

ख। सुरंग से बाहर जाने वाले पैकेट को NAT करें

फॉरवर्डिंग सक्षम होने के साथ पैकेट डिफ़ॉल्ट रूप से उनके स्रोत पते के साथ अपरिवर्तित होते हैं, जो आपके मामले में है 10.8.0.6- ऐसे पैकेट या तो आईएसपी गेटवे पर गिरा दिए जाते हैं या भले ही वे इसे गंतव्य के लिए बनाते हैं, उत्तर कभी वापस नहीं आता है। ये निजी पते इंटरनेट पर निष्क्रिय नहीं हैं।

इसका समाधान NAT ट्रैफ़िक को NAT करना है, अर्थात 10.8.0.6वीपीएन सर्वर के सार्वजनिक IP के साथ निजी पते को बदलें । यह सुनिश्चित करेगा कि उत्तर वीपीएन सर्वर तक पहुंचते हैं और वहां वे सुरंग में वापस भेज दिए जाएंगे।

~ # iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

3. इसका परीक्षण करें

अब ping 8.8.4.4अपने वीपीएन क्लाइंट से कोशिश करें। आपको एक उत्तर देखना चाहिए। हमें बताएं कि नहीं :)


यह अब पूरी तरह से काम करता है। उच्च गुणवत्ता वाले उत्तर के लिए बहुत धन्यवाद।
ड्रोडायोसॉर

क्लाइंट साइड पर, add पुल को client.conf फ़ाइल में जोड़ें, या कमांड लाइन में --pull विकल्प जोड़ें, जिससे क्लाइंट सर्वर द्वारा पुश किए गए कॉन्फ़िगरेशन को स्वीकार करेगा। इसके अलावा अगर क्लाइंट विंडोज विस्टा या नए डिसेबल यूएसी के तहत चलता है, अन्यथा क्लाइंट पर चलने वाली ओपनपीएन सेवा रूट सेट करने में असमर्थ होगी।
विक्टर

> बी। सुरंग से बाहर जाने वाले पैकेट को NAT करें जो मेरे लिए मददगार था।
फेलिकजेड

वास्तव में इस बात का ध्यान रखें कि FORWARD -j ACCEPT नियम सर्वर को सभी के इंटरफेस के बीच एक खुला राउटर बनाता है। इसका उपयोग उत्पादन प्रणालियों पर नहीं किया जाना चाहिए। लेकिन एक HowTo के लिए यह मूल रूप से जल्दी से एक बहुत अच्छा अनुदेश सेट काम कर रहा है।
स्प्रिंटरफ्रीक

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