কীভাবে দুটি ওপেনভিপিএন সার্ভার চেইন করবেন?


3

আমি ওপেনভিপিএন ব্যবহার করে দুটি ভিপিএন সুড়ঙ্গ করতে চাইছি। সুতরাং, ক্লায়েন্টটি প্রথম ভিপিএন-এর সাথে সংযোগ স্থাপন করবে এবং দ্বিতীয় ভিপিএন-তে পুনঃনির্দেশিত হবে। (এগুলি সমস্ত ভিপিএস, এটিতে আমার কাছে শারীরিক অ্যাক্সেস নেই কারণ এটি আরও পরে গুরুত্বপূর্ণ হবে))

সুতরাং, এখানে ছবি:

Client              VPN1                    VPN2
10.8.0.2[tun0]------10.8.0.1[tun0]
[1.1.1.1][eth0]     10.8.100.2[tun1]----------10.8.100.1[tun0]
                    45.55.45.55[eth0]         186.186.186.186[eth0]------internet

সার্ভার কনফিগারেশন একটি দুর্দান্ত মান কনফিগারেশন:

port 1194
auth-user-pass-verify /etc/openvpn/script/login.py via-env
username-as-common-name
script-security 3
proto udp
dev tun
duplicate-cn
sndbuf 0
rcvbuf 0
vca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0 (or 10.8.100.0 in the VPN2)
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

ক্লায়েন্ট কনফিগারেশন এছাড়াও, বেশ মানক:

client
dev tun
auth-user-pass login.txt
proto udp
sndbuf 0
rcvbuf 0
remote 45.55.45.55 1194 (or 186.186.186.186 for VPN2)
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-128-CBC
comp-lzo
key-direction 1
verb 3

সুতরাং, ভিপিএন শৃঙ্খলা অর্জনের জন্য, আমি সরাসরি ভিপিএন 1 এর সাথে সংযোগ করছি।

openvpn --config toOpenVPN1.ovpn

আমি যদি ভিপিএন 1 থেকে ভিপিএন 2 এ এর ​​সাথে সংযোগ স্থাপন করি তবে আমি ভিপিএন 1 সার্ভার থেকে লক আউট হয়ে যাব, কারণ সমস্ত ট্র্যাফিক ভিপিএন 2 তে পুনঃনির্দেশিত হয়ে যায় এবং ভিপিএন 1 এর সর্বজনীন আইপি ভিপিএন 2 তে সেট করা থাকে। সুতরাং, আমি দ্বিতীয় ভিপিএন থেকে --route-nopull বিকল্পের সাথে আগত ধাক্কা দেওয়া রুটটিকে প্রত্যাখ্যান করি।

openvpn --config toOpenVPN2.ovpn --route-nopull

সুতরাং, এই সূক্ষ্ম সংযোগ। আমার লোকালহোস্ট থেকে ভিপিএন 1 এ ট্রাফিক আছে এবং আমার সার্বজনীন আইপি ভিপিএন 1। আমি, এছাড়াও, টিউনএক্স ইন্টারফেসের জন্য আইপি নির্ধারিত করেছি। তবে এখনও লোকালহোস্ট (ক্লায়েন্ট) থেকে ভিপিএন 2 তে কোনও ট্র্যাফিক আসছে না। এটি কাজ করতে আমাকে রুটগুলি তৈরি করতে হবে। এবং এটি ছিল আমি ব্যর্থ।

যেহেতু ক্লায়েন্টের ট্র্যাফিক অন্য কোনও জায়গায় পুনর্নির্দেশ করা হচ্ছে সেদিকে যত্ন নেওয়ার দরকার নেই, তাই আমি ধরে নিচ্ছি যে এর পাশে (ক্লায়েন্ট) করার জন্য কোনও কনফিগারেশন বা iptables বিধি নেই। একই ভিপিএন 2 সার্ভারের অনুসরণ করে, এটি ভিপিএন 1 বা অন্য সমযোজীদের কাছ থেকে আসছে কিনা তা জানা দরকার নেই। সুতরাং, আমাকে সেটআপ করতে হবে কেবল ভিপিএন 1 কনফিগারেশন।

সবার আগে, আমি iptables নিয়মগুলি নীচের হিসাবে সেট করব। এটি কেবল ট্র্যাফিককে যেতে দেয়।

iptables -A INPUT -i tun1 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun1 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o tun1 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p udp -m multiport --dports 6880:7000 -j DROP
iptables -A FORWARD -i tun1 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.100.0/24 -i tun0 -o tun1 -m conntrack --ctstate NEW -j ACCEPT 
iptables -A FORWARD -s 10.8.100.0/24 -d 10.8.0.0/24 -i tun1 -o tun0 -m conntrack --ctstate NEW -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE

এখন, আমি একজন পিয়ারের সাথে অন্যদের দেখার জন্য রুটগুলি তৈরি করতে চাই:

route add 0.0.0.0/0 dev tun0
route add 0.0.0.0/0 dev tun1
### route from the the first tunnel, through the client's IP
route add -net 10.8.0.0/24 gw 10.8.0.2 dev tun0
### same for the 2nd
route add -net 10.8.100.0/24 gw 10.8.100.1 dev tun1
### route all the traffic to the 2nd VPN
### end server's IP and internet's gateway
route add 186.186.186.186 gw 45.55.45.1
route add default gw 10.8.100.1 dev tun1 <<<<<<<<<<<<<<<<<< got locked out of VPN1 server

সুতরাং, হয় বা আমি ভুল রুট তৈরি করছি বা iptables নিয়মগুলি সঠিকভাবে সেট আপ করা হয়নি, তবে আমার কাছে একজন ক্লায়েন্ট থেকে দ্বিতীয় ভিপিএন-তে ট্র্যাফিক আসতে পারে না। এবং অনেক চেষ্টা করার পরেও আমি সর্বদা ভিপিএন 1 থেকে লক আউট করে চলেছি।

ভিপিএন 1 এর জন্য কীভাবে সঠিক রুটের সেট হবে?

উত্তর:


1

সুতরাং, আমি এটি খুঁজে বের করতে। এটি করার জন্য, আপনার যে সমস্ত প্যাকেজ ফরোয়ার্ড করতে চান তা চিহ্নিত করতে একজনকে কাস্টম রাউটিং টেবিল এবং iptables নিয়ম ব্যবহার করতে হবে।

উদাহরণস্বরূপ, টিসিপিতে একটি পোর্ট ফরওয়ার্ড করতে আপনি এমন কিছু ব্যবহার করতে পারেন:

iptables -t mangle -I PREROUTING -p tcp -m multiport --dport 9999 -j MARK --set-mark 0x9999

তারপরে, /etc/iproute2/rt_tablesচিহ্নিত চিহ্নিত প্যাকেটের জন্য একটি রাউটিং টেবিল তৈরি করুন : আসুন বলি 9999 tableToForward

অবশেষে, tun1ইন্টারফেসের মাধ্যমে সেই চিহ্নিত টেবিলে সমস্ত চিহ্নিত প্যাকেটগুলি ফরোয়ার্ড করার জন্য দুটি নিয়ম যুক্ত করুন :

ip route add 0.0.0.0/0 dev tun1 table tableToForward
ip rule add from all fwmark 1 table tableToForward

0

openvpn --config toOpenVPN2.ovpn --route-nopull

ভাল কাজ

দুটি ভিপিএন সার্ভার, একটি উপরের কমান্ডের সাথে আবার ওপেনপিএন দিয়ে অন্যের সাথে সংযুক্ত।

ইন্টারনেট অ্যাক্সেস কাজ করেছে, ছাড়াই - রুট-নপুল ইন্টারনেট অ্যাক্সেস কাজ করে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.