Commandes et astuces pour l'administration système sous Linux

Gestion du pare-feu avec firewalld

Pour autoriser le service HTTP dans la zone publique de façon permanente :

sudo firewall-cmd --zone=public --add-service=http --permanent

Lister les services actifs :

sudo firewall-cmd --list-service

Cela peut afficher des services comme dhcpv6-client, http et ssh.

Vérifier l'état du pare-feu :

firewall-cmd --state

Si le résultat est "running", le pare-feu est opérationnel.

Contrôler le service firewalld via systemctl :

sudo systemctl start firewalld    # Démarrage
sudo systemctl stop firewalld     # Arrêt
sudo systemctl restart firewalld  # Redémarrage

Ouverture et fermeture des ports

Ouvrir le port 80 en TCP :

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

Ouvrir une plage de ports, telle que 8000 à 9000 :

sudo firewall-cmd --zone=public --add-port=8000-9000/tcp --permanent

Fermer un port spécifique :

sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent

Fermer une plage de ports :

sudo firewall-cmd --zone=public --remove-port=8000-9000/tcp --permanent

Appliquer les modifications immédiatement :

sudo firewall-cmd --reload

Inspection des ports et des processus

Afficher les ports en écoute avec netstat (nécessite net-tools sur CentOS 7) :

sudo yum install -y net-tools
netstat -lnpt

Identifier le processus lié à un port, par exemple 5672 :

netstat -lnpt | grep 5672

Obtenir des détails sur un processus via son PID :

ps -p 6832 -o pid,cmd

Terminer un processus de force :

kill -9 6832

Résolution des problèmes réseau avec yum

En cas d'erreur telle que "Cannot retrieve metalink to repository: epel/x86_64", éditer le fichier de dépôt :

sudo vim /etc/yum.repos.d/epel.repo

Dans ce fichier, commenter les lignes mirrorlist et activer baseurl. Puis, nettoyer et recréer le cache :

sudo yum clean all
sudo yum makecache

Mettre à jour le système avec prudence si nécessarie :

sudo yum update

Configuration de Docker et déploiement d'applications .NET

Démarrer Docker et configurer un miroir de registre :

sudo systemctl start docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-EOF
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
sudo systemctl restart docker

Exemple de Dockerfile pour une application ASP.NET Core 6.0 :

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 8080
COPY . .
ENV ASPNETCORE_URLS http://+:8080
ENV TZ=Europe/Paris
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENTRYPOINT ["dotnet", "MonApplication.dll"]

Construire et exécuter l'image Docker :

sudo docker build -t monappweb:latest .
sudo docker run -p 8080:8080 -d --restart=always --name conteneurweb monappweb:latest

Assurez-vous que l'image de base soit disponible ou tirée du registre avant le build.

Étiquettes: firewalld systemctl netstat Docker dotnet-6

Publié le 14 juin à 03h57