سؤال كيف تبدأ / توقف iptables على أوبونتو؟


كيف يمكنني بدء / إيقاف خدمة iptables على Ubuntu؟

لقد حاولت

 service iptables stop

لكنه يعطي "خدمة غير معروفة".

لماذا يفعل ذلك؟ هل هناك أي طريقة أخرى؟


81
2018-04-03 11:15


الأصل


أعتقد أن بعض الارتباك يأتي من مقالات كهذه: cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux التي تنطبق فقط على Fedora / Red Hat وتزعم أنها ستعثر عليها /etc/init.d/ انها (الامم المتحدة) من المفيد هو الرابط العلوي الذي تحصل عليه عند googling "إيقاف تشغيل iptables أوبونتو". - icc97


الأجوبة:


لا أعرف عن "أوبونتو" ، ولكن في لينكس بشكل عام ، "iptables" ليست خدمة - إنها أمر للتلاعب بجدار الحماية للنواة netfilter. يمكنك "تعطيل" (أو إيقاف) جدار الحماية من خلال تعيين السياسات الافتراضية على جميع السلاسل القياسية إلى "ACCEPT" ، وإلغاء القواعد.

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F

(قد تحتاج إلى مسح الجداول الأخرى أيضًا ، مثل "nat" ، إذا كنت قد استخدمتها)

توضح المقالة التالية على موقع Ubuntu إعداد iptables لاستخدامه مع NetworkManager: https://help.ubuntu.com/community/IptablesHowTo


65
2018-04-03 17:36



ألن تتخلص من جميع القواعد الحالية إلى الأبد؟ الأفضل لحفظها في مكان ما أولاً باستخدام sudo iptables-save> / tmp / rules - Jens Timmerman
هذا لا يوقف الخدمة ، ولكن فقط يسمح كل شيء من خلال. - Frederik Nielsen
آه بفضل. iptables -F كان ما كنت في عداد المفقودين :-) - Cameron
JensTimmerman iptables-save > /tmp/rules أنقذ يومي شكر - blagus


أنت على خطأ :-)

الأمر الذي تبحث عنه هو:

$ sudo ufw disable

44
2017-08-15 18:40



بالتأكيد إذا كنا نتحدث عن ufw ، ولكن هذا المنصب هو عن iptables - webjay
حسنًا ، افترضت أنه كان تثبيتًا افتراضيًا لـ Ubuntu ، وأن هذا الشخص لا يحتوي على iptables ، ولكنه يحتوي على ufw. - Frederik Nielsen
ufw هو مجرد واجهة لإمبتابليس: "Iptables هو جدار ناري ، مثبت بشكل افتراضي على جميع توزيعات Ubuntu الرسمية (Ubuntu ، Kubuntu ، Xubuntu). عندما تقوم بتثبيت Ubuntu ، فإن iptables موجودة ، لكنها تسمح بكل حركة المرور بشكل افتراضي. Ubuntu 8.04 Comes مع ufw - برنامج لإدارة جدار iptables بسهولة. " help.ubuntu.com/community/IptablesHowTo - benjaoming
قد يكون ، ولكن مثل ufw == iptables (أكثر أو أقل) في Ubuntu ، فإن تعطيل ufw يساوي تعطيل iptables. - Frederik Nielsen
sudo ufw status verbose؛ sudo iptables -L؛ - user27465


أود أولاً التحقق مما إذا كان قد تم تثبيته (من المحتمل):

dpkg -l | grep iptables

على Ubuntu ، iptables ليست خدمة. لإيقافه ، يجب عليك القيام بما يلي:

sudo iptables-save > /root/firewall.rules
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

لاستعادة القواعد السابقة الخاصة بك:

iptables-restore < /root/firewall.rules

وقد اتخذ هذا من http://www.cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux/ وتم اختباره على العديد من تثبيتات Ubuntu 8.X و 9.10.


29
2018-04-05 07:46



لا أعرف لماذا يحتوي هذا على الكثير من الأصوات الإيجابية ، و iptables هي وحدة نواة. إنها أبدا "خدمة" يمكن "إيقافها". يتم استخدامها لتخبر النواة كيفية التعامل مع الاتصالات. أيضًا في بيئة الإنتاج ، لا يجب عليك تعطيل الجدار الناري. إذا لم ينجح شيء ما ، فابحث عن الحل المناسب ، وليس الحل السهل. - Broco


Iptables هي أمر ليس خدمة ، لذا بشكل عام لا يمكن استخدام الأوامر مثل

service iptables start

أو

service iptables stop

من أجل بدء وإيقاف جدار الحماية ، لكن بعض التوزيعات مثل centos قامت بتثبيت خدمة تسمى iptables لبدء وإيقاف جدار الحماية وملف التكوين لتكوينه. على أي حال ، من الممكن تقديم خدمة لإدارة ملفات ipotables أو تثبيت برنامج نصي لهذا النطاق. جميع الخدمات في لينكس ، أوبونتو ليست استثناء ، هي برامج نصية قابلة للتنفيذ داخل مجلد /etc/init.d ، والتي تنفذ واجهة قياسية (بدء ، إيقاف ، إعادة تشغيل) يبدو النص البرمجي المحتمل كالتالي:

 #!/bin/sh -e
 ### BEGIN INIT INFO
 # Provides:          iptables
 # Required-Start:    mountvirtfs ifupdown $local_fs
 # Default-Start:     S
 # Default-Stop:      0 6
 ### END INIT INFO

 # July 9, 2007
 # James B. Crocker <ubuntu@james.crocker.name>
 # Creative Commons Attribution - Share Alike 3.0 License (BY,SA)
 # Script to load/unload/save iptables firewall settings.

 PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"

 IPTABLES=/sbin/iptables
 IPTABLES_SAVE=/sbin/iptables-save
 IPTABLES_RESTORE=/sbin/iptables-restore

 IPTABLES_CONFIG=/etc/iptables.conf

 [ -x $IPTABLES ] || exit 0

 . /lib/lsb/init-functions


 case "$1" in
 start)
    log_action_begin_msg "Starting firewall"
         type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 120" || true
    if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
         type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true
    ;;

 stop)
    log_action_begin_msg "Saving current firewall configuration"
    if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    log_action_begin_msg "Flushing ALL firewall rules from chains!"
    if $IPTABLES -F ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    log_action_begin_msg "Deleting ALL firewall chains [Warning: ACCEPTING ALL PORT SERVICES!]"
    if $IPTABLES -X ; then
        $IPTABLES -P INPUT ACCEPT
        $IPTABLES -P FORWARD ACCEPT
        $IPTABLES -P OUTPUT ACCEPT
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

 save)
    log_action_begin_msg "Saving current firewall configuration"
    if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

 force-reload|restart)
    log_action_begin_msg "Reloading firewall configuration [Warning: POTENTIAL NETWORK INSECURITY DURING RELOAD]"
    $IPTABLES -F
    $IPTABLES -X
    if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

 *)
    echo "Usage: /etc/init.d/iptables {start|stop|save|restart|force-reload}"
    exit 1
    ;;
 esac

 exit 0 

هذا السيناريو هو جزء من هذا الدورة التعليمية، يجب إدراج جميع الأوامر لتكوين جدار الحماية ، وفقا للبرنامج النصي أعلاه ، إلى ملف /etc/iptables.conf. يجب إدراج هذا البرنامج النصي في ملف يسمى إيبتبلس في /etc/init.d وجعلها قابلة للتنفيذ باستخدام

chmod+x *iptables* 

وإضافة الخدمة إلى runlevels باستخدام

update-rc.d iptables defaults

يمكنك إضافة قواعد جديدة من shell ، وستكون هذه القواعد نشطة فورًا وستتم إضافتها إلى /etc/iptables.conf عند توقف الخدمة (يعني ذلك أنه سيتم حفظها بالتأكيد عند إيقاف تشغيل النظام).

آمل أن يكون هذا مفيدًا للجميع.


16
2017-10-17 07:53





لأن كلا iptables و ufw هي طرق لإدارة نت فيلتر جدار الحماية في Linux ، ولأن كلاهما متاح افتراضيًا في Ubuntu ، يمكنك استخدام إما لبدء وإيقاف (وإدارة) قواعد جدار الحماية.

iptables أكثر مرونة ، ولكن لأن ufw يوفر لغة واجهة بسيطة للغاية لوظيفة بسيطة ونموذجية يمكنك استخدامها:

sudo ufw disable # لتعطيل جدار الحماية

sudo ufw enable  # لتمكين جدار الحماية

لمعرفة استخدام إعدادات جدار الحماية الحالية sudo ufw status verboseأو iptables -L .

صفحات Ubuntu Community docs على إيبتبلسو UFW لديك قدر كبير من المعلومات.


6
2017-07-02 22:37





إذا كنت أذكر بشكل صحيح فإن الطريقة المقترحة لإعداد iptables في أدلة أوبونتو هي إعدادها كجزء من البرامج النصية للشبكات. مما يعني عدم وجود برنامج نصي /etc/init.d/iptables مثل وجود نظام التشغيل BSD style OS.


3
2018-04-03 23:05



كان هناك في دبيان وودي (هل أوبونتو موجودة آنذاك؟) ، على أي حال لا يزال يتم تنفيذها بواسطة sysadmins اليوم. لماذا قاموا بتغيير هذه الفكرة؟
ليس لدي أي فكرة ... ولكن يبدو لي أن أذكر أنها واحدة من تلك الأشياء المزعجة كان عليّ أن أجدها عندما أقوم بإعداد خادم أوبونتو 9.10 أو شيء ما ... لأنني أردت توزيعة الإصدار التي كانت تحتوي على بوستوجيس حديثة و كان للخوادم ... وإلا أنا أركض لينكس القوس. - xenoterracide


يبدو أن هناك عدة طرق لإدارة جدار الحماية في Ubuntu ، لذا قد تكون مهتمًا بقراءة هذا: https://help.ubuntu.com/community/IptablesHowTo#Configuration٪20on٪20startup

لإسقاط جميع القواعد الحالية ، يمكنك استخدام هذه الأوامر (وضعها في بعض البرامج النصية):

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -F
iptables -t filter -X

في الحالة العادية ، يتم حفظ قواعد جدار الحماية الافتراضية في بعض الملفات (على سبيل المثال ، /etc/iptables.rules). بينما تمهيد نظام الأمر iptables-restore </etc/iptables.rules نفذت لتحميل قواعد جدار الحماية. لذلك ، يؤدي تنفيذ نفس الأمر بعد قيامك بإسقاط كافة القواعد باستخدام الأوامر المذكورة أعلاه إلى "إعادة تحميل جدار الحماية" الذي طلبته.


3
2018-04-05 04:32