স্থায়ী রুট যুক্ত করার সর্বোত্তম উপায় কী?


11

আমাকে এমন একটি রুট যুক্ত করতে হবে যা পুনরায় বুট করার পরে মোছা হবে না। আমি এটি করার দুটি উপায় পড়েছি:

যোগ ip route add -net 172.X.X.0/24 gw 172.X.X.X dev ethXফাইলে /etc/network/interfaces

অথবা

ফাইল /etc/network/if-up.d/route এর সাথে তৈরি করুন :

#!/bin/sh
route add -net 172.X.X.0/24 gw 172.X.X.X dev ethX

এবং এটি কার্যকর করা:

chmod +x /etc/network/if-up.d/route

তাই আমি বিভ্রান্ত এটি করার সর্বোত্তম উপায় কী?


1
দেখে মনে হচ্ছে আপনি লিনাক্স সিস্টেমে ফোকাস করছেন? (আমাদের কাছে AIX, HPUX, Irix, সোলারিস, ....) রয়েছে।
জেফ শ্যাচলার

আপনি ঠিক বলেছেন দুঃখিত আমি এটি নির্দিষ্ট করে নি যে এটি একটি লিনাক্স ডেবিয়ান সিস্টেমে ছিল। এটি আমার মনে করিয়ে দেওয়ার জন্য ধন্যবাদ।
পোজিনাক্স

নেট-টুলস কমান্ডের ip route add <network> via <IP> dev <DEV>পরিবর্তে আইফ্রুট 2 কমান্ডগুলি ব্যবহার করা উচিত (
আইফোনফিগ

উত্তর:


14

আপনি উল্লেখ করেছেন /etc/network/interfaces, সুতরাং এটি একটি ডেবিয়ান সিস্টেম ...

একটি নামকরণের রাউটিং টেবিল তৈরি করুন। উদাহরণ হিসাবে আমি নীচে "মিলিগ্রাম" নাম ব্যবহার করেছি।

echo '200 mgmt' >> /etc/iproute2/rt_tables

উপরে, কার্নেল অনেকগুলি রাউটিং টেবিল সমর্থন করে এবং 0-255 সংখ্যাযুক্ত অনন্য পূর্ণসংখ্যার দ্বারা এগুলি উল্লেখ করে। একটি নাম, মিলিগ্রাম টেবিলের জন্যও সংজ্ঞায়িত করা হয়েছে।

নীচে, একটি ডিফল্ট নীচে এক নজরে /etc/iproute2/rt_tablesঅনুসরণ করে দেখায় যে কিছু নম্বর সংরক্ষিত রয়েছে। 200 এর এই উত্তরের পছন্দটি নির্বিচারে; একজন ইতিমধ্যে ব্যবহারযোগ্য নয় এমন কোনও নম্বর ব্যবহার করতে পারেন, 1-252।

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#

নীচে, একটি ডেবিয়ান 7/8 ইন্টারফেস ফাইল সংজ্ঞায়িত করে eth0এবং eth1eth1172 নেটওয়ার্ক। eth0পাশাপাশি ডিএইচসিপি ব্যবহার করতে পারে। 172.16.100.10নির্ধারিত আইপি ঠিকানা eth1172.16.100.1রাউটারের আইপি ঠিকানা।

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The production network interface
auto eth0
allow-hotplug eth0
# iface eth0 inet dhcp 
# Remove the stanzas below if using DHCP.
iface eth0 inet static
  address 10.10.10.140
  netmask 255.255.255.0
  gateway 10.10.10.1

# The management network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
  address 172.16.100.10
  netmask 255.255.255.0
  post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.10 table mgmt
  post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
  post-up ip rule add from 172.16.100.10/32 table mgmt
  post-up ip rule add to 172.16.100.10/32 table mgmt

নেটওয়ার্ক পুনরায় বুট করুন বা পুনরায় চালু করুন।

আপডেট - ইএল উপর বিস্ফোরক

আমি একটি মন্তব্যে লক্ষ্য করেছি যে আপনি "RHEL এর জন্যও ভাবছিলেন।" এন্টারপ্রাইজ লিনাক্সে ("EL" - RHEL / CentOS / et al), উপরে বর্ণিত একটি নামকরণের রাউটিং টেবিল তৈরি করুন।

EL /etc/sysconfig/networkফাইল:

NETWORKING=yes
HOSTNAME=host.sld.tld
GATEWAY=10.10.10.1

EL /etc/sysconfig/network-scripts/ifcfg-eth0ফাইলটি একটি স্ট্যাটিক কনফিগারেশন ব্যবহার করে (নেটওয়ার্কম্যানেজার ব্যতীত এবং নীচে "এইচডাব্ল্যাডিআর" এবং "ইউআইডি" উদাহরণ হিসাবে উল্লেখ না করে) অনুসরণ করে।

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=10.10.10.140
NETMASK=255.255.255.0
NETWORK=10.10.10.0
BROADCAST=10.10.10.255

EL /etc/sysconfig/network-scripts/ifcfg-eth1ফাইল (নেটওয়ার্ক ম্যানেজার ব্যতীত এবং "HWADDR" এবং উদাহরণস্বরূপ, "ইউইউডি" নীচে উল্লেখ করা হয়নি) নীচে অনুসরণ করেছে।

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTOCOL=none
IPADDR=172.16.100.10
NETMASK=255.255.255.0
NETWORK=172.16.100.0
BROADCAST=172.16.100.255

EL /etc/sysconfig/network-scripts/route-eth1ফাইল:

172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt

EL /etc/sysconfig/network-scripts/rule-eth1ফাইল:

from 172.16.100.0/24 lookup mgmt

-1

দেবিয়ান ভিত্তিক ডিস্ট্রোতে আপনি স্থায়ীভাবে স্থায়ী রুট যুক্ত করতে পারেন:

 echo "up route add -net 172.X.X.X/24 gw 172.X.X.X dev ethX" | sudo tee --append /etc/network/interfaces

আরএইচইএল ভিত্তিক ডিস্ট্রোতে:

echo "172.X.X.X/24 via 172.X.X.X" | sudo tee --append /etc/sysconfig/network-scripts/route-ethX

3
sudoউভয় আপনার দুটি কমান্ড মধ্যে অর্থহীন। হয় আপনি ইতিমধ্যে রুট, সুতরাং >>কাজগুলি, বা আপনি নন, এক্ষেত্রে >>আপনার মূল ব্যবহারকারী হিসাবে প্রয়োগ করা হয় এবং কেবলমাত্র echoরুট হিসাবে চালিত হয়। এছাড়াও, যদি এখানে একাধিক ইন্টারফেস সংজ্ঞায়িত হয় তবে এটি অসম্পূর্ণভাবে ব্যর্থ হয় /etc/network/interfaces
রোয়াইমা

1
প্রতিধ্বনি "sth" | sudo tee ফাইল নাম
JSBach

এটি গিসিপিতে ডেবিয়ান উদাহরণগুলির জন্য কাজ করছে না
শর্মা

প্রকৃতপক্ষে, দেবিয়ান সংস্করণ সম্পর্কিত, প্রদত্ত কমান্ডটি ফাইল / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসগুলিতে কোন ইন্টারফেসটি সর্বশেষে কনফিগার করা হয়েছে তার উপর নির্ভর করে
গহু

ডেবিয়ানের যে কোনও স্ক্রিপ্টে এখন ip route add <network> via <IP> dev <DEV>নেট-সরঞ্জামের রুটের পরিবর্তে আইপ্রেট 2 কমান্ড ব্যবহার করা উচিত এবং ডিফল্টরূপে ইনস্টল না হওয়া আইফনফিগ কমান্ড ব্যবহার করা উচিত ।
অ্যাডামকালিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.