অ্যাপাচি / এসএসএলের সাথে ওপেনভিপিএন পোর্ট-শেয়ার করুন


8

আমি 443 বন্দরটি শুনতে ওপেনভিপিএন স্থাপনের চেষ্টা করছি এবং তারপরে port-shareঅপশনটি ব্যবহার করে সমস্ত এইচটিটিপিএস ট্র্যাফিক অ্যাপাচে প্রেরণ করব । প্রাসঙ্গিক কনফিগার স্নিপেটগুলি হ'ল:

VPN খুলুন

local ${PUBLIC_IP}
port 443
port-share localhost 443

এসএসএল সহ অ্যাপাচি

Listen localhost:443

আমার ওপেনভিপিএন ক্লায়েন্ট কেবল সূক্ষ্মভাবে সংযোগ করে তবে এইচটিটিপিএস সক্ষম পৃষ্ঠাটি খোলার সময় আমি ত্রুটিগুলি পাই। ফায়ারফক্স বলেছেন:

এসএসএল একটি রেকর্ড পেয়েছে যা সর্বোচ্চ অনুমোদিত দৈর্ঘ্য ছাড়িয়েছে।

(ত্রুটি কোড: ssl_error_rx_record_too_long)

কার্ল বলে

কার্ল: (35) ত্রুটি: 140770FC: এসএসএল রুটিনগুলি: SSL23_GET_SERVER_HELLO: অজানা প্রোটোকল

অনুরোধটি অ্যাপাচি-তে শেষ হয়েছে, যেহেতু আমি ত্রুটিটি দেখছি নিম্নলিখিত বার্তাগুলি লগ করে:

[Wed Oct 06 01:10:20 2010] [error] [client 127.0.0.1] Invalid method in request \x16\x03\x01
[Wed Oct 06 01:11:04 2010] [error] [client 127.0.0.1] Invalid method in request \x16\x03\x01
[Wed Oct 06 01:11:51 2010] [error] [client 127.0.0.1] Invalid method in request \x16\x03\x01

এইচটিটিপিএস সংযোগের জন্য বার্তাগুলি এন্ট্রি

Oct  6 01:13:21 ns1 openvpn[20154]: Re-using SSL/TLS context
Oct  6 01:13:21 ns1 openvpn[20154]: LZO compression initialized
Oct  6 01:13:21 ns1 openvpn[20154]: Control Channel MTU parms [ L:1544 D:140 EF:40 EB:0 ET:0 EL:0 ]
Oct  6 01:13:21 ns1 openvpn[20154]: Data Channel MTU parms [ L:1544 D:1450 EF:44 EB:135 ET:0 EL:0 AF:3/1 ]
Oct  6 01:13:21 ns1 openvpn[20154]: Local Options hash (VER=V4): 'c0103fa8'
Oct  6 01:13:21 ns1 openvpn[20154]: Expected Remote Options hash (VER=V4): '69109d17'
Oct  6 01:13:21 ns1 openvpn[20154]: TCP connection established with ${CLIENT_IP}:56203
Oct  6 01:13:21 ns1 openvpn[20154]: TCPv4_SERVER link local: [undef]
Oct  6 01:13:21 ns1 openvpn[20154]: TCPv4_SERVER link remote: ${CLIENT_IP}:56203
Oct  6 01:13:21 ns1 openvpn[20154]: ${CLIENT_IP}:56203 Non-OpenVPN client protocol detected
Oct  6 01:13:21 ns1 openvpn[20154]: TCP/UDP: Closing socket

Httpd-2.2.3-43.el5.centos এবং openvpn-2.1.1-2.el5 ব্যবহার করা হচ্ছে।

বন্দর ভাগ করে নেওয়ার কাজটি করার জন্য আমার কী করা উচিত?


আপডেট : ব্যবহার

port 443
port-share localhost 10443

এবং

Listen localhost:10443

কোন পার্থক্য করে না।


আপডেট 2 : কিছু কমান্ড আউটপুট

[root@ns1 ~]# openvpn --help | grep port-share
--port-share host port : When run in TCP mode, proxy incoming HTTPS sessions
[root@ns1 ~]# netstat -nltp | grep 443
tcp        0      0 127.0.0.1:10443             0.0.0.0:*                   LISTEN      20088/httpd         
tcp        0      0 ${PUBLIC_IP}:443             0.0.0.0:*                   LISTEN      20066/openvpn       

উত্তর:


8

port-shareবিকল্প বন্দর সেট করে অন্যান্য অ্যাপ্লিকেশন শুনছে।

আপনি যা করতে চান তা হ'ল কনফিগার করা

পোর্ট-শেয়ার 10443

এবং অ্যাপাচি 10443 পোর্টে শুনতে সেট করুন:

শুনুন << আপনার - প্রজাতন্ত্র-ip>: 10443

কারণ দুটি অ্যাপ্লিকেশন একই পোর্ট একবারে খুলতে পারে না।


আপনার উত্তর দেওয়ার জন্য ধন্যবাদ. ওপেনভিপিএন জনসাধারণের ঠিকানায় আবদ্ধ থাকে, অন্যদিকে অ্যাপাচি লোকালহোস্টে আবদ্ধ থাকে। আমি সুযোগ পেলে আমি অ্যাপাচি পোর্টটি পরিবর্তন করব, তবে তারা দুটি ঠিকানা ব্যবহার করার কারণে দুটি অ্যাপ্লিকেশন একই বন্দরে বাঁধতে পারে
রবার্ট মুন্তানু

হ্যাঁ, সত্য, তবে সম্ভবত ওপেনভিপিএন লোকালহোস্ট নয়, একই আইপিতে পুনর্নির্দেশ করবে (হ'ল এটি করা বুদ্ধিমান কাজ হবে)
হুবার্ট কারিও

আমি আসলে বলতে চাইছিলাম port-share localhost 443। আমি চেষ্টা করেছি port-share localhost 10443, কিন্তু এটি এখনও কার্যকর হয়নি, একই ত্রুটি।
রবার্ট মুন্তানু

আহ, দুঃখিত, আমি একটি কথা বলছিলাম এবং অন্যটির জন্য কনফিগারেশন প্রদর্শন করছিলাম। আমি অনুমান করতে পারি যে আপাচে একই আইপি শুনতে হবে ওপেনভিপিএন শুনছে, এটি পাবলিক, লোকালহোস্ট নয়। আমার উত্তর আপডেট।
হুবার্ট কারিও

আরও একটি বিষয়, আপনি কি নিশ্চিত যে আপনার ওপেনভিপিএন সংস্করণ এই বিকল্পটিকে সমর্থন করে? (দিয়ে চেষ্টা করুন openvpn --help | grep port-share)। এবং আপনি কি নিশ্চিত যে অ্যাপাচি কনফিগার করা বন্দরে শুনে এবং এসএসএল কাজ করে?
হুবার্ট কারিও

2

আমার সার্ভারের জন্য উপযুক্ত একটি উত্তর খুঁজতে গিয়ে আমি portshareওপেনভিপিএন কনফিগারেশনের ফাংশন সম্পর্কে সবাইকে কথা বললাম । তবে, আমার ক্ষেত্রে, লগিং এবং অন্যান্য ক্রিয়াকলাপগুলির জন্য আমার আসল ক্লায়েন্টের আইপি ঠিকানাটি জানতে হবে। আমি দেখতে পেয়েছি যে portshareসার্ভারের স্থানীয় আইপি ব্যবহারের ফলে লগ হয়।

এটি ঠিক করতে,

  1. portshare [port]ওপেনভিপিএন-এ ফাংশন যুক্ত করুন
  2. শুনতে অ্যাপাচি সার্ভার সেট করুন [port]
  3. প্রক্সিপ্রোটোকল এক্সটেনশানটি ইনস্টল করুন (রেপো রিডমিমে দেওয়া নির্দেশাবলী অনুসরণ করে) থেকে পাওয়া: https://github.com/roadrunner2/mod-proxy-protocol
  4. ProxyProtocol Onঅ্যাপাচি কনফিগারেশনে লাইন যুক্ত করুন ।

এটি কাজ এবং উপরোক্ত উদ্দেশ্য পরিবেশন করা উচিত। কেবল এটি পোস্ট করা হয়েছে এবং আশা করি যে এটি এমন কাউকে সহায়তা করতে পারে যা আমার মতো কিছু করতে চায়।


1

ওপেনভিপিএন-এর পোর্ট-শেয়ার বিকল্প আপনাকে নিয়মিত ওয়েব সার্ভারে নয়, অন্য কোনও এইচটিপিপিএস সাইটে ট্র্যাফিক পুনঃনির্দেশ করার অনুমতি দেয়; আপনি যে ত্রুটিটি দেখছেন

[error] [client 127.0.0.1] Invalid method in request \x16\x03\x01

যখন কোনও এসএসএল অনুরোধটি একটি নন-এসএসএল সাইটে প্রেরণ করা হয় তখন ঘটে। আমি ত্রুটিটি ব্যবহার করে পুনরুত্পাদন করতে পারি

  port-share localhost 80

(443 এর পরিবর্তে) আপনি যদি আপনার এইচটিটিপিএস সাইটটি সঠিকভাবে সেট আপ করেন তবে পোর্ট ভাগ করে নেওয়া কাজ করবে।

আছে HTH,

JJK


0

আপডেট: আমি লক্ষ্য করেছি যে ওয়েবসাইট দর্শকদের আইপি ঠিকানাটি সর্বদা 127.0.0.1ওয়েব সার্ভার লগগুলিতে থাকবে। আপনি যদি কোনও সংযোগের মূল জানতে চান বা কোনও সরঞ্জাম ব্যবহার করতে চান তবে এটি একটি সমস্যা fail2ban। দেখে মনে হচ্ছে যে যদি আমরা ওপেনভিপিএন port-share( https://forums.openvpn.net/viewtopic.php?t=22599 ) ব্যবহার করি তবে অ্যাপাচি লগগুলিতে দর্শকের আসল আইপি ঠিকানা পাওয়ার কোনও উপায় নেই , তাই আমি এসএসএলএইচ সরঞ্জামটি ব্যবহার করেছি স্বচ্ছ মোডে: /unix/373717/how-does-sslhs-transparent-mode-work/532333#532333

আসল উত্তর:

যদি কেউ ওপেনভিপিএন অ্যাক্সেস সার্ভার ব্যবহার করে তবে আপনাকে /usr/local/openvpn_as/scripts/(উদাহরণস্বরূপ দেবিয়ানে) যেতে হবে এবং এই আদেশটি কার্যকর করতে হবে:

./sacli --key "vpn.server.port_share.enable" --value "true" ConfigPut ./sacli --key "vpn.server.port_share.service" --value "custom" ConfigPut ./sacli --key "vpn.server.port_share.ip_address" --value <LOCAL_IP> ConfigPut ./sacli --key "vpn.server.port_share.port" --value <PORT> ConfigPut ./sacli start

সূত্র:

https://forums.openvpn.net/viewtopic.php?p=78630#p78630

https://openvpn.net/vpn-server-resources/managing-settings-for-the-web-services-from-the-command-line/#Change_the_web_service_forwarding_settings

আমার ক্ষেত্রে কীটির জন্য vpn.server.port_share.serviceআমার কমান্ডটি করা দরকার ছিল না এবং আমি এর service openvpnas restartপরিবর্তে কমান্ডটি ব্যবহার করেছি ./sacli start

আমি প্রতিস্থাপিত <LOCAL_IP>সঙ্গে 127.0.0.1এবং <PORT>সঙ্গে 4443যেহেতু আমি এ্যাপাচি কনফিগার বন্দর 4443 শুনতে হয়।

আমার ফাইলটি /etc/apache2/ports.confএটির মতো কনফিগার করা হয়েছে:

Listen 80

<IfModule ssl_module>
        Listen 4443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 4443
</IfModule>

এবং আমার অ্যাপাচি এসএসএল কনফিগারেশনটি এর /etc/apache2/sites-enabled/000-default.confশুরু হয়: <IfModule mod_ssl.c> <VirtualHost *:4443>

দ্রষ্টব্য: সেটআপ করা সহজ হওয়ায় আমি অতীতে ওপেনভিপিএন অ্যাক্সেস সার্ভার ব্যবহার করেছি। ওপেনভিপিএন সেটআপ করার জন্য বিকল্প স্ক্রিপ্টগুলি রয়েছে যা ওপেন সোর্স হওয়ার সুবিধা রয়েছে এবং ব্যবহারকারীর সংখ্যা সীমাবদ্ধ করে না, উদাহরণস্বরূপ: https://github.com/Nyr/openvpn-install

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