সিসেক্টল-ডাব্লু ব্যবহার করে সরাসরি / প্রোক্রমে বনাম লেখা


8

আমি আমার লিনাক্স সার্ভারের কার্নেলটি কনফিগার করার চেষ্টা করছি যাতে এটি আরও সুরক্ষার জন্য রাউটার হিসাবে কাজ করবে না। পয়েন্টটি ফরোয়ার্ড করার বিষয়টি নয়।

আমি এটি খুঁজে পেয়েছি:

echo 0 > /proc/sys/net/ipv4/ip_forward  

এবং এই:

sysctl -w net.ipv4.ip_forward=0  

স্পষ্টতই দুজনেই একই কাজ করে তবে তাদের মধ্যে আসল পার্থক্য কী তা আমি নিশ্চিত নই। আমি যদি সম্ভব হয় তবে প্রভাবগুলি স্থায়ী করতে চাই।


কোনও পার্থক্য নেই, sysctl ইকো কমান্ডের মতোই কাজ করে। আরও সহজ।
ভোনব্র্যান্ড

উত্তর:


5

এখানে কোন পার্থক্য নেই. sysctlলিনাক্স কমান্ড ফাইল সরাসরি লিখেছেন /proc/sys। এটি sysctlপ্রমাণ করার জন্য উত্স কোড থেকে এই স্নিপেট :

/*
 * Write a sysctl setting
 */
static int WriteSetting(const char *setting)
{
    /* ... */

    /* used to open the file */
    tmpname = xmalloc(equals - name + 1 + strlen(PROC_PATH));
    strcpy(tmpname, PROC_PATH);
    strncat(tmpname, name, (int) (equals - name));
    tmpname[equals - name + strlen(PROC_PATH)] = 0;
    /* change . to / */
    slashdot(tmpname + strlen(PROC_PATH), '.', '/');

    /* ... */

    fp = fopen(tmpname, "w");
    /* some error checking ... */
    rc = fprintf(fp, "%s\n", value);

    /* ... */
}

আপনি যদি স্থায়ী কিছু চান তবে আপনার /etc/sysctl.confফাইল /etc/sysctl.d(যেমন /etc/sysctl.d/99-disable-ip-forwarding.conf) এর অধীনে একটি ফাইল সম্পাদনা বা যুক্ত করতে হবে :

# Disable IP packet forwarding
net.ipv4.ip_forward = 0

যাইহোক, কিছু বিতরণ ইতিমধ্যে এটি ডিফল্টরূপে স্পষ্টভাবে অক্ষম করে। উদাহরণস্বরূপ RHEL <= 6 বা ফেডোরা <= 15 এ এতে রয়েছে /etc/sysctl.conf:

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

ফেডোরা 20 এটি স্পষ্টভাবে অক্ষম করে না। এখানে ফরওয়ার্ডিং সেটিং নেই /etc/sysctl.conf, /etc/sysctl.d/বা /usr/lib/sysctl.d/


ফরওয়ার্ডিং কি সর্বদা ডিফল্ট হিসাবে বন্ধ হয় না ?
মাধ্যাকর্ষণ

এটি আমিও ভাবি, তবে আপনি কখনই জানেন না যে সেখানে কী বন্য বিতরণ হতে পারে :-)
ক্রিশ্চিয়ান সিউপিতু

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

@ জনম .: ডিফল্ট অক্ষম করা থাকলে এড়াতে কী আছে?
ক্রিশ্চিয়ান সিপিতু

@ ক্রিশ্চিয়ানসিপিতু, আমি জানি না, আমি লিনাক্সে নতুন এবং আমি আমার সার্ভারকে রাউটার হিসাবে রান্নিগ থেকে অক্ষম করতে চাই। সুতরাং এই আদেশটি যথেষ্ট কিনা আমি নিশ্চিত নই :)
জন এম।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.