CentOS 7 এ ফায়ারওয়াল পোর্ট খুলুন


339

আমি CentOS 7 ব্যবহার করছি এবং আমাকে নিশ্চিত করতে হবে যে 2888 এবং 3888 বন্দরগুলি খোলা রয়েছে।

আমি এই নিবন্ধটি পড়েছি কিন্তু এটি কার্যকর হয়নি কারণ CentOS 7 OS এ কোনও iptables saveআদেশ নেই।

কেউ আমাকে বলেছিলেন যে উপরের URL সেন্টওএস 7. জন্য বৈধ নয় এবং আমি অনুসরণ করা উচিত এই । তবে এই নিবন্ধটি আমার কাছে ঠিক কী আদেশটি কার্যকর করতে হবে তা সম্পর্কে আমার কাছে পরিষ্কার নয়।

আমিও পেয়েছি

firewall-cmd --zone=public --add-port=2888/tcp 

তবে এটি রিবুটগুলি থেকে বেঁচে না।

তাহলে আমি কীভাবে পোর্টগুলি খুলতে এবং এটিকে পুনরায় বুট থেকে বাঁচতে পারি?


স্ট্যাক ওভারফ্লো প্রোগ্রামিং এবং বিকাশের প্রশ্নের জন্য একটি সাইট। এই প্রশ্নটি অফ-টপিক হিসাবে উপস্থিত বলে মনে হচ্ছে কারণ এটি প্রোগ্রামিং বা উন্নয়ন সম্পর্কিত নয়। সহায়তা কেন্দ্রে আমি এখানে কোন বিষয় সম্পর্কে জিজ্ঞাসা করতে পারি তা দেখুন । সম্ভবত সুপার ইউজার বা ইউনিক্স ও লিনাক্স স্ট্যাক এক্সচেঞ্জ জিজ্ঞাসা করতে একটি ভাল জায়গা হবে।
jwww

উত্তর:


653

আপনার সক্রিয় অঞ্চল (গুলি) সন্ধান করতে এই আদেশটি ব্যবহার করুন:

firewall-cmd --get-active-zones

এটি পাবলিক, ডিএমজেড বা অন্য কিছু বলবে। আপনার কেবল প্রয়োজনীয় জোনগুলিতে আবেদন করা উচিত।

জনসাধারণের ক্ষেত্রে চেষ্টা করুন:

firewall-cmd --zone=public --add-port=2888/tcp --permanent

তারপরে পরিবর্তনগুলি কার্যকর করতে ফায়ারওয়ালটি পুনরায় লোড করতে ভুলবেন না।

firewall-cmd --reload

অন্যথায়, আপনার অঞ্চলের জন্য সর্বজনীন বিকল্প দিন, উদাহরণস্বরূপ, যদি আপনার অঞ্চলটি dmz হয়:

firewall-cmd --zone=dmz --add-port=2888/tcp --permanent

29
আমি এই কমান্ডটি ব্যবহার করেছি তবে এটি আমার পক্ষে কার্যকর হয়নি, কী করেছিল, তাতে পরিবর্তন হয়ে --zone=dmzগিয়েছিল--zone=public
টম হল

2
হ্যাঁ এটি জনসাধারণকেও ব্যবহার করা কার্যকর। সংশোধনের জন্যও সটসিরের নীচে কমান্ডটি দেখুন।
গণেশগ্রাভ

23
এখানে শীর্ষ দুটি উত্তরগুলির মধ্যে দুটিই আসলে কী --permanentতা ব্যাখ্যা করে না, তারা কেবল এটি করতে বলে। উভয়ই আরও সম্পূর্ণ এবং দরকারী উত্তর হবে যদি এটি ব্যাখ্যা করা হয় যে উত্তরটি কীভাবে কাজ করে। ওপির
denen

9
দয়া করে দয়া করে অন্ধভাবে সমস্ত জোনে পোর্টগুলি সক্ষম করবেন না, দয়া করে। ব্যবহার করুন firewall-cmd --get-active-zonesখুঁজে বের করতে কি জোন আপনার সিস্টেমে ব্যবহার করা হয়। এছাড়াও, ম্যান ফায়ারওয়াল-সেন্টিমিটার।
বেসিক 6

1
ফেডোরার ডকুমেন্টেশন পড়ার সময় এটি লেখা আছে The --permanent option needs to be the first option for all permanent calls। আমি উপরেরটি ব্যবহার করে কোনও ত্রুটি পাইনি তবে আমি নিশ্চিত নই যে এটি কারও কারও কাছে সমস্যা সৃষ্টি করতে পারে কিনা।
মার্ক

113

গণেশগ্রভের উত্তরটি সঠিক, তবে আপনি এটি ব্যবহার করতে পারেন তা জেনে রাখা কার্যকর:

firewall-cmd --permanent --zone=public --add-port=2888/tcp 

তবে যদি একটি পরিচিত পরিষেবা হয় তবে আপনি এটি ব্যবহার করতে পারেন:

firewall-cmd --permanent --zone=public --add-service=http 

এবং তারপরে ফায়ারওয়ালটি পুনরায় লোড করুন

firewall-cmd --reload

[মার্টিন পিটারের মন্তব্য প্রতিফলিত করার জন্য উত্তর পরিবর্তিত হয়েছে, মূল উত্তরটি --permanentকমান্ড লাইনের শেষে ছিল]


8
আমি --permanentবিবৃতিটির শেষে বিকল্পটি ব্যবহার করার উপর নির্ভর করব না । ডকুমেন্টেশন স্পষ্টভাবে নির্দেশ করে, এটি প্রথম বিকল্প হওয়া উচিত।
মার্টিন পিটার 18 ই

1
@ মার্টিনপিটার man firewall-cmdআমার মেশিনে এ জাতীয় কোনও ইঙ্গিত দেয় না (ফেডোরা 21)
জোনাথন রাইনহার্ট

@ জোনাথন রাইনহার্ট আমি ফেডোরার ফায়ারওয়ালডি উইকির উল্লেখ করছি: The --permanent option needs to be the first option for all permanent calls.
মার্টিন পিটার

এটি আমাকে ফায়ারওয়াল দেয় যা চলছে না
রাহুল তাতোদ

50

সেন্টোস (আরএইচইএল),, ফায়ারওয়ালটি ব্যবহারের জন্য পরিবর্তন করেছে firewall-cmdযা জোনগুলির ধারণা রয়েছে যা পাবলিক, হোম এবং প্রাইভেট নেটওয়ার্কগুলির উইন্ডোজ সংস্করণের মতো। আপনার কোনটি ব্যবহার করা উচিত বলে মনে করার জন্য আপনার এখানে নজর দেওয়া উচিত। EL7 publicডিফল্টরূপে ব্যবহার করে তাই নীচে আমার উদাহরণগুলির ব্যবহার।

আপনি কোন অঞ্চলটি ব্যবহার করছেন firewall-cmd --list-allতা যাচাই করতে পারেন এবং এটি দিয়ে পরিবর্তন করতে পারেন firewall-cmd --set-default-zone=<zone>

তারপরে আপনি কী জোনটিতে কোনও পরিষেবা (বা পোর্ট) অনুমতি দেবেন তা জানতে পারবেন:

firewall-cmd --permanent --zone=<zone> --add-service=http

firewall-cmd --permanent --zone=<zone> --add-port=80/tcp

পোর্টটি চালিয়ে আসলে খোলার চেষ্টা করা যেতে পারে:

firewall-cmd --zone=<zone> --query-port=80/tcp

firewall-cmd --zone=<zone> --query-service=http

ডকুমেন্টেশন অনুযায়ী ,

স্থায়ী মোডে ফায়ারওয়াল সেটিংসে পরিবর্তন করার সময়, আপনি যখন ফায়ারওয়ালটি পুনরায় লোড করেন বা সিস্টেম পুনরায় চালু হয় তখনই আপনার নির্বাচন কার্যকর হয়।

আপনার সাথে ফায়ারওয়াল সেটিংস পুনরায় লোড করুন: firewall-cmd --reload



23

খোলা পোর্টগুলি দেখতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

firewall-cmd --list-ports

যার বন্দরগুলি খোলা রয়েছে সেগুলি দেখতে আমরা নিম্নলিখিতটি ব্যবহার করি।

firewall-cmd --list-services

যার বন্দরগুলি উন্মুক্ত রয়েছে সেগুলি দেখতে এবং খোলা বন্দরগুলি দেখতে আমরা নিম্নলিখিতটি ব্যবহার করি

firewall-cmd --list-all

ফায়ারওয়ালে একটি পরিষেবা যুক্ত করতে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করি, সেক্ষেত্রে পরিষেবাটি ফায়ারওয়ালে খোলার জন্য কোনও বন্দর ব্যবহার করবে।

firewall-cmd --add-services=ntp 

এই পরিষেবাটি স্থায়ীভাবে খোলা থাকার জন্য আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করি।

firewall-cmd —add-service=ntp --permanent 

একটি পোর্ট যুক্ত করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন

firewall-cmd --add-port=132/tcp  --permanent

ফায়ারওয়ালটি চালাতে নিম্নলিখিত কমান্ডটি ব্যবহার করে পুনরায় লোড করতে হবে।

firewall-cmd --reload

ইয়া আলী


উপরে "ফায়ারওয়াল-সেমিডি-এডিডি-সার্ভিস = এনটিপি - পারমানেন্ট" "ফায়ারওয়াল-সেমিডি - এডিডি-সার্ভিস = এনটিপি - পারমানেন্ট" হিসাবে পরিবর্তন করা উচিত
মাদারুঙ্গা সিরিওয়ার্দেনা

14

যদিও ganeshragav এবং Sotsir সঠিক এবং সরাসরি প্রযোজ্য পন্থা প্রদান এটা মনে রাখবেন আপনি আপনার নিজস্ব সেবা যোগ করতে পারেন দরকারী /etc/firewalld/services। অনুপ্রেরণার জন্য, /usr/lib/firewalld/services/ফায়ারওয়াল্ডের পূর্বনির্ধারিত পরিষেবাগুলি কোথায় রয়েছে তা দেখুন ।

এই পদ্ধতির সুবিধা হ'ল পরে আপনি জানবেন কেন এই বন্দরগুলি খোলা রয়েছে, আপনি পরিষেবা ফাইলে এটি বর্ণনা করেছেন। এছাড়াও, আপনি এখন টাইপসের ঝুঁকি ছাড়াই যেকোন জোনে এটি প্রয়োগ করতে পারেন। তদুপরি, পরিষেবাতে পরিবর্তনগুলি সমস্ত জোনে পৃথকভাবে প্রয়োগ করা প্রয়োজন হবে না, কেবল পরিষেবা ফাইলের ক্ষেত্রে।

উদাহরণস্বরূপ, আপনি তৈরি করতে পারেন /etc/firewalld/services/foobar.xml:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>FooBar</short>
  <description>
    This option allows you to create FooBar connections between
    your computer and mobile device. You need to have FooBar
    installed on both sides for this option to be useful.
  </description>
  <port protocol="tcp" port="2888"/>
  <port protocol="tcp" port="3888"/>
</service>

(সিনট্যাক্স সম্পর্কে তথ্যের জন্য, করুন man firewalld.service।)

একবার এই ফাইলটি তৈরি হয়ে গেলে, আপনি firewall-cmd --reloadএটি উপলব্ধ হয়ে উঠতে পারেন এবং তারপরে স্থায়ীভাবে এটির সাথে কোনও জোনে যুক্ত করতে পারেন

firewall-cmd --permanent --zone=<zone> --add-service=foobar

এখনই firewall-cmd --reloadএটি সক্রিয় করতে অনুসরণ করে।


6

খোলা পোর্টগুলি দেখতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

firewall-cmd --list-ports

যার বন্দরগুলি খোলা রয়েছে সেগুলি দেখতে আমরা নিম্নলিখিতগুলি ব্যবহার করি:

firewall-cmd --list-services

যার বন্দরগুলি উন্মুক্ত রয়েছে সেগুলি দেখতে এবং খোলা বন্দরগুলি দেখতে আমরা নিম্নলিখিতটি ব্যবহার করি:

firewall-cmd --list-all

ফায়ারওয়ালে একটি পরিষেবা যুক্ত করতে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করি, সেক্ষেত্রে পরিষেবাটি ফায়ারওয়ালে খোলার জন্য কোনও বন্দর ব্যবহার করবে:

firewall-cmd --add-services=ntp 

এই পরিষেবাটি স্থায়ীভাবে খোলা থাকার জন্য আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করি:

firewall-cmd -add-service=ntp --permanent 

পোর্ট যুক্ত করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

firewall-cmd --add-port=132/tcp  --permanent

4

শীর্ষস্থানীয় উত্তরগুলি এখানে কাজ করে, তবে মাইকেল হ্যাম্পটনের একটি সম্পর্কিত প্রশ্নের উত্তরে আমি আরও মার্জিত কিছু পেয়েছি । আপনাকে " রানটাইম বিধি তৈরি করতে এবং স্থায়ী করার আগে তাদের পরীক্ষা --runtime-to-permanentকরার firewall-cmdসুযোগ দেয় " "নতুন" (ফায়ারওয়াল্ড-০.২.১-১১ +) বিকল্পটি :

$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent

অথবা কেবলমাত্র রানটাইম পরিবর্তনগুলি ফিরিয়ে আনতে:

$ firewall-cmd --reload

আরো দেখুন অ্যান্টনি গুয়েন এর মন্তব্য । স্পষ্টতই ফায়ারওয়াল-সেন্টিমিটার --reload কিছু ক্ষেত্রে নিয়মগুলি সরানো হয়েছে ঠিকমতো কাজ করতে পারে না। সেক্ষেত্রে তিনি ফায়ারওয়াল্ড পরিষেবাটি পুনরায় চালু করার পরামর্শ দিয়েছেন:

$ systemctl restart firewalld

1

আপনার যদি সেন্টোস 7 ফায়ারওয়াল্ডে একাধিক পোর্টের অনুমতি দেওয়ার জন্য থাকে তবে আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারি।

#firewall-cmd --add-port={port number/tcp,port number/tcp} --permanent

#firewall-cmd --reload


And check the Port opened or not after reloading the firewall.


#firewall-cmd --list-port


For other configuration [Linuxwindo.com][1]

0

আপনি যদি iptables পরিষেবার সাথে সেন্টোস 6 বা তার আগের হিসাবে পরিচিত হন তবে আপনি ম্যানুয়াল ইনস্টলেশন দ্বারা iptables পরিষেবাটি ব্যবহার করতে পারেন:

পদক্ষেপ 1 => ইপেল রেপো ইনস্টল করুন

yum ইপেল-রিলিজ ইনস্টল করুন

পদক্ষেপ 2 => ইনস্টল করুন iptables পরিষেবা

yum iptables- পরিষেবা ইনস্টল করুন

পদক্ষেপ 3 => ফায়ারওয়াল্ড পরিষেবা বন্ধ করুন

systemctl ফায়ারওয়াল্ড স্টপ

পদক্ষেপ 4 => প্রারম্ভকালে ফায়ারওয়াল্ড পরিষেবা অক্ষম করুন

systemctl ফায়ারওয়াল্ড অক্ষম করে

পদক্ষেপ 5 => iptables পরিষেবা শুরু করুন

systemctl iptables শুরু

পদক্ষেপ 6 => শুরুতে iptables সক্ষম করুন

systemctl iptables সক্ষম

অবশেষে আপনি এখন / etc / sysconfig / iptables এ আপনার iptables কনফিগারেশন সম্পাদনা করতে পারবেন।

সুতরাং -> নিয়ম সম্পাদনা করুন -> পুনরায় লোড / পুনঃসূচনা করুন।

ফায়ারওয়াল্ডের মতো একই ফাংশন সহ পুরানো সেন্টোগুলির মতো করুন।


0

ফায়ারওয়াল্ড iptables প্রবীণদের জন্য কিছুটা স্বজ্ঞাত নয়। যারা একটি সহজ কনফিগারযোগ্য গাছের মধ্যে চ্যাপ্টা-চালিত ফায়ারওয়ালকে ইপিটবলের মতো সিনট্যাক্সের সাথে পছন্দ করেন তাদের জন্য ফায়ারওয়াল্ডকে fwtree এর সাথে প্রতিস্থাপন করে দেখুন: https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ এবং তারপরে নিম্নলিখিতটি করুন:

 echo '-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT' > /etc/fwtree.d/filter/INPUT/80-allow.rule
 systemctl reload fwtree 

0

হ্যালো সেন্টোস 7 ফায়ারওয়াল-সেন্টিমিটারে। হ্যাঁ সঠিক যদি আপনি ফায়ারওয়াল-সেমিডি - জোন = পাবলিক --এডিডি-পোর্ট = 2888 / টিসিপি ব্যবহার করেন তবে আপনি যদি ফায়ারওয়াল ফায়ারওয়াল-সেমিডি - পুনরায় লোড করেন

আপনার কনফিগারেশন সংরক্ষণ করা হবে না

আপনাকে কী যুক্ত করতে হবে

ফায়ারওয়াল-সেমিডি - স্থায়ী - জোন = পাবলিক - এডিডি-পোর্ট = 2888 / টিসিপি

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