উবুন্টু সার্ভারে স্থির রুট কীভাবে সেট করবেন?


51

আমি উবুন্টু 8.10 সাল থেকে উবুন্টু ব্যবহার করেছি; আজ আমি উবুন্টু 12.04 সার্ভারের সাথে কাজ করছি।

বুট করতে স্থির রুট রাখতে আমার সমস্যা হচ্ছে। আমি সাধারণত রুট কমান্ডগুলি রাখতাম

/sbin/route add -net <IP>/<MASK> <GW> dev <ethX>

মধ্যে /etc/rc.localঅথবা আমি একটি ফাইল (নামে তৈরি করবে routes) ডিরেক্টরির ভিতরে /etc/network/if-up/, কিন্তু আমি যে লক্ষ্য উবুন্টু 12.04 তে এটি কাজ করছে না।

আমি যদি শেলটিতে কমান্ডগুলি টাইপ করি তবে তারা কাজ করে, তবে নির্দিষ্ট ফাইলে থাকাকালীন একই কমান্ডগুলি কাজ করে না।

routesউবুন্টু 12.04-এ আমার ফাইলের নাম ( ) ভুল হতে পারে ভেবে আমি ইতিমধ্যে ফাইলটির নামটি অন্য নামগুলিতে পরিবর্তন করার চেষ্টা করেছি , তবে এটি কার্যকর হয়নি।

আমি লক্ষ্য করেছি যে কমান্ড /sbin/ifconfigকম কাজ করে /sbin/route

নেটওয়ার্ক সেট আপে কী পরিবর্তন হয়েছে?

আমি কীভাবে উবুন্টু 12.04 এ স্থিতিশীল রুটগুলি সংজ্ঞায়িত করতে পারি?


কেবল যাচাই করার জন্য: rc.local কি এক্সিকিউটেবল এবং এটি শেবাং লাইন দিয়ে শুরু হয়? এটি আপনার কমান্ডের সাথে সমস্যা হতে পারে। আপনি স্টাডারকে একটি ফাইলে পুনর্নির্দেশের চেষ্টা করতে পারেন ( your_command > stderr.txt 2>&1) এবং এর আউটপুট পরিদর্শন করতে পারেন ...
সালেম

আপনার /etc/rc.local এ নয়, / etc / নেটওয়ার্ক / ইন্টারফেসে রুট সেট করা উচিত। এবং আপনার নতুন কমান্ডগুলি ব্যবহার করা উচিত ip addএবং তা ip route। নেট নিয়ন্ত্রণ করার জন্য একটি আদেশ। :)
অ্যান্ডার্স

অবশ্যই পঠনman 5 interfaces
ডেভিড টোনহোফার

উত্তর:


64

আপনি স্থিতিশীল রুট এতে রাখতে পারেন /etc/network/interfaces:

auto eth0
iface eth0 inet static
      address 192.168.1.2
      netmask 255.255.255.0
      up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
      up route add -net 172.16.0.0 netmask 255.240.0.0 gw 192.168.1.1

13
/ এসবিন / আইপি এর সিনট্যাক্স:up ip route add 192.168.0.0/24 via 192.168.1.1
ডাব্লু 00t

1
আপনি দয়া করে উত্তরে আপনার শেষ দুটি লাইনটি ব্যাখ্যা করবেন বা জ্ঞানের উত্সটিতে একটি লিঙ্ক সরবরাহ করবেন? ধন্যবাদ!
itsols

আপনি 192-18.0.0 -Net কে ওয়াইল্ডকার্ড হিসাবে দেখতে পারবেন, সমস্ত প্যাকেটগুলি 192.168 এর জন্য নির্ধারিত আছে * * * * ডিফল্ট গেটওয়ে দিয়ে যেতে হবে 192.168.1.1। কার্নেলটি পরে সেই ডিফল্ট গেটওয়েটি সমাধান করার চেষ্টা করবে তবে এটির যদি ইতিমধ্যে একটি এআরপি এন্ট্রি থাকে তবে এটি প্যাকেটটিকে ইন্টারফেসের বাইরে পাঠিয়ে দেবে যা শিখেছে যে গেটওয়েটি পরবর্তী হপের জন্য গন্তব্য ম্যাকের সাথে থাকে on আশা করি যে কিছুটা সাহায্য করবে।
নিল ম্যাকগিল

এছাড়াও /etc/network/interfaces.d/ রয়েছে যা রুটটি স্থাপনের জন্য আরও ভাল জায়গা হতে পারে।
এলিজাহ লিন

এটি কাজ করে, তবে নেটওয়ার্ক ইন্টারফেসের জন্য ম্যান পৃষ্ঠাগুলিতে এটি বর্ণনা করা হয়নি। এই মান?
BЈовић

18

আমি প্রায়শই দেখতে পেলাম যে স্ট্যাটিক রুট সংজ্ঞায়নের সঠিক জায়গাটি / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসে রয়েছে, যদি আপনি বিশ্বজুড়ে /etc/init.d/ নেটওয়ার্কিং পুনঃসূচনা দিয়ে নেটওয়ার্কটি পুনঃসূচনা করতে যাচ্ছেন তবে ঠিক আছে। তবে আপনি যদি ইন্টারফেসটি স্বতন্ত্রভাবে শাটডাউন করার জন্য ifdown এবং ifup ব্যবহার করতে চলেছেন, তবে আইফআপটি ত্রুটির সাথে শেষ হবে:

ifup eth1

RTNETLINK answers: File exists
Failed to bring up eth1.

কারণ এটি কোনও রুট সংজ্ঞায়িত করার চেষ্টা করে তবে এটি ইতিমধ্যে সংজ্ঞায়িত। ইন্টারফেসটি যাইহোক আপ হয়ে যাবে তবে, ifup আপডেট / রান / নেটওয়ার্ক / ইফস্টেট আপডেট করবে না তাই পরের বার আপনি যদি আমাদের - ডাউন ফোর্ড ব্যবহার না করেন তবে আপনি এটি করতে সক্ষম হবেন না।

রুটগুলি ইতিমধ্যে সংজ্ঞায়িত করা থাকলেও কনফিগারেশন চালিয়ে যেতে ifup তৈরি করতে, / etc / নেটওয়ার্ক / ইন্টারফেসে রুটগুলি নির্ধারণ করার সময় আপনি এই ফর্ম্যাটটি ব্যবহার করতে পারেন

up ip route add 172.16.0.0/24 via 192.168.10.1 || true
up ip route add 192.168.0.0/16 via 192.168.10.1 || true

এইভাবে আপনার আউটপুটটিতে সতর্কতা থাকবে তবে ইন্টারফেস কনফিগারেশনটি সম্পন্ন হবে

ifup eth1

RTNETLINK answers: File exists
RTNETLINK answers: File exists
ssh stop/waiting
ssh start/running, process 18553

1
কনফিগারেশনে কেন কেবল "ডাউন আইপ রুট ডেল 192.168.0.0/16 মাধ্যমে 192.168.10.1" যুক্ত করবেন না?
w00t

কারণ লোকেরা ifconfigচালনার পরিবর্তে ম্যানুয়ালি ব্যবহারের মতো জিনিসগুলি করে ifdown, তারপরে সঠিক সরঞ্জামগুলি ব্যবহার করে পুনরুদ্ধার করতে সক্ষম হতে চাই। সুতরাং যদি সেই সরঞ্জামগুলি রাষ্ট্রকে ঠিক করার চেষ্টা করার সময় অপ্রত্যাশিত অবস্থার প্রতি মনোযোগী হয় তবে এটি সহায়ক it's || trueপরামর্শ একটি ভাল নেই। একটি ডাউন লাইন যোগ খুব সহায়ক।
ফিল পি

5
এলোমেলো ব্যবহারকারীর কাছ থেকে: আইপি কমান্ডে "অ্যাড" এর পরিবর্তে "প্রতিস্থাপন" ব্যবহার করুন। up ip route replace 172.16.0.0/24 via 192.168.10.1উদাহরণস্বরূপ : "প্রতিস্থাপন" রুটটি যদি এটি বিদ্যমান না থেকে যুক্ত করে তবে এটি যদি একই নির্বাচক সহ একটি রুট উপস্থিত থাকে তবে এটি বর্তমান গন্তব্য থাকলেও এটি বর্তমান দ্বারা প্রতিস্থাপন করা হবে।
Xen2050

9

আপনি এটি চেষ্টা করতে পারেন (এটিতে যোগ করুন /etc/network/interfaces), এটি রুটগুলি নির্ধারণের জন্য প্রায় সম্পূর্ণ উপায়:

auto eth0
iface eth0 inet static
    post-up /sbin/route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
    post-up /bin/mount -t nfs 192.168.0.203:/motd/ /motd/

6

উবুন্টুতে প্যাকেজ রয়েছে ifupdown- অতিরিক্ত উপলব্ধ av
এটি স্বয়ংক্রিয় স্ক্রিপ্টগুলি (ইনস্টল ইন /etc/network/*/) সরবরাহ করে, যার মধ্যে একটি স্থির রুট যুক্ত করতে ব্যবহৃত হয়।

এটির জন্য কনফিগারেশন ফাইলটি /etc/network/routes

এই কনফিগারেশন ফাইলের শীর্ষের একটি ভাল বর্ণনা রয়েছে:

এই কনফিগারেশন ফাইলটি স্ট্যাটিক-রুটগুলি দ্বারা পড়লে if-updateown স্ক্রিপ্ট এবং /etc/init.d/networking-routes স্ক্রিপ্ট প্রদত্ত ইন্টারফেস বা বৈশ্বিক রুটের সাথে সম্পর্কিত রুটের একটি তালিকা সেটআপ করতে পারে।

আমি ব্যবহার করি একটি উদাহরণ রুট:

192.168.240.0 255.255.255.0 192.168.130.3 em3

1

আমাদের জন্য কি কাজ ছিল

sudo route add -net 192.168.0.2/32 gw 192.168.1.1 netmask 255.255.0.0

আমি একটি ম্যাক চালাতেন:

sudo route -n add -net 192.168.0.2/32 192.168.1.1

তবে কোনও উবুন্টুতে আইপি এবং সর্বশেষ "নেটমাস্ক" অংশের মধ্যে "জিডব্লু" অনুপস্থিত ছিল (উবুন্টুতেও প্রয়োজনীয় নয়)


10
এটি অস্থায়ী (অ-
দৃistant় প্রতিরোধী

0

আমি ব্যবহার করতে পছন্দ nmcli

nmcli device modify <device-name> ipv4.routes "<ip>/<mask> <gw>" ipv4.route-metric 25

উদাহরণ স্বরূপ:

nmcli device modify wlp2s0 ipv4.routes "1.1.1.0/24 192.168.0.1" ipv4.route-metric 25

এর পরে নেটওয়ার্কম্যানেজার পরিষেবাটি পুনরায় চালু করে পরিবর্তনগুলি প্রয়োগ করুন:

sudo systemctl restart NetworkManager.service

0

ব্যবহার করে nmcliআমি একটি অবিরাম সমাধান চালাতে সক্ষম হয়েছি (@ আইসাপির সমাধানটি আমার ডিভাইসে কার্যকর হয়নি)।

sudo nmcli connection modify <conection-name> +ipv4.routes "<ip>/<mask> <gw> <mt>"

উদাহরণ স্বরূপ:

sudo nmcli connection modify ssid-name +ipv4.routes "1.1.1.0/24 192.168.0.1 100"

তারপরে এবং পুনরায় সংযোগ স্থাপনের মাধ্যমে পরিবর্তনগুলি প্রয়োগ করা সম্ভব (পুরো নেটওয়ার্ক ম্যানেজার পুনরায় আরম্ভের প্রয়োজন নেই):

sudo nmcli con down ssid-name ; sudo nmcli con up ssid-name

বর্তমান সংযোগগুলি চালিত দেখতে:

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