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


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এবং eth1। eth1172 নেটওয়ার্ক। eth0পাশাপাশি ডিএইচসিপি ব্যবহার করতে পারে। 172.16.100.10নির্ধারিত আইপি ঠিকানা eth1। 172.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.