কীভাবে সঠিকভাবে স্থায়ীভাবে আইপি ফরওয়ার্ডিংকে সিস্টেমডের সাহায্যে লিনাক্সে সক্ষম করবেন?


8

আমি ফরওয়ার্ডিং (মধ্যে আইপি সক্ষম করতে চেষ্টা enp0s3এবং tun0ইন্টারফেস) এবং লেখার net.ipv4.ip_forward = 1মধ্যে /etc/sysctl.conf। পুনরায় চালু করার পরে আমার আছে

$ cat /proc/sys/net/ipv4/ip_forward
1

কিন্তু ফরোয়ার্ডিং এখনও কাজ করে না। আমি যোগ করতে চেষ্টা net.ipv4.conf.default.forwarding=1মধ্যে /etc/sysctl.conf। এখন আবার চালু করার পরে আমার আছে

$ cat /proc/sys/net/ipv4/ip_forward
1
$ cat /proc/sys/net/ipv4/conf/default/forwarding
1
$ cat /proc/sys/net/ipv4/conf/all/forwarding
1
$ cat /proc/sys/net/ipv4/conf/enp0s3/forwarding
0
$ cat /proc/sys/net/ipv4/conf/tun0/forwarding
0

আমি সক্ষম নাও করতে পারে /proc/sys/net/ipv4/conf/enp0s3/forwardingএবং /proc/sys/net/ipv4/conf/tun0/forwardingsysctl.confকারণ এই ফাইল যেমন, প্রারম্ভিক বুট করার সময় এ বিদ্যমান করুন:

systemd-sysctl[85]: Couldn't write '1' to 'net/ipv4/conf/enp0s3/forwarding', ignoring: No such file or directory
systemd-sysctl[85]: Couldn't write '1' to 'net/ipv4/conf/tun0/forwarding', ignoring: No such file or directory)

, আরও বেশি tun0হ'ল ডায়নামিক ইন্টারফেস (যে কোনও সময়ে যুক্ত এবং মুছে ফেলা যায়)।

আমি যদি ম্যানুয়ালি ফরওয়ার্ডিং সক্ষম করি enp0s3এবং tun0তারপরে ফরওয়ার্ডিং প্রত্যাশার মতো কাজ করে।

সুতরাং, ইন্টারফেসের জন্য কীভাবে সঠিকভাবে ফরওয়ার্ডিং সক্ষম করবেন?

PS: কার্নেল 4.1.15 এবং সিস্টেমড 226 সহ জেন্টু

পিপিএস: আমার স্মৃতি যদি আমাকে কিছুক্ষণ আগে পরিবেশন করে তবে net.ipv4.ip_forward = 1যথেষ্ট ছিল।

উত্তর:


3

আমি অবশেষে সমস্যার সমাধান। আমি সিস্টেমেড ব্যবহার করি (নেটওয়ার্কযুক্ত সহ) এবং আইপি ফরোয়ার্ডিং সম্পর্কে নতুন বৈশিষ্ট্যটি সিস্টেমড -২২১ এ চালু করা হয়েছে: "আইপি ফরোয়ার্ডিং =" - দেখুন https://github.com/systemd/systemd/blob/a2088fd025deb90839c909829e27eece40f7fce4/NEWS

থেকে man systemd.network:

[নেটওয়র্ক] বিভাগের বিকল্পগুলি

...

IPForward =

নেটওয়ার্ক ইন্টারফেসের জন্য আইপি ফরওয়ার্ডিং কনফিগার করে। নেটওয়ার্ক ইন্টারফেসে আগত প্যাকেটগুলি সক্ষম করা থাকলে রাউটিং টেবিল অনুযায়ী অন্যান্য ইন্টারফেসে ফরোয়ার্ড করা হবে। হয় বুলিয়ান আর্গুমেন্ট, বা "ipv4" বা "ipv6" মানগুলি গ্রহণ করে, যা কেবলমাত্র নির্দিষ্ট ঠিকানা পরিবারের জন্য শুধুমাত্র আইপি ফরওয়ার্ডিং সক্ষম করে, বা "কার্নেল", যা বিদ্যমান সিস্টেস্টল সেটিংস সংরক্ষণ করে। এটি নেট.আইপিভি ৪.কনফ..ফরওয়ার্ডিং এবং নেট.ipv6.conf.. নেটওয়ার্ক ইন্টারফেসের সিস্টেস্টাল বিকল্পগুলি ফরোয়ার্ড করছে (সিসিপটাল অপশন সম্পর্কে বিশদ জানতে আইপি-সিসটেল.টেক্সট [১] দেখুন)। "না" -এ ডিফল্ট।

দ্রষ্টব্য: যদি এই বিকল্পটি চালু না করা হয় বা "কার্নেল" তে সেট না করা থাকে, নেট ইন্টারফেসে নেট.আইপিভি 4.ip_forward, নেট.ipv4.conf সহ বিশ্বব্যাপী কার্নেলে চালু করা থাকলেও এই ইন্টারফেসে কোনও আইপি ফরওয়ার্ডিং করা হয় না। all.forwarding, এবং নেট.ipv6.conf.all.forwarding সিস্টেমে অপশনগুলি।

আইপি ফরোয়ার্ডিং (প্রতি ইন্টারফেস প্রতি) সক্ষম করতে এখন আমি নেটওয়ার্ক ফাইলটি নিম্নলিখিতগুলির মতো ব্যবহার করি:

# cat /etc/systemd/network/tun0.network
[Match]
Name=tun0

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