একই ওপেনভিপিএন প্রক্রিয়া একই সময়ে ইউডিপি এবং টিসিপি সকেটে শুনতে পারে না।
আপনার দুটি ভাল বিকল্প রয়েছে:
ওপেনভিএনপিএন-এর জন্য দুটি ট্যাপ ইন্টারফেস ব্যবহার করুন। দুটি ওপেনভিএনএন সার্ভার প্রক্রিয়া রয়েছে, প্রতিটি ট্যাপ ইন্টারফেসের জন্য একটি; একজনের ইউডিপি, অন্যটি টিসিপিতে শোনা উচিত। সার্ভারে এই দুটি ট্যাপ ইন্টারফেস ব্রিজ করুন।
দুটি টিউন ইন্টারফেস ব্যবহার করুন। এগুলি ব্রিজ করা যায় না, সুতরাং আপনি যদি টিসিপি এবং ইউডিপি ক্লায়েন্টদের মধ্যে আইপি স্পেস ভাগ করতে চান তবে আপনাকে http://thomas.gouverneur.name/2014/02/openvpn-learn-address
এ একটি স্ক্রিপ্ট ব্যবহার করতে হবে শুনুন-অন-টিসিপি-এবং-ইউডিপি-সাথে-টিউন / (তবে, এই নির্দিষ্ট স্ক্রিপ্টটি একটি / টিএমপি সিমিলিংক আক্রমণে ঝুঁকিপূর্ণ, সুতরাং আপনি / টিএমপি ব্যবহার করে লগিংটি সরিয়ে ফেলুন)।
তৃতীয় বিকল্পটি হ'ল দুটি ওপেনভিএনএন ইনস্ট্যান্স চালানো এবং উভয়ের জন্য পৃথক ক্লায়েন্টের আইপি স্পেস বরাদ্দ করা (উদাহরণস্বরূপ, প্রতিটি একই / 24 সাবনেট থেকে এক / 25)। এটি ব্রিজিং এবং শিখুন-ঠিকানা স্ক্রিপ্টের প্রয়োজনীয়তা এড়িয়ে চলে।
সম্পাদনা: যেহেতু আমার নিজের মতো একটি শিখন-ঠিকানা স্ক্রিপ্টের দরকার ছিল তাই আমি একটি লিখেছিলাম। আমি এটি পাবলিক ডোমেনে রাখি।
#!/bin/sh
#
# This script allows an openvpn server with several openvpn instances that
# use tun interfaces to share client IP space by adjusting the routing table
# to create entries towards specific clients as needed
action="$1"
addr="$2"
cn="$3" # not used, but it's there; you could e.g. log it
case "$action" in
add)
echo "sudo ip ro add $addr/32 dev $dev" >&2
exec sudo ip ro add $addr/32 dev $dev
;;
delete)
echo "sudo ip ro del $addr/32 dev $dev" >&2
sudo ip ro del $addr/32
exit 0 # ignore errors
;;
update)
echo "sudo ip ro change $addr/32 dev $dev" >&2
exec sudo ip ro change $addr/32 dev $dev
;;
esac
এই স্ক্রিপ্টটি স্টাডারে লগ করে, যা ওপেনভিপিএন লগ-এ শেষ হওয়া উচিত।
tun
ইন্টারফেসের একটি ম্যাক স্তর নেই এবং সুতরাং সেতুটির সদস্য হতে পারে না। আপনি যদি ব্রিজিং করতে চান তবে আপনারtap
ইন্টারফেস ব্যবহার করা দরকার ।