मैं एक पारदर्शी वीपीएन गेटवे को एक दूरस्थ नेटवर्क में स्थापित करने की कोशिश कर रहा हूं, दूरस्थ नेटवर्क पर एक ओपनवीपीएन सर्वर है और स्थानीय नेटवर्क पर एक ओपनवीपीएन क्लाइंट गेटवे के रूप में काम कर रहा है।
आरेख प्रत्येक होस्ट के लिए आईपी और मार्गों को दिखाता है, हरे रंग में मैंने उन मार्गों को चिह्नित किया है जो मैंने सभी काम करने के लिए जोड़े हैं, मैं वीपीएन सर्वर पर एनएटी बनाना चाहता हूं, इसलिए उस नेटवर्क के प्रत्येक सर्वर पर कोई अतिरिक्त मार्गों की आवश्यकता नहीं है ( डेस्टिनेशन नामक सर्वर उस नेटवर्क के सर्वर का एक उदाहरण है)।
स्पष्टीकरण जोड़ने के लिए संपादित:
मेरी समस्या केवल "वीपीएन क्लाइंट" लेबल वाले सर्वर पर रहती है, मैं नीचे वर्णित के रूप में उस सर्वर में एनएटी को कॉन्फ़िगर करके सेटअप का काम कर सकता हूं, लेकिन मैं चाहता हूं कि यह नेट के बिना "वीपीएन सर्वर" के पैकेट को रूट करे, एनएटी का प्रदर्शन किया जाएगा। "वीपीएन सर्वर" द्वारा।
मेरी समझ में "गंतव्य" लेबल वाले सर्वर पर "वर्कस्टेशन" लेबल वाले कंप्यूटर से एक पिंग काम करना चाहिए, लेकिन यह नहीं है, वीपीएन क्लाइंट से एक ही पिंग, वीपीएन सर्वर में केवल एक एनएटी के प्रदर्शन के साथ अपेक्षित रूप से काम करता है।
अगर मैं दोनों तरफ tun0 पर एक tcpdump खोलता हूं, तो मैं वीपीएन क्लाइंट पर वर्कस्टेशन से गंतव्य तक पिंग पैकेट देख सकता हूं, लेकिन वीपीएन सर्वर पर कुछ भी नहीं, यहां वीपीएन क्लाइंट पर tcpdump के लिए आउटपुट है:
$ sudo tcpdump -i tun0 'icmp'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
16:07:11.391614 IP 10.1.110.7 > 192.168.1.63: ICMP echo request, id 10871, seq 49, length 64
16:07:12.404989 IP 10.1.110.7 > 192.168.1.63: ICMP echo request, id 10871, seq 50, length 64
यदि मैं वीपीएन क्लाइंट पर एक बहाना नियम जोड़ता हूं तो पिंग गंतव्य तक पहुंचता है और उत्तर भेजता है:
$ iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
लेकिन इस सेटअप के साथ, मैं दो बार NAT का प्रदर्शन करूंगा, मैं VPN क्लाइंट को पैकेट को बिना नेटिंग के फॉरवर्ड करने के लिए तैयार करता हूं।
फ़ायरवॉल अग्रेषित नीति को स्वीकार करने के लिए सेट है:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
और कोई NAT नियम नहीं है जो हस्तक्षेप कर सकता है:
$ sudo iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
IP फ़ॉरवर्डिंग सक्षम है:
$ cat /proc/sys/net/ipv4/ip_forward
1
मुझे क्या याद आ रहा है?
10.1.110.0/24
के माध्यम सेX.X.X.X dev eth0
, जबकि अपनी VPN सर्वर पर हैeth1
। तोroute add 10.1.110.0/24 gw 192.168.0.69
गंतव्य पर।