প্রশ্ন কিভাবে উবুন্টুতে iptables শুরু / বন্ধ করবেন?


আমি কিভাবে উবুন্টুতে আইপটিবল সেবা চালু / বন্ধ করতে পারি?

আমি চেষ্টা করেছি

 service iptables stop

কিন্তু এটা প্রদান করা হয় "অননুমোদিত সেবা"

কেন এটা করছে? অন্য কোন পদ্ধতি আছে?


81
2018-04-03 11:15


উত্স


আমি মনে করি এই বিভ্রান্তির কিছু এই নিবন্ধ থেকে এসেছে: cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux যা শুধুমাত্র ফেডোরা / রেড হ্যাটে প্রযোজ্য এবং দাবি করে যে আপনি এটি খুঁজে পেতে পারেন /etc/init.d/ এটি (un) হ'ল iptables ubuntu বন্ধ করা 'Googling যখন আপনি পেতে শীর্ষ লিঙ্কটি হয়। - icc97


উত্তর:


আমি "উবুন্টু" সম্পর্কে জানি না, কিন্তু সাধারণত লিনাক্সে, "iptables" একটি পরিষেবা নয় - এটি নেটফিল্টার কার্নেল ফায়ারওয়ালের ম্যানিপুলেশন করার কমান্ড। আপনি "ACCEPT" এ সকল স্ট্যান্ডার্ড চেইনগুলির ডিফল্ট নীতিগুলি সেট করে এবং নিয়মগুলি নিশ্চিহ্ন করে ফায়ারওয়ালকে "অক্ষম" (বা বন্ধ) করতে পারেন।

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

(আপনি অন্যান্য টেবিলে ফ্লাশ করতে হবে, যেমন "nat", যদি আপনি তাদের ব্যবহার করেছেন)

উবুন্টু ওয়েবসাইটের নিচের নিবন্ধটি NetworkManager এর সাথে ব্যবহারের জন্য iptables সেট আপ করার বর্ণনা দিয়েছে: 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



আমরা UUF সম্পর্কে কথা বলা হয় কিনা নিশ্চিত, কিন্তু এই পোস্টটি iptables সম্পর্কে - webjay
আচ্ছা, আমি মনে করি এটি উবুন্টুর ডিফল্ট ইন্সটল ছিল, এবং এটিতে আইপিটিবেল নেই, তবে UUF আছে। - Frederik Nielsen
ufw কেবল iptables এর জন্য একটি ফ্রন্টেন্ড: "আইপ্যাবলগুলি একটি ফায়ারওয়াল, যা সমস্ত সরকারী উবুন্টু ডিস্ট্রিবিউশন (উবুন্টু, কুবুন্টু, জুবুন্টু) -এ ডিফল্টভাবে ইনস্টল করা হয়। যখন আপনি উবুন্টু ইনস্টল করেন, তখন iptables থাকে তবে এটি সমস্ত ট্র্যাফিক ডিফল্টভাবে অনুমোদন করে। Ubuntu 8.04 Comes ufw সঙ্গে - সহজেই iptables ফায়ারওয়াল পরিচালনার জন্য একটি প্রোগ্রাম। " help.ubuntu.com/community/IptablesHowTo - benjaoming
হতে পারে, কিন্তু ufw == iptables (আরো বা কম) উবুন্টুতে, ufw নিষ্ক্রিয় করা আইপিটিবেলগুলি নিষ্ক্রিয় করার সমান। - Frederik Nielsen
sudo ufw অবস্থা verbose; sudo iptables -L; - user27465


এটি প্রথমে ইনস্টল করা হবে কিনা তা পরীক্ষা করে দেখুন (এটি সম্ভবতঃ):

dpkg -l | grep iptables

উবুন্টুতে, 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/ এবং অনেক উবুন্টু 8.এক্স এবং 9.10 ইনস্টলেশনের উপর পরীক্ষা করা হয়।


29
2018-04-05 07:46



আমি জানি না কেন এই অনেকগুলি আপভোট আছে, iptables একটি কার্নেল মডিউল। এটি এমন কোনও "পরিষেবা" নয় যা "বন্ধ করা" যেতে পারে। সংযোগগুলি হ্যান্ডেল করার জন্য কার্নেলকে বলা হয়। এছাড়াও একটি উত্পাদন পরিবেশে আপনি আপনার ফায়ারওয়াল নিষ্ক্রিয় করা উচিত নয়। যদি কিছু কাজ না করে, তবে সঠিক সমাধানটি সঠিক সমাধানটি খুঁজে পান না। - Broco


Iptables একটি কমান্ড এটি একটি পরিষেবা নয়, তাই সাধারণত এটি কমান্ড ব্যবহার করা সম্ভব নয়

service iptables start

অথবা

service iptables stop

ফায়ারওয়াল শুরু এবং বন্ধ করার জন্য, তবে সেন্টোসের মত কিছু ডিস্ট্রো ফায়ারওয়াল শুরু এবং বন্ধ করতে এবং কনফিগার করার জন্য কনফিগারেশন ফাইলটি বন্ধ করার জন্য iptables নামক একটি পরিষেবা ইনস্টল করেছে। যাইহোক আইপোটবেলগুলি পরিচালনা করার জন্য এই স্কোপটি সম্পাদনা বা স্ক্রিপ্ট ইনস্টল করার জন্য একটি পরিষেবা তৈরি করা সম্ভব। লিনাক্সে সমস্ত পরিষেবা, উবুন্টু ব্যতিক্রম নয়, /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 ফাইলের মধ্যে সন্নিবেশ করা উচিত। এই স্ক্রিপ্ট বলা একটি ফাইল মধ্যে সন্নিবেশ করা আবশ্যক iptables- র /etc/init.d এ এবং এটি ব্যবহার করে এক্সিকিউটেবল করুন

chmod+x *iptables* 

এবং রানলেভেল ব্যবহার করে পরিষেবা যোগ করুন

update-rc.d iptables defaults

আপনি শেল থেকে নতুন নিয়ম যোগ করতে পারেন, এই নিয়মগুলি অবিলম্বে সক্রিয় হবে এবং পরিষেবাটি বন্ধ হয়ে গেলে /etc/iptables.conf এ যোগ করা হবে (অর্থাত সিস্টেমটি বন্ধ হয়ে গেলে নিশ্চিতভাবে সেগুলি সংরক্ষণ করা হবে)।

আমি এই সবাই সহায়ক হবে আশা করি।


16
2017-10-17 07:53





কারণ উভয় iptables এবং UFW পরিচালনা করার উপায় Netfilter লিনাক্সে ফায়ারওয়াল, এবং উভয়ই উবুন্টুতে ডিফল্টরূপে উপলভ্য, কারণ আপনি ফায়ারওয়াল নিয়মগুলি শুরু এবং বন্ধ (এবং পরিচালনা করতে) ব্যবহার করতে পারেন।

iptables আরও বেশি নমনীয়, কিন্তু সহজ এবং সাধারণ ফাংশনের জন্য ufw একটি খুব সহজ ইন্টারফেস ভাষা সরবরাহ করে যা আপনি ব্যবহার করতে পারেন:

sudo ufw disable # ফায়ারওয়াল নিষ্ক্রিয় করতে

sudo ufw enable  # ফায়ারওয়াল সক্রিয় করতে

বর্তমান ফায়ারওয়াল সেটিংস ব্যবহার করতে sudo ufw status verbose, অথবা iptables -L ।

উবুন্টু কমিউনিটি ডক্স পৃষ্ঠাগুলি iptables- রএবং UFW আরো তথ্য একটি মহান চুক্তি আছে।


6
2017-07-02 22:37





উবুন্টু গাইডগুলিতে iptables সেট আপ করার প্রস্তাবিত পদ্ধতি সঠিকভাবে স্মরণ করা হলে এটি নেটওয়ার্কিং স্ক্রিপ্টের অংশ হিসাবে সেট আপ করা। যার মানে কোনও /etc/init.d/iptables স্ক্রিপ্ট নেই যেমন BSD স্টাইল OS তে আছে।


3
2018-04-03 23:05



ডেবিয়ান উডিতে (উবুন্টু কি তখন বিদ্যমান ছিল?), যাইহোক এটি এখনও সিএসডামিন্স দ্বারা বাস্তবায়িত হয়। কেন তারা যে কোন ধারণা পরিবর্তন?
আমি একটি সুসংবাদ নেই ... কিন্তু মনে হচ্ছে আমি উবুন্টু সার্ভার 9.10 বা কিছু সেট আপ করার সময় এটি সম্পর্কে চিন্তা করা যে বিরক্তিকর জিনিসগুলির মধ্যে একটি ছিল বলে মনে হচ্ছে ... যেহেতু আমি একটি রিলিজের ডিস্ট্রো চেয়েছিলেন যা সাম্প্রতিক পোস্টগ্রাস এবং সার্ভারের জন্য ছিল ... অন্যথায় আমি খিলান linux চালানো। - xenoterracide


মনে হচ্ছে উবুন্টুতে ফায়ারওয়াল পরিচালনা করার বিভিন্ন উপায় রয়েছে, তাই আপনি এটি পড়তে আগ্রহী হতে পারেন: 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





/Etc/init.d/ এ একটি ফাইল তৈরি করুন

touch fw.rc

ফাইল এক্সিকিউটেবল chmod + এক্স করুন

/Etc/rc2.d/ এ ফাইলটিতে একটি সিমলিংক তৈরি করুন

ln -s /etc/init.d/fw.rc S80firewall

S80firewall সম্পাদনা করুন এবং নিম্নলিখিত যোগ করুন

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F

আপনি এই ফাইলে আপনার সমস্ত কাস্টম iptables নিয়ম যোগ করতে পারেন

এখন আপনি /etc/rc2.d/S80firewall চালানোর মাধ্যমে ফায়ারওয়াল (iptables) পুনরায় চালু করতে পারেন (root হতে হবে)


3
2017-10-17 08:37





আমারও একই প্রশ্ন ছিল. আসলে, সেখানে কোন iptables- অবিচলিত ছিল /etc/init.d

তাই, আমি iptables- প্রগতিশীল ফাইল তৈরি করেছি /etc/init.d

nano /etc/init.d/iptables-persistent

এবং নিম্নলিখিত ভেতরে লিখেছেন:

#!/bin/sh
#       Written by Simon Richter <sjr@debian.org>
#       modified by Jonathan Wiltshire <jmw@debian.org>
#       with help from Christoph Anton Mitterer
#

### BEGIN INIT INFO
# Provides:          iptables-persistent
# Required-Start:    mountkernfs $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Start-Before:    $network
# X-Stop-After:      $network
# Short-Description: Set up iptables rules
# Description:       Loads/saves current iptables rules from/to /etc/iptables
#  to provide a persistent rule set during boot time
### END INIT INFO

. /lib/lsb/init-functions

rc=0

load_rules()
{
    log_action_begin_msg "Loading iptables rules"

    #load IPv4 rules
    if [ ! -f /etc/iptables/rules.v4 ]; then
        log_action_cont_msg " skipping IPv4 (no rules to load)"
    else
        log_action_cont_msg " IPv4"
        iptables-restore < /etc/iptables/rules.v4 2> /dev/null
        if [ $? -ne 0 ]; then
            rc=1
        fi
    fi

    #load IPv6 rules    
    if [ ! -f /etc/iptables/rules.v6 ]; then
        log_action_cont_msg " skipping IPv6 (no rules to load)"
    else
        log_action_cont_msg " IPv6"
        ip6tables-restore < /etc/iptables/rules.v6 2> /dev/null
        if [ $? -ne 0 ]; then
            rc=1
        fi
    fi

    log_action_end_msg $rc
}

save_rules()
{
    log_action_begin_msg "Saving rules"

    #save IPv4 rules
    #need at least iptable_filter loaded:
    /sbin/modprobe -q iptable_filter
    if [ ! -f /proc/net/ip_tables_names ]; then
        log_action_cont_msg " skipping IPv4 (no modules loaded)"
    elif [ -x /sbin/iptables-save ]; then
        log_action_cont_msg " IPv4"
        iptables-save > /etc/iptables/rules.v4
        if [ $? -ne 0 ]; then
            rc=1
        fi
    fi

    #save IPv6 rules
    #need at least ip6table_filter loaded:
    /sbin/modprobe -q ip6table_filter
    if [ ! -f /proc/net/ip6_tables_names ]; then
        log_action_cont_msg " skipping IPv6 (no modules loaded)"
    elif [ -x /sbin/ip6tables-save ]; then
        log_action_cont_msg " IPv6"
        ip6tables-save > /etc/iptables/rules.v6
        if [ $? -ne 0 ]; then
            rc=1
        fi
    fi

    log_action_end_msg $rc
}

flush_rules()
{
    log_action_begin_msg "Flushing rules"

    if [ ! -f /proc/net/ip_tables_names ]; then
        log_action_cont_msg " skipping IPv4 (no module loaded)"
    elif [ -x /sbin/iptables ]; then
        log_action_cont_msg " IPv4"
        for param in F Z X; do /sbin/iptables -$param; done
        for table in $(cat /proc/net/ip_tables_names)
        do
            /sbin/iptables -t $table -F
            /sbin/iptables -t $table -Z
            /sbin/iptables -t $table -X
        done
        for chain in INPUT FORWARD OUTPUT
        do
            /sbin/iptables -P $chain ACCEPT
        done
    fi

    if [ ! -f /proc/net/ip6_tables_names ]; then
        log_action_cont_msg " skipping IPv6 (no module loaded)"
    elif [ -x /sbin/ip6tables ]; then
        log_action_cont_msg " IPv6"
        for param in F Z X; do /sbin/ip6tables -$param; done
        for table in $(cat /proc/net/ip6_tables_names)
        do
            /sbin/ip6tables -t $table -F
            /sbin/ip6tables -t $table -Z
            /sbin/ip6tables -t $table -X
        done
        for chain in INPUT FORWARD OUTPUT
        do
            /sbin/ip6tables -P $chain ACCEPT
        done
    fi

    log_action_end_msg 0
}

case "$1" in
start|restart|reload|force-reload)
    load_rules
    ;;
save)
    save_rules
    ;;
stop)
    # Why? because if stop is used, the firewall gets flushed for a variable
    # amount of time during package upgrades, leaving the machine vulnerable
    # It's also not always desirable to flush during purge
    echo "Automatic flushing disabled, use \"flush\" instead of \"stop\""
    ;;
flush)
    flush_rules
    ;;
*)
    echo "Usage: $0 {start|restart|reload|force-reload|save|flush}" >&2
    exit 1
    ;;
esac

exit $rc

এবং তারপর chmod 755 অনুমতি দিয়েছেন।

chmod 755 /etc/init.d/iptables-persistent

এখন এটা পুরোপুরি কাজ করে! এটা কেউ সাহায্য করতে পারেন আশা করি।


2
2018-04-17 10:39





আপনি যদি উবুন্টু সার্ভারটি একটি ভিএম অতিথি (উদাঃ ভার্চুয়ালবক্সে) হিসাবে চালাচ্ছেন তবে libvirt দ্বারা সক্ষম হতে পারে। যদি তাই libvirt কিছু ইন-বিল্ট নেটওয়ার্ক ফিল্টার থাকে যা iptables ব্যবহার করে। এই ফিল্টারগুলি ফায়ারওয়াল বিভাগে বর্ণিত হিসাবে কনফিগার করা যেতে পারে nwfilters

Iptables নিয়মগুলি নিষ্ক্রিয় করার জন্য আপনাকে libvirt থেকে সমস্ত আপত্তিকর নিয়মগুলি অপসারণ করতে হবে, অথবা আপনি যদি এটি ব্যবহার না করেন তবে আপনি কেবল libvirt অক্ষম করতে পারেন - উদাঃ। একটি ম্যানুয়াল ওভার্রাইড কনফিগারেশন ইনস্টল করুন (তারপরে পুনরায় বুট করুন):

sudo bash -c 'echo "manual" > /etc/init/libvirt-bin.override'

2
2018-04-01 14:38