Vraag Centos 7 sla iptables instellingen op


Probleem: iptables wordt gereset naar de standaardinstellingen nadat de server opnieuw is opgestart.

Ik probeer de regel zo in te stellen:

iptables -I INPUT -p tcp --dport 3000 -j ACCEPT

daarna doe ik:

service iptables save

en het schrijft iets als dit terug

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

en hierna rende ik gewoon (dit werd één keer gedaan):

chkconfig iptables on (Ik heb gelezen dat dit moet worden gedaan om de instellingen te herstellen na het opnieuw opstarten)

Hierna start ik opnieuw op en voer ik dit commando uit:

systemctl list-unit-files | grep iptables

en ik zie dat iptables.service is ingeschakeld, maar de regel (om poort 3000 te openen) werkt niet meer.

Hoe blijf ik met deze instellingen?


52
2017-09-05 14:04


oorsprong


Waarom heb je niet gewoon firewalld gebruikt? Het loopt waarschijnlijk nog steeds. - Michael Hampton♦
Waarschijnlijk omdat firewalld niet geschikt is voor serveromgevingen ... - Juan Jimenez


antwoorden:


CentOS 7 gebruikt FirewallD nu!

Voorbeeld:

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

herlaad regels:

firewall-cmd --reload

61
2017-09-05 14:13



enig idee waarom centos7-afbeelding van AWS AMI geen firewallD heeft. - Saad Masood
OF je kunt firewalld uitschakelen en het pakket "iptables-services" installeren om de near native iptables-compatibiliteit te bereiken :) - vagarwal
Ik probeerde het configureren van poortdoorschakeling 80 -> 8180 voor lo (--zone=trusted) met firewalld-cmd maar het werkt niet (het werkt in --zone=public) Dit doen met iptables sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8180 ; sudo /sbin/iptables -t nat -I OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8180 werkt (maar elk firewalld --reload verliest maakt dit ongedaan) - djb
@saad: omdat aws al een firewallservice biedt, kan de ami klein worden gehouden - roothahn
Het is niet! Ik heb een Centos 7 VPS besteld en deze heeft standaard iptables! De versie van het besturingssysteem: 7.5.1804 (Core) - codezombie


Schakel firewalld uit met de volgende opdracht:

systemctl disable firewalld

Installeer vervolgens iptables-service door het volgende commando te volgen:

yum install iptables-services

Schakel dan iptables in als services:

systemctl enable iptables

Nu kunt u uw iptable regels opslaan door het volgende commando te volgen:

service iptables save

57
2017-11-28 12:58





Op CentOS 7 Minimal moet u mogelijk het iptables-services pakket (dankzij @RichieACC voor de suggestie):

sudo yum install -y iptables-services

En schakel vervolgens de service in met systemd:

sudo systemctl enable iptables.service

En voer het initscript uit om uw firewallregels op te slaan:

sudo /usr/libexec/iptables/iptables.init save

19
2018-01-04 17:19





U kunt het bestand / etc / sysconfig / iptables rechtstreeks wijzigen. Laad de iptables-service opnieuw om de regels uit dat bestand opnieuw te laden. Maar zoals je al werd verteld, is firewalld het nieuwe standaard firewallsysteem voor Centos, en dit is een goede kans om te leren hoe je het moet gebruiken, vind je ook niet?


0
2017-09-05 15:29



in CentOS7 is er geen bestand / etc / sysconfig / iptables meer - roothahn
Sorry @roothahn, maar het bestaat zeker ... tenzij je sommige pakketten mist natuurlijk. Van /usr/lib/systemd/system/iptables.service kun je zien dat wat er daadwerkelijk wordt gestart "/usr/libexec/iptables/iptables.init start" is, wat het gebruikelijke oude en beste script is dat op zoek is naar het gebruikelijke oude configuratiebestand in / etc / sysconfig - stoned
Ja /etc/sysconfig/iptables bestaat ook niet voor mij. Echter, /etc/sysconfig/iptables-config bestaat. Maar het heeft geen firewalls-regels daarbinnen als het iptables bestand had eerder. - Kentgrav
Ik vond dat het bestand er niet was op een standaard, minimale installatie. CentOS 7 installeert standaard iptables.service niet, zo lijkt het. "yum install -y iptables.service" heeft de service geïnstalleerd en een standaard / etc / sysconfig / iptables voor mij gemaakt. - RichieACC
Dat zou "yum install iptables-services" moeten zijn - qris