কীভাবে ওএসএক্স এল ক্যাপিটনে কাজ করতে হবে ic


10

ওএক্সএক্স এল ক্যাপিটান থেকে স্প্লিট দিগন্ত ব্যবহার করার সময়, খ্যাতিযুক্ত ভিপিএন সফ্টওয়্যারটি বিরক্ত হয়। সমস্যাটি হ'ল ডিএনএস অনুরোধগুলি ভিপিএন টানেলের ডিএনএসে সাধারণ প্রাথমিক ইন্টারফেসে প্রেরণ করা হয়।

সঠিক ইন্টারফেসের (যেমন ভিপিএন টানেল) প্রেরণের জন্য ডিএনএস অনুরোধগুলি কীভাবে আমরা পাব?

উত্তর:


11

সম্পাদিত উত্তর

(পুনরায়) প্রত্যেকের উন্নত উত্তরের (@ ইলমার্ট, @ ব্যবহারকারী26312, নিজেই) উন্নতি হয়েছে। লিপিটিতে সম্পাদনাগুলির প্রয়োজন হবে না:

#!/bin/bash
default_line=$(netstat -rn |grep default)
gateway=$(echo $default_line | awk '{print $2}')
interface=$(echo $default_line | awk '{print $6}')
echo $gateway
echo $interface

scutil <<EOF
d.init
get State:/Network/Service/forticlientsslvpn/IPv4
d.add InterfaceName ppp0
set State:/Network/Service/forticlientsslvpn/IPv4
EOF

route delete default
route delete -ifscope $interface default
route add -ifscope $interface default $gateway
route add -net 0.0.0.0 -interface $interface

আপনি যে ফাইলটি এতে রেখেছেন তা কার্যকর করুন এবং কার্যকর করুন (ভিপিএন এর সাথে সংযুক্ত হওয়ার পরে) সুডোর সাথে। স্ক্রিপ্টটি কোনও পরিবর্তন করার আগে এটি আপনার বর্তমান ডিফল্ট রুটের দিকে নজর দেয় এবং তাই আপনার বর্তমান গেটওয়ে এবং ইন্টারফেসটি জানে knows


পুরানো উত্তর

সম্পূর্ণ সমাধান নয়, প্রতিটি ভিপিএন সংযোগ স্থাপনের পরে আপনাকে নিম্নলিখিত দুটি উচ্চ-স্তরের জিনিস করতে হবে:

  1. আমাদের এ টানেলের ইন্টারফেস সেট করতে হবে ppp0
  2. ডিফল্ট রুটগুলি পুনরায় করুন (কারণ 1. স্পষ্টতই ভুল ডিফল্ট গেটওয়ে সেট করে, স্প্লিট টানেলটি এরপরে এখনও সঠিকভাবে কাজ করা উচিত)

scutil-fortiউদাহরণস্বরূপ নাম সহ একটি ফাইল তৈরি করুন

d.init
get State:/Network/Service/forticlientsslvpn/IPv4
d.add InterfaceName ppp0
set State:/Network/Service/forticlientsslvpn/IPv4

গেটওয়ে রুটগুলি পুনরায় করুন, সুতরাং routes-forti(আপনার নেটওয়ার্কের জন্য নির্দিষ্ট সেটিংসের সাথে রেখাগুলি মনে করুন) দিয়ে অন্য একটি ফাইল তৈরি করুন :

sudo route delete default
sudo route delete  -ifscope en0 default # This line depends on your interface
sudo route add -ifscope en0 default 192.168.2.252  # This depends on your normal local gateway.
sudo route add -net 0.0.0.0 -interface en0

এখন, কার্যকর

$ cat scutil-forti |sudo scutil ; bash routes-forti

তবে, সংযোগ বিচ্ছিন্ন হওয়ার পরে এই পদক্ষেপগুলি আবার ফিরিয়ে নেওয়া উচিত, তাই না?
এলমার্ট

1
টিএল; ডিআর কোনও পুনর্বার প্রয়োজন হয় না। না, State:/Network/Service/forticlientsslvpn/IPv4ভিপিএন টানেলটি একবার চলার সাথে সাথে শুরু করার জন্য কীটি রয়েছে এবং ভিপিএন টানেলটি সংযোগ বিচ্ছিন্ন হয়ে গেলে মুছে ফেলা হবে। রুটগুলি আসলে যা হওয়া উচিত তার চেয়ে আলাদা নয়।
hbogert

8

আমি @ hbogert এর সমাধানটিকে আরও পরিচালনাযোগ্য একক স্ক্রিপ্টে পুনরায় কাজ করেছি:

#!/bin/bash

scutil <<EOF
d.init
get State:/Network/Service/forticlientsslvpn/IPv4
d.add InterfaceName ppp0
set State:/Network/Service/forticlientsslvpn/IPv4
EOF

route delete default
route delete -ifscope en0 default
route add -ifscope en0 default 192.168.1.1
route add -net 0.0.0.0 -interface en0

এটি ধরে নেওয়া হচ্ছে আপনি en0 ইন্টারফেস এবং 192.168.1.1 ডিফল্ট গেটওয়ে ব্যবহার করছেন। যদি তা না হয় তবে আপনার সংশ্লিষ্ট মানগুলির সাথে এটি প্রতিস্থাপন করুন। আপনি যদি এগুলি না জানেন তবে এগুলি route get www.google.comপেতে টাইপ করুন। তারপর:

  • আপনার পথের যে কোনও জায়গায় এটি কোনও ফাইলের মধ্যে রাখুন (যেমন 'ফিক্স-ভিপিএন')।
  • এটি কার্যকর করার অনুমতিগুলি দিন ( chmod u+x fix-vpn)।
  • sudo fix-vpnভিপিএন-তে সংযোগের ঠিক পরে এটি sudo ( ) দিয়ে চালান ।

আমি চেষ্টা করেছি এবং এটি কাজ করে। আমি যেমন বলেছি, এটি কেবল পূর্ববর্তী সমাধানগুলির একটি পুনরায় কাজ। আমি এটিকে পৃথক উত্তর হিসাবে পোস্ট করেছি কারণ একটি মন্তব্যে আমার পর্যাপ্ত জায়গা নেই।

বিটিডাব্লু, আমিও ভেবেছিলাম এটিকে কোনও /etc/ppp/ip-upস্ক্রিপ্টে অন্তর্ভুক্ত করা যেতে পারে যাতে সংযোগের সময় এটি স্বয়ংক্রিয়ভাবে কার্যকর হয়। তবে কিছু কারণে, এটি সেভাবে কাজ করে না। যদি কেউ এর উপর ব্যাখ্যা / উন্নতি করতে পারে তবে দয়া করে করুন।


4

আমি ফোর্টিক্লিয়েন্টের একটি পুরানো সংস্করণ ব্যবহার করতে সক্ষম হয়েছি এবং এটি নিশ্চিত হয়ে গেছে যে!

আমার ড্রপবক্সে এটির লিঙ্কটি এখানে:

https://www.dropbox.com/s/p43ssvp0gusmzeq/forticlientsslvpn_macosx_4.0.2297.dmg?dl=0


1
এটি দেখায় যে সমস্যাটি ক্লায়েন্টের সাথে, ওএস নয়
অ্যারন ব্র্যাচার

1

আপডেট: ম্যাক ওএস এক্স এর জন্য সর্বাধিক নতুন এবং অফিশিয়াল সংস্করণ 5.4.1 ডাউনলোড এবং ইনস্টল করা ম্যাক ওএস এক্স এল ক্যাপিটেনে সমস্ত সমস্যার সমাধান করে।

দুর্গ ফোরামটিতে বর্ণিত হিসাবে ম্যাক ওএস এক্স এল ক্যাপিটেনে সমস্যা সমাধানের জন্য ফরটিচ্লিয়েন্টের সর্বশেষ (এখনও অপ্রকাশিত) সংস্করণটি ডাউনলোড করা উচিত:

https://www.dropbox.com/sh/cb0j4pxw1f8nq84/AABHzZW1bpx1VjzYAmiK00S9a?dl=0

এটি ছিল আমার পক্ষে সবচেয়ে সহজ সমাধান।


0

@ এলমার্টের উত্তরে কিছুটা উন্নতি করা (আমার মনে হয়)।

#!/bin/bash
scutil <<EOF
d.init
get State:/Network/Service/forticlientsslvpn/IPv4
d.add InterfaceName ppp0
set State:/Network/Service/forticlientsslvpn/IPv4
EOF
ROUTE_OUT=$(route get www.google.com)
GATEWAY=$(echo "${ROUTE_OUT}"|grep gateway|cut -d':' -f2|xargs)
INTERFACE=$(echo "${ROUTE_OUT}"|grep interface|cut -d':' -f2|xargs)

echo "Fixing $INTERFACE with gateway $GATEWAY"

route delete default
route delete -ifscope $INTEFACE default
route add -ifscope $INTERFACE default $GATEWAY
route add -net 0.0.0.0 -interface $INTERFACE

এইভাবে স্ক্রিপ্টটি সম্পাদনা করার দরকার নেই (এবং ইন্টারফেস পরিবর্তন করা কোনও সমস্যা হওয়া উচিত নয়)। xargsসাদা স্থান ফালা ব্যবহার করতে ব্যবহৃত হয়।

আমি আরও যোগ করেছি (যদিও আমি জানি না এটি কোনও উন্নতি কিনা):

rootcheck () {
  if [ $(id -u) != "0" ]
    then
      echo "We need sudo permissions to run this script"
      sudo "$0" "$@"  # Modified as suggested below.
      exit $?
  fi
}

rootcheck "$@"

লোককে সুডো ব্যবহারের জন্য মনে করিয়ে দেওয়ার জন্য স্ক্রিপ্টের একেবারে শুরু।


route getডিএনএসের উপর নির্ভরতা দূর করতে কমান্ডটিতে একটি আইপি ঠিকানা ব্যবহার করা ভাল ।
কাস্পারড

যেহেতু এই প্রশ্নের ইস্যুটি বিভক্ত মস্তিষ্কের সাথে রয়েছে, ভিপিএন সংযুক্ত হওয়ার পরেও আপনার ডিফল্ট রুটটি সম্ভবত আপনার গেটওয়ে। $ netstat -rnগেটওয়ে এবং ইন্টারফেসটি পেতে আপনি কেবল স্ক্র্যাপ করতে পারেন।
hbogert

0

আমি hbogert এর স্ক্রিপ্টটি নিয়েছিলাম এবং এটি আমার এবং অন্য কর্মচারীর জন্য অ্যাপ্লিক্রিপ্টে মুড়িয়ে ফেলেছি, এটি এখানে উপলভ্য: https ://www.DPboxboxss/lh0hsqdesk3i0n7/Execute-Post-VPN-Connication.app.zip?dl=0

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


0

ফরটি ক্লায়েন্টের সরবরাহকারীর আগে গুগল ডিএনএস সার্ভারগুলি ব্যবহার করার জন্য ডিএনএস সেটিংসটি পুনরায় কনফিগার করে আমি আমার সমস্যার সমাধান করেছি। দুর্ভাগ্যক্রমে, প্রতিটি পুনরায় সংযোগের পরে এটি করতে হবে।

#!/bin/bash
scutil <<EOF
d.init
d.add ServerAddresses 8.8.8.8 8.8.4.4 <IP ADDRESSES FOR DNS FROM FORTICLIENT>
set State:/Network/Service/forticlientsslvpn/DNS
quit
EOF

এই সম্পর্কে বিশদ এখানে পাওয়া যাবে


তাহলে আমার যদি সংস্থার নেটওয়ার্কে হোস্টনামগুলি সমাধান করার জন্য আমার সংস্থার ডিএনএস দরকার?
hbogert

এটি ভিপিএন কীভাবে কনফিগার করা হয়েছে তার উপর নির্ভর করে। সাধারণত, "অভ্যন্তরীণ" ডিএনএস সার্ভারগুলি আপনার মেশিনে দিয়ে যায়। এগুলিই আমি "<আইপি অ্যাড্রেসগুলি ফর ডিএনএস ফর্মালিয়ান্ট>" থেকে ডেকে আছি। যদি আপনার মেশিনটি 8.8.8.8 বা 8.8.4.4 দিয়ে কোনও ঠিকানা সমাধান করতে না পারে তবে এটি "<আইপি অ্যাড্রেসেস ফর ফর্মালিটি>>" এ আইপি ঠিকানাগুলি দ্বারা সংজ্ঞায়িত ডিএনএস সার্ভার ব্যবহার করে।
ক্রিস্টোফ হারম্যান

0

আমার বর্তমান ওএস এক্স সংস্করণে (সিয়েরা 10.12.6) এবং ফোর্টিক্লিয়েন্ট 5.6.1 দেখে মনে হচ্ছে সার্ভারএড্রেসসের যদি 2 টির বেশি ঠিকানা থাকে তবে "সেট" কলটি কিছুতেই থাকে না (যদি আপনি "পান" তবে কিছুই হত না আপডেট করা হয়েছে)। এটি ঠিকঠাক করার জন্য, আমি কেবলমাত্র প্রথম ফরটিসিলেট ডিএনএস ঠিকানা রাখার এবং এটি আমার পাবলিক ডিএনএস ঠিকানার (8.8.8.8) সাথে একীভূত করার সিদ্ধান্ত নিয়েছি।

তদুপরি, আমি ফরটিচ্লিয়েন্ট সংযোগে বাশ স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে চালনার পরামর্শ দিচ্ছি: এটি ফরটিচ্লিয়েন্ট কনফিগারেশন স্ক্রিপ্ট রফতানি করে পুনরায় আমদানির মাধ্যমে করা যেতে পারে it

নীচে সম্পূর্ণ গাইড:

1 / নিম্নলিখিত বাশ স্ক্রিপ্ট তৈরি করুন এবং এটি কোথাও সংরক্ষণ করুন (আমার ক্ষেত্রে এটি ছিল ~/bashscripts/update-forticlient-dns.sh) এবং আপনার ফোর্টি ক্লায়েন্ট সংযোগ শেষ <FIRST IP ADDRESS FOR FORTICLIENT DNS>হওয়ার scutil --dns | grep "nameserver\[0\]"পরে ফলাফলটি প্রতিস্থাপন করতে ভুলবেন না

#!/bin/bash

ROOT_PASSWORD=$1

# Uncomment this if you want to log everything happening during this script execution into a dedicated log file
# exec >/tmp/forticlient-log 2>&1

# Ensuring we did a sudo correctly once
# Because we cannot both use a pipe and an stdin redirection at the same time
# (or at least, my bash knowledge is not wide enough for that :-))
echo "$ROOT_PASSWORD" | sudo -S ls /dev/null
sudo scutil <<EOF
get State:/Network/Service/forticlientsslvpn/DNS
d.add ServerAddresses 8.8.8.8 <FIRST IP ADDRESS FOR FORTICLIENT DNS>
set State:/Network/Service/forticlientsslvpn/DNS
quit
EOF

2 / চালান FortiClient, তারপর ঢোকা পছন্দসমূহ > সাধারণ এবং ক্লিক করুন ব্যাকআপ বোতাম যা কোনো ফাইল আপনার FortiClient কনফিগারেশন রপ্তানি করবে

3 / এই ফাইলে, / Forticlient_configration / vpn / sslvpn / कनेक्शन / সংযোগ [নাম = "আপনার সংযোগ"] / অন_কনেক্ট / স্ক্রিপ্ট / স্ক্রিপ্ট নোডটি সন্ধান করুন এবং এর মধ্যে আপনার স্ক্রিপ্টটি কল করুন:

<on_connect>
   <script>
      <os>mac</os>
      <script>/Users/fcamblor/bashscripts/update-forticlient-dns.sh "your_secret_root_password_here"</script>
    </script>
</on_connect>

4 / ফোর্টি ক্লায়েন্ট কনসোলে ফিরে যান, নীচে বাম কোণে লকটি ক্লিক করুন, তারপরে পছন্দগুলি > সাধারণ যান এবং পুনরুদ্ধার বোতামটি ক্লিক করুন: আপনার আপডেট হওয়া কনফিগারেশন ফাইলটি সন্ধান করুন এবং এটাই, আপনার ডিএনএস কনফিগারেশনটি প্রতিটি সময় ফ্লাইতে আপডেট হবে ভিপিএন এর সাথে সংযোগ করুন।

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