Vraag Hoe start / stop iptables op Ubuntu?


Hoe kan ik de iptables-service op Ubuntu starten / stoppen?

Ik heb geprobeerd

 service iptables stop

maar het is geven "niet-herkende service".

Waarom doet het dat? Is er een andere methode?


81
2018-04-03 11:15


oorsprong


Ik denk dat een deel van de verwarring uit artikelen zoals deze komt: cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux wat alleen van toepassing is op Fedora / Red Hat en beweert dat je het zou vinden /etc/init.d/ het (on) behulpzaam is de toplink die je krijgt als je 'googlen' iptables ubuntu 'uitschakelt. - icc97


antwoorden:


Ik weet het niet van "Ubuntu", maar in Linux is "iptables" meestal geen service - het is een commando om de netfilter kernelfirewall te manipuleren. U kunt de firewall "uitschakelen" (of stoppen) door het standaardbeleid voor alle standaardketens in te stellen op "ACCEPT" en de regels te verwijderen.

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

(Mogelijk moet u ook andere tabellen doorspoelen, zoals "nat", als u ze hebt gebruikt)

Het volgende artikel op de Ubuntu-website beschrijft het instellen van iptables voor gebruik met NetworkManager: https://help.ubuntu.com/community/IptablesHowTo


65
2018-04-03 17:36



Zal dit niet alle huidige regels voor altijd weggooien? Het beste om ze eerst ergens op te slaan met sudo iptables-save> / tmp / rules - Jens Timmerman
Dit stopt de service niet, maar laat alles gewoon door. - Frederik Nielsen
Ah, bedankt. iptables -F was wat ik miste :-) - Cameron
@JensTimmerman iptables-save > /tmp/rules redde mijn dag. Bedankt - blagus


Je bent helemaal verkeerd :-)

Het commando dat u zoekt is:

$ sudo ufw disable

44
2017-08-15 18:40



zeker als we het hadden over ufw, maar deze post gaat over iptables - webjay
Nou, ik ging ervan uit dat het een standaardinstallatie van Ubuntu was, en die heeft geen iptables, maar heeft ufw. - Frederik Nielsen
ufw is slechts een frontend voor iptables: "Iptables is een firewall die standaard wordt geïnstalleerd op alle officiële Ubuntu-distributies (Ubuntu, Kubuntu, Xubuntu). Wanneer u Ubuntu installeert, is iptables daar, maar is standaard al het verkeer toegestaan. met ufw - een programma voor het gemakkelijk beheren van de iptables-firewall. " help.ubuntu.com/community/IptablesHowTo - benjaoming
Wellicht, maar als ufw == iptables (meer of minder) in Ubuntu, is het uitschakelen van ufw gelijk aan het uitschakelen van iptables. - Frederik Nielsen
sudo ufw status uitgebreid; sudo iptables -L; - user27465


Ik zou eerst controleren of het is geïnstalleerd met (waarschijnlijk is dit):

dpkg -l | grep iptables

Op Ubuntu is iptables geen service. Om het te stoppen, moet je het volgende doen:

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

Om je vorige regels te herstellen:

iptables-restore < /root/firewall.rules

Dit is overgenomen van http://www.cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux/ en werd getest op veel Ubuntu 8.X & 9.10-installaties.


29
2018-04-05 07:46



Ik weet niet waarom dit zoveel upvotes heeft, iptables is een kernelmodule. Het is nooit een "service" die kan worden "gestopt". Ze worden gebruikt om de kernel te vertellen hoe om te gaan met verbindingen. Ook in een productieomgeving mag je nooit je firewall uitschakelen. Als iets niet werkt, zoek dan de juiste oplossing, niet het gemakkelijke. - Broco


Iptables is een commando dat het geen service is, dus in het algemeen is het niet mogelijk om commando's zoals te gebruiken

service iptables start

of

service iptables stop

om de firewall te starten en te stoppen, maar sommige distro's zoals cento's hebben een service genaamd iptables geïnstalleerd om de firewall te starten en te stoppen en een configuratiebestand om het te configureren. In ieder geval is het mogelijk om een ​​service te maken om ipotables te bewerken of een script voor dit bereik te installeren. Alle services in linux, ubuntu is geen uitzondering, zijn uitvoerbare scripts in de map /etc/init.d, die een standaardinterface implementeert (starten, stoppen, opnieuw opstarten) Een mogelijk script ziet er als volgt uit:

 #!/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 

Dit script is hier onderdeel van zelfstudie, alle opdrachten voor het configureren van de firewall moeten volgens het bovenstaande script worden ingevoegd in het bestand /etc/iptables.conf. Dit script moet worden ingevoegd in een bestand met de naam iptables in /etc/init.d en maak het uitvoerbaar met

chmod+x *iptables* 

en voeg de service toe aan runlevels met behulp van

update-rc.d iptables defaults

Je kunt nieuwe regels toevoegen vanuit shell, deze regels zullen onmiddellijk actief zijn en zullen worden toegevoegd aan /etc/iptables.conf wanneer de service stopt (dit betekent dat ze zeker worden opgeslagen wanneer het systeem wordt afgesloten).

Ik hoop dat dit voor iedereen nuttig zal zijn.


16
2017-10-17 07:53





Omdat zowel iptables als ufw manieren zijn om het te beheren netfilter firewall in Linux, en omdat beide standaard beschikbaar zijn in Ubuntu, kunt u firewallregels starten en stoppen (en beheren).

iptables is flexibeler, maar omdat ufw een zeer eenvoudige interfacetaal biedt voor eenvoudige en typische functies, kunt u het volgende gebruiken:

sudo ufw disable # Om de firewall uit te schakelen

sudo ufw enable  # Om de firewall in te schakelen

Gebruik de huidige firewall-instellingen om te zien sudo ufw status verboseof iptables -L .

De Ubuntu-gemeenschap documenteert pagina's over iptablesen UFW heb veel meer info.


6
2017-07-02 22:37





Als ik me goed herinner, is de voorgestelde manier om iptables in de ubuntu-handleidingen in te stellen, om het in te stellen als onderdeel van de netwerkscripts. wat betekent dat er geen /etc/init.d/iptables script is zoals er is in BSD-stijl besturingssystemen.


3
2018-04-03 23:05



Er was in Debian Woody (Bestond Ubuntu dan?), Het wordt sowieso nog steeds geïmplementeerd door sysadmins. Waarom hebben ze dat idee veranderd?
Ik heb geen flauw idee ... maar ik herinner me dat het een van die vervelende dingen was die ik moest bedenken toen ik ubuntu-server 9.10 ofzo instelde ... omdat ik een release distro wilde die een recente postgres had en was voor servers ... anders voer ik arch linux uit. - xenoterracide


Het lijkt erop dat er verschillende manieren zijn om de firewall in Ubuntu te beheren, dus wellicht ben je geïnteresseerd in het lezen van dit: https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20startup

Als u alle huidige regels wilt verwijderen, kunt u deze opdrachten gebruiken (plaats ze in een script):

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

In normale gevallen worden uw standaard firewallregels opgeslagen in een bepaald bestand (bijvoorbeeld /etc/iptables.rules). Tijdens het opstarten van het systeemopdracht iptables-restore </etc/iptables.rules uitgevoerd om firewallregels te laden. Als u dezelfde opdracht uitvoert nadat u alle regels hebt weggehaald met behulp van bovenstaande opdrachten, heeft dit tot gevolg dat u de firewall opnieuw laadt waarnaar u hebt gevraagd.


3
2018-04-05 04:32