Hoe kan ik iptables gebruiken op centos 7?

Ik heb CentOS 7 geïnstalleerd met minimale configuratie (os + dev tools). Ik probeer poort 80 te openen voor de httpd-service, maar er is iets mis met mijn iptables-service … wat is er mis mee? Wat doe ik verkeerd?

# ifconfig/sbin/service iptables save
bash: ifconfig/sbin/service: No such file or directory
# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
# sudo service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
# sudo service iptables start
Redirecting to /bin/systemctl start  iptables.service
Failed to issue method call: Unit iptables.service failed to load: No such file or directory.

Antwoord 1, autoriteit 100%

Met RHEL 7 / CentOS 7 werd firewalldgeïntroduceerd om iptables te beheren. IMHO, firewalld is meer geschikt voor werkstations dan voor serveromgevingen.

Het is mogelijk om terug te gaan naar een meer klassieke iptables-setup. Stop en maskeer eerst de firewalld-service:

systemctl stop firewalld
systemctl mask firewalld

Installeer vervolgens het pakket iptables-services:

yum install iptables-services

Schakel de service in tijdens het opstarten:

systemctl enable iptables

De service beheren

systemctl [stop|start|restart] iptables

U kunt uw firewallregels als volgt opslaan:

service iptables save

of

/usr/libexec/iptables/iptables.init save

Antwoord 2, autoriteit 30%

. Je zou dat soort commando’s moeten gebruiken:

# add ssh port as permanent opened port
firewall-cmd --zone=public --add-port=22/tcp --permanent

Vervolgens kunt u de regels opnieuw laden om er zeker van te zijn dat alles in orde is

firewall-cmd --reload

Dit is beter dan het gebruik van iptable-save, vooral als je van plan bent om lxc- of docker-containers te gebruiken. Het starten van docker-services voegt enkele regels toe die door de iptable-save-opdracht worden gevraagd. Als u het resultaat opslaat, heeft u veel regels die NIET moeten worden opgeslagen. Omdat docker-containers de IP-adressen kunnen wijzigen bij de volgende herstart.

Firewall-cmd met permanente optie is daar beter voor.

Controleer “man firewall-cmd” of controleer de officiële firewalld-documentenom opties te zien. Er zijn veel opties om zones, configuratie, hoe het werkt te controleren… man-pagina is echt compleet.

Ik raad ten zeerste af om iptables-service te gebruiken sinds Centos 7


Antwoord 3, autoriteit 5%

Ik had het probleem dat opnieuw opstarten iptables niet startte.

Dit heeft het opgelost:

yum install iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl enable ip6tables
systemctl stop firewalld
systemctl start iptables
systemctl start ip6tables

Antwoord 4, autoriteit 5%

Probeer het volgende commando iptables-save.


5

Plaats de iptables-configuratie in het traditionele bestand en het wordt na opstarten geladen:

/ etc / sysconfig / iptables


6

Vorige maand probeerde ik eupables op een LXC VM-container te configureren, maar elke keer na het opnieuw opstarten werd de IPTABELS-configuratie niet automatisch geladen.

De enige manier voor mij om het te laten werken was door de volgende opdracht uit te voeren:

Yum -y Install IPTABLES-SERVICES; SystemCTL Uitschakelen Firewalld; SystemCTL MASK Firewalld; Service IPTABLY RESTART; Service IPTABLES OPSLAAN

Other episodes